老师,我现在编的这个程序想实现半小时和5分钟都符合条件的前提下,开多单两手。但是如何过滤只在第一次符合时发出信号?
MIN30M1:=STKINDI('IF00','myma.m1',0,4);
MA20:=MA(CLOSE,20);
MIN30REFM1:=STKINDI('IF00','myma.REFm1',0,4);
DAYC:=STKINDI('IF00','myma.C1',0,6);
MIN30C:=STKINDI('IF00','myma.C1',0,4);
DK:=MIN30M1>MIN30REFM1 AND MIN30C>MIN30M1 AND MA20>REF(MA20,1) AND EVERY(C>MA20,2);
IF DK THEN BEGIN
BUY(DK,2,THISCLOSE);
END
对了 还漏了一个 我有提前定义指标MYMA
M1:MA(CLOSE,20);
REFM1:REF(M1,1);
C1:CLOSE;
看错了,是要过滤掉第一次,这样的话弄个全局变量来记录信号出现的次数
variable:n=0;
if 条件 then n:=n+1;
if n>1 and 条件 then buy();