一、什么是 EA 漏单,为什么必须重视
漏单指 EA 在信号触发后未能按预期完成开仓或平仓的现象。对趋势策略来说,漏掉一次关键入场可能错过整段行情;对网格、马丁类策略来说,漏单则可能直接破坏仓位结构与风控体系,风险被成倍放大。
漏单往往不是单一原因造成的,而是网络、平台、代码逻辑多层因素叠加的结果。排查时需要从外到内逐层定位。
二、漏单的三大常见原因
1. 网络延迟与重新报价(Requote)
交易服务器响应慢、点差在新闻时段急剧扩大时,订单请求可能被服务器以重新报价或价格偏离(Deviation)为由拒绝。如果 EA 没有重试机制,这次信号就白白流失了。
2. 价格过滤与滑点设置过严
不少 EA 在下单函数中写死了极小的滑点容差。行情剧烈波动时,实际成交价略微超出容差,订单即被拒绝——表象就是"有信号、无订单"。
3. 信号条件的边界跳变
当信号条件恰好在临界值附近反复横跳(如均线穿插、指标值在阈值上下抖动),如果代码用"状态覆盖"而非"状态锁存"来处理信号,前一周期的有效信号可能被下一周期的反向信号直接覆盖,造成事实上的漏单。
排查建议:先开启 MT5 日志(Journal + Experts 标签页)定位被拒订单的错误码,再对照上表逐层排查——错误码会直接告诉你漏单发生在哪一层。
三、开发层面的解决方案
- 重试机制:下单失败后按退避策略自动重试 2-3 次,重试前重新获取最新报价;
- 滑点容错:将 Deviation 设置为品种自适应(依据 ATR 或历史波动率动态调整),而非写死固定值;
- 信号锁存:用状态机管理信号生命周期(触发 → 挂起 → 成交 / 失效),避免边界跳变覆盖有效信号;
- 断线自愈:检测连接状态,恢复后核对仓位与信号的一致性,自动补齐缺失动作;
- 日志留痕:每一次信号触发、下单请求、被拒原因都写入日志,问题可回溯。
四、自己修不了怎么办
如果你使用的 EA 没有源码、或原开发者已失联,可以把 EA 文件 + 漏单发生时段的日志发给我们评估。EA 优化修复是我们的一项核心业务,擅长处理漏单、重复开仓、闪退等实盘疑难问题,修复后附 30 天免费售后。若问题源于策略本身逻辑缺陷,也可以通过 EA 定制开发 重写一套更稳健的版本。
常见问题
常见原因包括网络延迟与重新报价、价格偏离过滤过严、信号条件在边界处跳变、以及市场关闭时段下单失败等,需要逐层排查。
可以。通过重试机制、滑点容错、条件锁存等开发手段可以显著降低漏单率,提供 EA 文件或源码即可评估修复方案。