编写:比如,MA5和MA10金叉之后入场,盈利2%加仓1手,再盈利1%的话再加仓1手
提供一个用全局变量控制的范例吧:
VARIABLE:mark:=0;
ma5:ma(c,5);
ma10:ma(c,10);
jc:cross(ma5,ma10);
if jc and holding=0 then buy(1,1,market);
if mark=1 and holding>0 and (c-AvGENTERPRICE)/AvGENTERPRICE>=0.01 then //第二次加仓 这部分代码一定要在第一次加仓代码前面; 判断条件里面的holding>0是必不可少的。
begin
mark:=2;
加仓2:buy(holding>0,1,market);
end
if mark=0 and holding>0 and (c-AvGENTERPRICE)/AvGENTERPRICE>=0.02 then //第一次加仓 ; 判断条件里面的holding>0是必不可少的。
begin
mark:=1;
加仓1:buy(holding>0,1,market);
end
if cross(ma10,ma5) and holding>0 then //平仓时重置全局变量。 if判断条件里面的holding>0是必不可少的。
begin
sell(holding>0,holding,market);
mark:=0;
end
[此贴子已经被作者于2019/11/12 9:51:09编辑过]
谢谢,再麻烦编写:当总持仓盈利了5%后,价格高位回撤20%后全平
maxProfit:=(hhv(h,ENTERBARS+2)-AvGENTERPRICE);
if maxProfit/AvGENTERPRICE>0.05 and (hhv(h,ENTERBARS+2)-c)/c>=0.2 and holding>0 then
begin
回撤平仓:sell(holding>0,holding,market);
mark:=0;
end
加一段代码。