昨晚盯盘盯到三点,越想越不对劲,这个问题真的卡我很久了。
我用MT5写了个简单的双向挂单EA,思路是欧美现价上下各挂20点的buy stop和sell stop,想着不管往哪边突破都能吃到一波。结果实盘跑了两周发现,经常一边成交了,另一边还挂着,行情回头的时候又给我成交了,活生生变成两边挨打。更邪门的是有时候同一根K线里多空两单都进场了,止损全被扫掉,账户直接回撤8%。
我试过几个办法:加了个成交后自动删除反向挂单的逻辑,但偶尔延迟,还是会出现双开;又试过用[url=]OrderSend[/url]前判断持仓数量,可EA重启之后状态就乱了,感觉是全局变量没存住。日志里偶尔还蹦出 “invalid stops” 和 “trade context busy”,改了好几次代码都没彻底解决。现在有点怀疑是不是MT5的净持仓账户模式下根本不适合这种双向挂单思路,还是说我订单管理那块写得太糙了。
说实话我EA基础都是论坛里翻帖学的,订单池和魔术号这块一直没搞太明白,也不太确定多空同时挂着到底算不算常规做法。有没有做过多币种双向策略的朋友说说,你们是怎么处理反向挂单和持仓同步的?是不是该换成hedging账户模式?真心求个思路,先谢过了 🙏
我用MT5写了个简单的双向挂单EA,思路是欧美现价上下各挂20点的buy stop和sell stop,想着不管往哪边突破都能吃到一波。结果实盘跑了两周发现,经常一边成交了,另一边还挂着,行情回头的时候又给我成交了,活生生变成两边挨打。更邪门的是有时候同一根K线里多空两单都进场了,止损全被扫掉,账户直接回撤8%。
我试过几个办法:加了个成交后自动删除反向挂单的逻辑,但偶尔延迟,还是会出现双开;又试过用[url=]OrderSend[/url]前判断持仓数量,可EA重启之后状态就乱了,感觉是全局变量没存住。日志里偶尔还蹦出 “invalid stops” 和 “trade context busy”,改了好几次代码都没彻底解决。现在有点怀疑是不是MT5的净持仓账户模式下根本不适合这种双向挂单思路,还是说我订单管理那块写得太糙了。
说实话我EA基础都是论坛里翻帖学的,订单池和魔术号这块一直没搞太明白,也不太确定多空同时挂着到底算不算常规做法。有没有做过多币种双向策略的朋友说说,你们是怎么处理反向挂单和持仓同步的?是不是该换成hedging账户模式?真心求个思路,先谢过了 🙏
