参考下面的范例, 需要用全局变量去控制。在止盈和常规平仓的条件下进行全局变量的控制。
VARIABLE:mark:=0;
ma5:ma(c,5);
ma10:ma(c,10);
ma20:ma(c,20);
kdcd1:=cross(ma5,ma10);//多头开仓
kdcd2:=cross(ma10,ma5);//多头平仓
kkcd1:=cross(ma20,ma10);//空头开仓
kkcd2:=cross(ma10,ma20);//空头平仓
dtzy:=(c-AvGENTERPRICE)/AVGENTERPRICE>=0.02;//多头止盈条件
ktzy:=(AvGENTERPRICE-c)/AVGENTERPRICE>=0.02;//空头止盈条件
if dtzy and holding>0 then
begin
多头止盈:sell(holding>0,holding,market);
mark:=1;//重置全局变量为1
end
if ktzy and holding<0 then
begin
空头止盈:sellshort(kkcd2 and holding<0,holding,market);
mark:=-1;//重置全局变量为-1
end
if kdcd2 and holding>0 then //普通平仓
begin
sell(1,holding,market);
mark:=0;//普通平仓情况下全局变量重置为0
end
buy(kdcd1 and holding=0 and mark<=0,1,market);
if kkcd2 and holding<0 then //普通平仓
begin
sellshort(1,holding,market);
mark:=0;//普通平仓情况下全局变量重置为0
end
buyshort(kkcd1 and holding=0 and mark>=0,1,market);
[此贴子已经被作者于2020/4/10 13:31:59编辑过]