我的公式里有这么一段:
MA1:MA(CLOSE,N1);
MA2:MA(CLOSE,N2);
开多1: buy(CROSS(MA1,MA2),1,nextopen);
开多2: sellshort(CROSS(MA1,MA2),1,nextopen);
开空1: buyshort(CROSS(MA2,MA1),1,nextopen);
开空2: sell(CROSS(MA2,MA1),1,nextopen);
而我想要的结果是,当MA1上穿MA2时,开仓买多一手;然后等MA1下穿MA2时,反手一手。如果在测试期间里,MA1先下穿MA2,则开仓卖空一手;等MA1上穿MA2时,反手一手。
我有点讲不太明白了。反正就是无论上穿还是下穿,我都想要它执行买卖指令。手头有货就反手,手头没货就按上穿买下穿卖的规则执行。
一开仓就停不下来了,一直反手操作。
我这个公式能达到这种效果吗?我有点怀疑。因为它有点重复,我不知道哪个优先。请高手指点一下,谢谢!
平空: sellshort(CROSS(MA1,MA2),1,nextopen);
开多: buy(CROSS(MA1,MA2),1,nextopen);
平多: sell(CROSS(MA2,MA1),1,nextopen);
开空: buyshort(CROSS(MA2,MA1),1,nextopen);
顺序要改成这样
非常感谢老师解答。虽然还是不明白这个顺序有什么重要性,但现在在图形上出现的已经是多空都有连线标识了。原来只有一种,要么全显示多,要么全显示空。
我这个公式在图形里显示总是在出现信号的当天进行操作。而我的本意是出现信号的次日开盘价操作。为什么会这样呢?我是用的nextopen,难道不对吗?
代码里面只能体现出价位,而不会去判断下单时间
如果你是在日线上操作然后希望次日下单的,用走完k线模式去下单