简单说就是以ma5上传ma60的这一点开始计算,ma2与ma30(不足30的按最大取),直到ma5下穿ma60开始下一次计算。谢谢
if cross(ma5,ma60 ) then begin
xxxxxx
end
MA1:=MA(CLOSE,N1);
MA2:=MA(CLOSE,N2);
CTL := barslast(cross(MA1,MA2) or cross(MA2,MA1))+1;
IF CTL < N3 THEN BEGIN
P1:=CTL;
END
ELSE BEGIN
P1:=N3;
END;
MA3:MA(CLOSE,P1);
IF CTL < N4 THEN BEGIN
P2:=CTL;
END
ELSE BEGIN
P2:=N4;
END;
MA4:MA(CLOSE,P2);
按您教的方法编写了这个。但是在交叉的时候计算新的MA没有清零。我希望每一次交叉都是一个新的计算周期。不计算交叉以前的数据。请指教。谢谢