VARIABLE:ct1:=1,ct2:=1;//全局变量统计开仓次数 ma10:ma(c,10); ma20:ma(c,20); ma120:ma(c,120);
majc:cross(ma10,ma20); masc:cross(ma20,ma10);
by1:majc and c>ma120; sl1:c<ma120;
if by1 and holding=0 //首次开仓 then begin buy(holding=0,1,market); ct1:=ct1*2; end
if by1 and holding>0 and ct1<=8 and ENTERBARS>0 then //加仓 begin buy(holding>0,ct1,market); ct1:=ct1*2;//使用全局变量来记录加仓次数,同时生成下次开仓的手数值 end
if c<ma120 and holding>0 then begin ct1:=1;//平仓是重置全局变量 sell(holding>0,holding,market); end
by2:masc and c<ma120; sl2:c>ma120; if by2 and holding=0 then begin buyshort(holding=0,1,market); ct2:=ct2*2; end
if by2 and holding>0 and ct2<=8 and ENTERPRICE>0 then begin buyshort(holding>0,ct2,market); ct2:=ct2*2; end
if c>ma120 and holding<0 then begin ct2:=2; sellshort(holding<0,holding,market); end
提供以上范例,请在理解代码含义的基础上进行自定义修改,代码里有部分注释,如有不明确地方请跟帖询问。
|