5均线 10均线 20均线多头排列,做多,盈利100条止盈平仓,多头排列继续成立,但是不二次开仓,
满足一个条件只开一次仓,只有多头排列走完(5均线,20均线死叉)再次多头排列继续上面的动作
请老师写写
需要明确以下几点:
1.你的多头排列如何定义的? ma5>ma10 and ma10>ma20 是这样吗?
2.平仓条件是不再符合多头排列就平仓对吧。
3.不加仓,平仓之后符合多头排列重新开仓。
MA5>MA10 AND MA10>MA20多头排列
平仓是主动止盈(OPENPROFIT>=100*MINDIFF)平仓
盈利100点止盈,多头排列趋势还在,不再次开仓
“多头排列趋势还在,不再次开仓” 后面补的这句我没能理解这个是怎样的一个逻辑。
比如说你现在符合条件止盈平仓了,如果后续又满足了多头排列的条件,就不再开仓了?如果这样的话,你这个策略岂不是只能开一次仓了吗?
所以你的意思是这样的,止盈的时候可能条件上还是满足多头排列的,但是这时候止盈平仓之后不再开仓,等到多头排列结束下次再次满足多头排列的时候再开仓是吧。
VARIABLE:lt:=0;
ma5:ma(c,5);
ma10:ma(c,10);
ma20:ma(c,20);
cd:ma5>ma10 and ma10>ma20;
if cd and lt=0 then buy(holding=0,1,market);//满足开仓条件,且lt是初始值0
if c-ENTERPRICE>=100*MINDIFF and holding>0 then
begin
lt:=if(cd,1,0); //如果平仓时候依然满足条件cd lt赋值为1,用以标记当时的状态。
sell(holding>0,holding,market);
end
lt:=if(lt=1 and cd,1,0);//平仓后如果cd不满足了,lt重置为初始状态
用全局变量控制下就行了。我测试了下,是可以的。你看下是否满足你的需求。