EA在数据行情里疯狂开平仓怎么办,求大佬指点

新帖
登录发帖
XM 推荐平台

覆盖品种全,新手友好,支持多种入金方式

CySEC(塞浦路斯) / ASIC(澳洲) / IFSC(伯利兹) · 最低入金 $5
zhaohong5013
zhaohong5013 楼主 1 小时前 浏览 3 回复 0 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 2 帖数 11 积分 1194 汇币 1056
1楼
昨晚非农,我的EA在MT5上直接疯了,1分钟内开了11单平了9单,账户回撤瞬间拉到8%,人都看傻了 😵
环境先说清楚:Windows 10 22H2,MT5 build 4260,EA是自己改的一个突破策略,挂在欧美M15和黄金M5两个图表上,VPS是新加坡节点,延迟大概12ms。平时跑得挺稳的,一到数据行情就出问题。
现象是这样的:数据公布那一秒,点差直接从1.2拉到快40,EA的Ask和Bid判断逻辑好像失效了,连续触发开仓条件,然后止损又被瞬间扫掉,接着又开……日志里刷了一堆 invalid stops 和 order send failed 130,还有几条 trade context busy。我一开始以为是滑点问题,把滑点从3调到10,没用。后来又加了个Spread过滤,判断点差大于5就不开仓,结果还是漏了几单,因为数据那一瞬间点差跳动太快,OnTick里读到的值和实际成交值对不上。
我也试过用Sleep(500)在数据前后暂停,但MT5里Sleep在OnTick里会阻塞整个EA,别的品种信号也一起卡住了,感觉不是正解。还试过IsTradeAllowed()和MQLInfoInteger判断,效果也一般。
现在最困惑的是:到底该在OnTick里怎么优雅地过滤掉数据行情的毛刺?是用全局变量记录上一次开仓时间做冷却,还是干脆用Economic Calendar API提前屏蔽?另外order send failed 130这个到底是止损距离问题还是点差问题,有没有大佬能给个排查思路?
求指点,这种数据行情下的重复开平仓到底怎么根治 🙏
0 回复 众裁0 复制
#1
💬
暂无回复,来抢沙发吧!
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 EA运行报错排查实录这几个细节很多人忽略