EA 不交易时,应分层诊断:安装、权限、策略条件,再检查确切经纪商响应。随机更改输入可能掩盖真实问题并产生新风险。
MT4 EA 无法运行时的初始检查
- 确认 EA 出现在 Navigator → Expert Advisors,并已加载到预期图表。
- 确认全局 AutoTrading 与 EA 的 Allow live trading 权限均启用。
- 核验账户、品种后缀、周期、Magic Number、市场时间与输入参数。
- 打开 Terminal → Experts 和 Journal,记录完整消息与数字代码。
- 每次只改变一个原因,再检查日志。
错误 → 含义 → 原因 → 解决方法
| 错误 | 含义 / 发生原因 | 如何解决 |
|---|---|---|
| 导航器中缺少 EA | 文件位于错误终端或文件夹 | 从该 MT4 实例打开数据文件夹;将 .ex4 移至 MQL4/Experts;刷新导航器。 |
| AutoTrading 被禁用 | 全局或单个 EA 权限关闭 | 启用工具栏按钮及 EA 属性中的 Allow live trading。 |
| 账户 / 授权无效 | 登录、账户类型或绑定授权不匹配 | 核验经纪商服务器与授权规则,联系供应商,不要绕过授权。 |
| 不允许 DLL | EA 未获权限便调用外部库 | 仅为可信且必需的 DLL 启用权限;MetaTrader 虚拟主机不能运行 DLL。 |
| 交易禁用 · 133 | 服务器拒绝此账户或品种的交易。 | 向经纪商核查品种交易权限与账户限制。另行诊断终端权限。 |
| 市场关闭 · 132 | 请求工具处于不可交易时段 | 等待经纪商交易时段,检查节假日与品种时间表。 |
| 资金不足 · 134 | 可用保证金无法支持请求持仓 | 降低风险/交易量,检查杠杆、保证金与现有风险敞口。 |
| 止损无效 · 130 | SL、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。
应向支持团队提供什么
共享截图或日志前,删除密码、授权密钥与个人身份信息。
区分服务器限制与终端权限
错误 4109 表示程序不允许交易:检查 EA 的 Allow live trading 设置与全局 AutoTrading。错误 4112 表示服务器禁用自动交易。错误 133 涉及服务器交易限制。这些是不同检查;打开本地工具栏按钮不能解除经纪商限制。
错误 65 是交易服务器返回的账户无效响应。供应商“授权无效”消息则可能来自其账户绑定、订阅或激活服务。选择联系谁之前,先记录确切消息及来源。
处理不确定结果与动态止损规则
交易超时 128后,请求结果可能未知。重试前核对未平仓订单、挂单与近期历史。有订单号信息时先匹配,再核对品种、Magic Number、买卖侧、交易量和时间。若首次请求已成功,立即重复可能产生第二个订单。
Stops Level 为 0 可能意味着没有固定最小值,也可能存在动态服务器规则;不保证所有止损都获接受。Freeze Level 控制市场附近修改、取消或平仓的限制,应另行检查。不要仅为消除错误 130 就放宽止损,而不检查新的现金风险。
官方错误参考
数字错误说明依据 官方 MQL4 错误代码参考。经纪商实现和 EA 特定消息可能增加其他条件。