ForexBestRobots.com比较 EA →

技术指南 · 外汇学习

MetaTrader 4 EA 常见错误与解决方法

诊断无法运行或不交易的 MT4 EA,提供 AutoTrading、授权、DLL、经纪商错误、报价、交易量和 VPS 问题的实用解决方法。

阅读时间:18 分钟由 ForexBestRobots 编辑团队审查
MT4 EA 故障排查决策图技术指南注重风险的实用指导

为 ForexBestRobots.com 制作的原创示意图。

EA 不交易时,应分层诊断:安装、权限、策略条件,再检查确切经纪商响应。随机更改输入可能掩盖真实问题并产生新风险。

MT4 EA 故障排查决策图
解读经纪商错误代码前,先检查权限与环境。

MT4 EA 无法运行时的初始检查

  1. 确认 EA 出现在 Navigator → Expert Advisors,并已加载到预期图表。
  2. 确认全局 AutoTrading 与 EA 的 Allow live trading 权限均启用。
  3. 核验账户、品种后缀、周期、Magic Number、市场时间与输入参数。
  4. 打开 Terminal → Experts 和 Journal,记录完整消息与数字代码。
  5. 每次只改变一个原因,再检查日志。

错误 → 含义 → 原因 → 解决方法

错误含义 / 发生原因如何解决
导航器中缺少 EA文件位于错误终端或文件夹从该 MT4 实例打开数据文件夹;将 .ex4 移至 MQL4/Experts;刷新导航器。
AutoTrading 被禁用全局或单个 EA 权限关闭启用工具栏按钮及 EA 属性中的 Allow live trading。
账户 / 授权无效登录、账户类型或绑定授权不匹配核验经纪商服务器与授权规则,联系供应商,不要绕过授权。
不允许 DLLEA 未获权限便调用外部库仅为可信且必需的 DLL 启用权限;MetaTrader 虚拟主机不能运行 DLL。
交易禁用 · 133服务器拒绝此账户或品种的交易。向经纪商核查品种交易权限与账户限制。另行诊断终端权限。
市场关闭 · 132请求工具处于不可交易时段等待经纪商交易时段,检查节假日与品种时间表。
资金不足 · 134可用保证金无法支持请求持仓降低风险/交易量,检查杠杆、保证金与现有风险敞口。
止损无效 · 130SL、TP 或挂单价格违反适用价格或距离规则。检查当前 Bid/Ask、订单方向、价格精度与 Stops Level。止损距离改变时重新计算仓位。
交易量无效 · 131手数低于最小值、高于最大值或不符合步长使用经纪商最小/最大手数与步长,规范化请求交易量。
交易上下文繁忙 · 146另一交易操作仍处理中按顺序提交请求,稍等后按有限策略重试,避免紧密循环。
无报价 · 136 / 重新报价 · 138无可执行报价,或价格已变动检查连接/点差,刷新价格,采用合理滑点逻辑。
连接问题 · 6终端失去经纪商连接确认服务器、网络、登录、防火墙与 VPS 状态;恢复前避免重复下单。

EA 正常加载,但不开仓

这未必是错误。许多 EA 等待新K线、特定时段、最大点差条件或多个指标一致。确认文档品种与周期,再查点差过滤器、交易窗口、最大订单数或新闻过滤器等日志消息。不要为强行入场而放宽所有过滤器。

区分“不交易”与“不能交易”

“未发现设置”属于策略行为;错误 133 或禁用权限属于执行阻碍,处理方法不同。

账户无效与授权无效

商业 EA 可能将密钥绑定到账户号码、经纪商、平台或最大激活数量。检查输入账户是否为向供应商登记的账户,以及授权服务器是否可达。切勿下载破解文件或关闭安全控制;应向供应商申请合法重置或激活。

不允许 DLL

部分 EA 使用外部库处理授权或附加功能。仅在文件可信且官方手册要求时启用 DLL 导入。MetaTrader 集成虚拟主机拒绝 DLL,因此仅迁移至供应商认可的兼容常规 VPS。

止损、交易量、保证金与执行错误

错误 130 — 止损无效

止损、止盈或挂单价格可能距市场过近、位于错误价格侧或未正确规范化。读取品种规格,按报价位数计算;不要通过移除保护来解决。

错误 131 — 交易量无效

按经纪商最小、最大和步长规范化手数。步长为 0.01 时,计算出的 0.013 手若未正确取整便无效;向上取整可能超过预期风险。

错误 136 和 138 — 无报价与重新报价

通常表示价格不可用或已变化。检查连接与点差,刷新报价,采用有限重试逻辑。立即反复提交可能加剧问题。

错误 146 — 交易上下文繁忙

MT4 按顺序处理交易操作。两个图表或程序流程可能冲突。EA 应等待前次操作,重新检查市场,并达到受控上限后停止重试。

VPS 同步与重复实例问题

MetaTrader 虚拟主机迁移后,配置更改不会自动重新迁移。更改图表或输入后应再次同步。对于 Windows VPS,确认终端打开、已登录且设为重启后启动。两种情况下均避免本地与远程终端同时交易相同账户/EA/Magic Number。

应向支持团队提供什么

完整错误文本与代码
MT4 构建版本与经纪商服务器
品种、周期与账户类型
Experts 与 Journal 摘录
EA 版本与输入参数集
问题开始时间

共享截图或日志前,删除密码、授权密钥与个人身份信息。

区分服务器限制与终端权限

错误 4109 表示程序不允许交易:检查 EA 的 Allow live trading 设置与全局 AutoTrading。错误 4112 表示服务器禁用自动交易。错误 133 涉及服务器交易限制。这些是不同检查;打开本地工具栏按钮不能解除经纪商限制。

错误 65 是交易服务器返回的账户无效响应。供应商“授权无效”消息则可能来自其账户绑定、订阅或激活服务。选择联系谁之前,先记录确切消息及来源。

处理不确定结果与动态止损规则

交易超时 128后,请求结果可能未知。重试前核对未平仓订单、挂单与近期历史。有订单号信息时先匹配,再核对品种、Magic Number、买卖侧、交易量和时间。若首次请求已成功,立即重复可能产生第二个订单。

Stops Level 为 0 可能意味着没有固定最小值,也可能存在动态服务器规则;不保证所有止损都获接受。Freeze Level 控制市场附近修改、取消或平仓的限制,应另行检查。不要仅为消除错误 130 就放宽止损,而不检查新的现金风险。

MQL4 错误代码 与 品种属性 定义了这些区别。

官方错误参考

数字错误说明依据 官方 MQL4 错误代码参考。经纪商实现和 EA 特定消息可能增加其他条件。