variable:n=0,hh=0,cs=0;
ma60:=ma(c,60);
if n=0 and cross(c,ma60) then begin//只有当n=0时才开始记录超过多少点,以后即使上穿也不再记录
n:=1;
hh:=h;//记录最高价当根K线最高价
cs:=c;//记录当时的初始CLOSE
end
if h>hh then hh:=h;
//K线上穿MA60超过100跳:hh>cs+100*mindiff
//回落50跳:low<hh-50*mindiff
if hh>cs+100*mindiff and low<hh-50*mindiff then
begin
.....//出信号,开平仓语句
n:=0;
end
重点是用全局变量来记录变化的状态
用了3个全局变量
N来代表是否有上穿
N=0的时候表示第一次上穿,这个时候记录当时的H,
cs是不变的记录当时上穿时的CLOSE,
HH是变化的,记录上穿之后的最高价
所以HH>KK+100*MINDIFF表示的是上涨了100跳,然后low<hh-50*mindiff 表示又回落了50点
然后这个时候标记N重置为0,再有上穿的时候,系统就会重复上面的步骤
然后这个时候标记N重置为0,再有上穿的时候,系统就会重复上面的步骤
也就是在这段代码后,写上“IF N=0 AND 其他开仓条件 then........”即可,是吗
那如何将这一大段代码加入开仓条件中呢
是这样吗
if hh>kk+100*mindiff and h<hh-50*mindiff AND 其他条件 then buy();
n:=0;
比如之前说的两个条件加上另一个条件A,那么就buy,应该怎么写呢
if hh>cs+100*mindiff and low<hh-50*mindiff and 条件A then BEGIN
BUY(HOLDING=0,1,MARKET);
n:=0;
END