首页 > 博客 > MT5下单被拒的返回码与排查优先顺序

MT5故障排查EA运行

MT5下单被拒的返回码与排查优先顺序

发布日: 2026-11-06阅读时间:约 4 分钟
⏱ 本文为发布之日的信息。EA的业绩数值(PF、DD、年化)会随实盘运行与重新验证而变动,最新数值请在各EA页面确认。 查看最新EA业绩 →

结论:先看是“每次都失败”,还是“偶尔失败”

EA的订单在MT5中被拒绝时,日志里会出现类似“retcode=10030”的数字。我们这里也收到很多关于这些返回码的咨询。

先说结论。最先要看的是:拒单是每次都发生,还是只是偶尔发生。

  • 每次都失败 → 优先怀疑 10030、10013、10018。这类问题出在设置或时间段上,不修正或不避开的话,无论重试多少次都不会通过。
  • 偶尔失败 → 优先怀疑 10004、10006。这类问题由行情状况或券商一侧的判断引起,稍等一会儿有时就能通过。

属于哪一种,决定了该查哪里,也决定了处理的紧急程度。

推荐经纪商比较 →

🎁 免费下载EA

📧 免费邮件课程(共 8 封)+ 订阅者专享 MT5 指标 13 款合集

※ 严格保护隐私。可随时取消订阅。

原理:返回码是“服务器的答复”

EA发出订单后,券商服务器会判断是否受理,并用数字返回结果。成功时会返回 10009(已成交)等,失败时则返回代表拒绝原因的编号。

需要注意的是,这个编号只是服务器给出的分类,并不一定能告诉你拒单的真正原因。尤其是 10006,常常无法从日志看出券商到底判断了什么。

返回码MT5中的含义出现方式主要排查位置等待后能否通过
10018市场已休市每次(取决于时间段)交易时间、休市日开市后即可通过
10030不支持所指定的成交方式(Filling)每次EA设置、品种规格不会通过
10013请求无效多数情况下每次手数、价格、品种名不会通过
10004重新报价(价格已变动)偶尔允许滑点、时间段多数能通过
10006请求被拒绝偶尔至每次咨询券商无法判断

排查步骤:按这个顺序查

1. 10018:先看时间

这是最容易确认的,所以放在最前面。检查是否碰上了周末、节假日、年末年初,以及各品种自己的休息时段(黄金和股指在不少券商那里白天会有休息时间)。在报价窗口中右键点击品种并打开“规格”,就能看到交易时间。也请留意服务器时间与北京时间之间存在时差。如果原因是时间段,不用做任何处理,开市后就能通过。

2. 10030:对齐成交方式

不同券商、不同账户类型所接受的成交方式(FOK、IOC、Return)各不相同。如果EA使用了不被支持的方式下单,每次都会被拒。EA的输入参数中如果有类似“Filling”的选项,就按品种规格中“成交”一栏所写的方式来设置。如果没有这个选项,就需要在EA一侧修改,请联系发布方。这种情况常见于刚换到新的券商或新的账户类型之后。

3. 10013:怀疑订单内容

手数小于最小手数、手数不符合步长、品种名后缀(如“.m”“#”等)不对,这类订单内容上的错误经常触发该返回码。有时日志里也不会给出详细原因,只能一点点调整手数或品种名来逐项试。参数项的检查方法已整理在 EA设置方法 中。

4. 10004:允许滑点与时间段

这个返回码容易出现在价格变动很快的时间段,比如经济数据公布之后或清晨。如果EA有“Slippage”“Deviation”这类参数,适当调大有时可以减少出现。不过调得过大,就等于接受以不利的价格成交。如果同时存在网络延迟的问题,使用 VPS 也可能有所改善。

5. 10006:有时只能问券商

这是由券商一侧的判断造成的拒单,用户这边看不到原因。可能的情形包括账户的交易限制、品种的临时停止交易、对下单过于频繁的限制等,但具体属于哪一种,我们也无法断定。最稳妥的做法是记下日志中的时间和订单内容,向券商客服咨询。如果频繁发生,参考 券商对比 考虑换一家,也是办法之一。

局限与注意事项

  • 模拟账户中可能无法复现。 模拟账户与真实账户的成交方式不一定相同,重新报价和拒单的发生概率也可能不同。即使在模拟账户上运行正常,也不能保证在真实账户上同样能通过。
  • 反复重试有时适得其反。 10030 和 10013 即使把同一张订单再发一次也不会通过。如果EA每次被拒都重发,订单会在短时间内集中涌入,还可能因此触发券商一侧的限制。我们自家的EA只对 10004 这类临时性返回码,在限定次数内重发。
  • 被拒的那次交易不会留下记录。 回测中几乎不会出现这类拒单,所以实盘运行时成绩会因此产生偏差。这也是实盘结果与测试器结果对不上的原因之一。
  • 返回码除了这里讲的 5 个之外,还有手数无效、价格无效、保证金不足等其他编号。本文只整理了咨询较多的这 5 个。

总结

  • 先看是“每次都失败”还是“偶尔失败”
  • 每次都失败时,按 10018(时间)→ 10030(成交方式)→ 10013(订单内容)的顺序排查
  • 偶尔失败时,先看 10004(滑点、时间段),10006 则向券商咨询
  • 10030、10013 无论重发多少次都不会通过,请修正设置
  • 10006 的真正原因有时用户这边看不到,我们也无法断定
  • 即使在模拟账户上能通过,也不一定在真实账户上同样能通过

📧 免费邮件课程(共 8 封)+ 订阅者专享 MT5 指标 13 款合集

※ 严格保护隐私。可随时取消订阅。

对EA或外汇有疑问吗?

可以在Nattzy交易论坛发帖提问(免费注册)。不限于本文内容,EA设置、经纪商选择等问题也欢迎。

在Nattzy提问 ↗

评论与提问