MT5中EA不运行、不进场的原因及解决方法
目录
- ① EA未启动(不出现笑脸标志)
- 1-1. 自动交易(AutoTrading)处于OFF状态
- 1-2. EA未正确加载到图表上
- 1-3. 未设置WebRequest许可网址(带授权验证的EA)
- 1-4. 账户或交易品种不受支持,导致INIT_FAILED
- ② 已启动但不进场(笑脸标志已出现却不交易)
- 2-1. 目前尚未出现交易信号(正常现象)
- 2-2. 因过滤条件而暂停开新仓
- 2-3. 因保证金不足导致下单被拒绝
- 2-4. 市场休市/未收到报价
- 2-5. 手数计算结果为0或低于最小手数
- 排查清单
- 总结
- 常见问题
- Q:笑脸标志已经出现,但一次都没有进场,是不是坏了?
- Q:出现了"WebRequest is not allowed"提示。
- Q:在VPS上运行时,重启后EA就停止了。
- Q:回测时能正常交易,但实盘却不交易。
MT5中EA不运行、不进场的原因及解决方法
把EA加载到图表上却毫无反应——遇到这种情况,首先要区分清楚是 "①EA根本没有启动" 还是 "②已经启动但不进场",这样就能一步步接近真正的原因。判断方法很简单。
查看图表右上角EA名称旁边的标志。
- 😐 笑脸标志 = EA已正常启动 → 转到②
- ✖ 或 🚫,或什么都没有 = EA未启动 → 转到①
本文将按发生频率从高到低,依次给出①②两种情况的解决方法。如果出现了具体的错误代码,请同时参考MQL5 / MT5错误代码处理完全指南;如果是ERR_NO_MONEY,请参考彻底解决ERR_NO_MONEY(MT5/MQL5)。
① EA未启动(不出现笑脸标志)
1-1. 自动交易(AutoTrading)处于OFF状态
这是最常见的原因。即便图表上出现了笑脸标志,只要工具栏的**"自动交易"按钮显示为红色(OFF)**,EA就不会进行交易。
解决方法:
- 点击MT5顶部工具栏的"自动交易"按钮,使其变为绿色(ON)
- 依次打开 工具 → 选项 → 智能交易系统,勾选**"允许算法交易"**
- 确认图表右上角显示为 😐(笑脸)
在VPS重启后或MT5自动启动时,该按钮经常会恢复为OFF状态。
1-2. EA未正确加载到图表上
在导航器(Ctrl+N)的"智能交易系统"列表中,是否已将EA双击或拖拽到图表上,并在弹出的对话框中点击了"确定"?存在编译错误的EA是无法加载的。请在MetaEditor中打开该EA,执行编译(F7),并确认错误数为0。
1-3. 未设置WebRequest许可网址(带授权验证的EA)
这是包括fxea365的EA在内、需要进行服务器验证的EA中尤为常见的问题。 涉及授权验证或外部通信的EA,如果访问的网址未获许可,WebRequest()就会被拦截,并导致OnInit阶段直接停止运行。
解决方法:
- 打开 工具 → 选项 → 智能交易系统 选项卡
- 勾选"允许WebRequest访问以下网址"
- 在列表中添加EA所需的网址(fxea365的EA需添加
https://fxea365.com),然后重新启动EA
如果在"专家"选项卡中看到"WebRequest is not allowed"或授权错误信息,就是这个原因。许可设置完成后,若日志中出现[License ✅ 认证OK],即表示设置成功。
1-4. 账户或交易品种不受支持,导致INIT_FAILED
- 带授权验证的EA如果不是在已注册的账户上运行,会因
INIT_FAILED而停止(fxea365的EA需先在官网注册账户号后才能启动)。 - 部分EA在加载到非预期的交易品种上时会弹出警告(例如把黄金专用EA加载到EURUSD上)。
② 已启动但不进场(笑脸标志已出现却不交易)
如果笑脸标志已经出现,但一直没有新开仓,绝大多数情况下并非故障,而是"EA判断当前不满足进场条件"的正常状态。请按以下顺序逐一排查。
2-1. 目前尚未出现交易信号(正常现象)
EA会在每个报价(tick)时评估"条件是否已经满足",只有在条件成立时才会开仓。对于使用H1周期的EA而言,一天出现1〜3次交易信号属于正常频率。如果"专家"选项卡中出现类似以下的日志,说明EA正处于正常的等待状态。
No signal on this bar. ATR=12.4, EMA(50)=1998.23
⏳ Wait for next bar
即使数小时甚至一整天没有新开仓,也并不代表异常。建议先通过**回测(策略测试器)**确认EA在相同时间段内是否会进行交易,以此判断究竟是"EA出现故障",还是"当前行情尚未满足进场条件"。
2-2. 因过滤条件而暂停开新仓
很多EA出于安全考虑会自动跳过新开仓。此时"专家"选项卡的日志中通常会显示具体的跳过原因。
| 日志示例 | 原因 | 解决方法 |
|---|---|---|
⏸新闻停止 / News filter | 规避重要经济指标发布前后的时段 | 指标公布后会自动恢复(属于正常现象) |
Spread too high | 点差超过设定上限 | 检查MaxSpread设置/指标发布时属正常现象 |
Margin level too low | 保证金比例低于下限 | 追加入金 或 降低手数(参见ERR_NO_MONEY) |
Outside trading hours | 触发交易时间过滤条件 | 检查TradeStartHour/EndHour设置 |
Max positions reached | 已达到最大持仓数量 | 平掉部分持仓 或 调整持仓上限 |
以上均属于按设计运行的保护机制,并非故障。
2-3. 因保证金不足导致下单被拒绝
尝试进场时,因ERR_NO_MONEY(134/10019)而被服务器拒绝的情况。常见原因包括手数相对于账户余额过大、杠杆倍数过低,或现有持仓已占用了大量保证金等。详情请参考彻底解决ERR_NO_MONEY。
2-4. 市场休市/未收到报价
在周末、节假日,或交易品种的非交易时段内无法进场(Market closed)。请检查买价/卖价(Bid/Ask)是否在正常更新,以及MT5底部的连接状态图标是否显示为绿色。
2-5. 手数计算结果为0或低于最小手数
在使用按风险百分比自动计算手数的模式下,如果账户余额过小,计算出的手数可能达不到最小手数(0.01),从而导致无法下单。可以改用固定手数,或重新考虑账户类型(如美分账户等)。
排查清单
| 检查项 | 正常状态 |
|---|---|
| 图表右上角的EA显示 | 😐 笑脸(=启动正常) |
| 工具栏"自动交易"按钮 | 绿色(ON) |
| 选项→智能交易系统→允许算法交易 | 已勾选 |
| WebRequest许可网址(授权验证类EA) | 已添加EA所需的网址 |
| 在MetaEditor中编译 | 错误数为0 |
| "专家"选项卡 | 无报错,只有跳过原因 或 显示License ✅ |
| 账户・交易品种 | 已注册账户・预期交易品种 |
| 保证金 | 可用保证金 > 所需保证金 |
按以上顺序逐项排查,几乎可以解决所有"不运行/不进场"的问题。
总结
- 首先根据 是否出现😐笑脸标志,区分"未启动"还是"已启动"。
- 未启动=自动交易OFF・存在编译错误・WebRequest未许可・账户未注册中的某一种情况。
- 不进场=大多数情况是等待信号 或 因过滤条件而正常跳过。仅当出现具体报错时,才需要参考错误代码指南、ERR_NO_MONEY进行处理。
关于具体的安装步骤,请参考MT5安装EA完全指南;如果想寻找可用小资金稳健运行的免费EA,请查看EA一览。如果检查完设置后问题仍未解决,请附上"专家"选项卡的日志截图联系客服。
常见问题
Q:笑脸标志已经出现,但一次都没有进场,是不是坏了?
大多数情况下属于正常现象。EA只会在条件满足时才开仓。建议先通过回测确认同一时间段内EA是否会交易,并查看"专家"选项卡中是否显示跳过原因(如新闻停止、点差超限等)。只要没有报错、只是显示跳过原因,就说明一切按设计运行。
Q:出现了"WebRequest is not allowed"提示。
请在 选项→智能交易系统 的"允许WebRequest访问以下网址"中添加EA所需的网址(fxea365的EA需添加https://fxea365.com),然后重新启动EA。对于涉及授权验证或使用外部数据的EA,这是必须完成的设置。
Q:在VPS上运行时,重启后EA就停止了。
MT5自动启动时,"自动交易"按钮有时会恢复为OFF状态。请在重启后确认该按钮是否为绿色,以及选项中的"允许算法交易"是否处于启用状态。
Q:回测时能正常交易,但实盘却不交易。
这通常是因为实盘账户的点差、杠杆、账户类型、交易时段与测试时的设置不同。请依次检查过滤条件(点差上限、交易时段)、保证金状况,以及市场是否处于开市状态。
相关文章
📧 涨价预告 + 免费5天邮件课程
所有EA目前均为首发价,并将随销量阶梯式上调。在每次涨价前收到通知,另有每日一封邮件:自动交易本质、正确解读回测、券商选择技巧。
※ 严格保护隐私。可随时取消订阅。