外汇EA加载到图表但不开单,不能仅凭“图标出现了”判定程序正常,也不能仅凭“没有订单”认定故障。先区分三种情况:未正常运行、没有触发信号、已经发单但被拒绝。所有排查先在模拟环境进行,不通过增大手数、取消风控或实盘强行下单来测试。
先取一段有时间对应关系的日志
在 MT4 打开“终端”,在 MT5 打开“工具箱”(Windows通常 Ctrl+T),查看“专家/EA交易”和“日志”。先记下加载时间,再找预期触发附近的记录;测试器内的日志与实时图表的日志应分开。没有错误行时如实记录,不要编造错误码。
给每次测试记四项:时间、做过的操作、看到的现象、对应日志。公开分享时只提供必要片段,并遮盖账号、服务器敏感信息和授权码。
情况一:程序没有正常运行
核对文件与 MT4/MT5 是否匹配、图表中的 EA 名称、初始化提示、账户连接、授权期限及必要依赖。打开底部“专家 / EA交易”和“日志”查看加载时的记录,不只看图表上的图标。不同语言与版本的标签名称可能不同。
平台总的算法交易开关与该 EA 的交易许可是两层设置。发现禁用时,先确认这是否是你主动保留的安全限制,再决定是否仅在模拟测试中开启。不要为了运行来历不明的程序而放开 DLL。
界面参考:MT5 官方自动交易开关及 EA 运行状态对照示例(打开官方原图)。点击可查看官方状态示例。
图源:MetaQuotes 官方EA控制说明。仅用于识别界面状态,不是本站客户账户或某款 EA 已经成功下单的证明。
情况二:运行正常,但条件没有满足
按这个文件版本的说明核对品种全名及后缀、图表周期、交易时间、时区、点差限制、持仓数量、风险限制和信号条件。逐项记录当前值,不要套用别的 EA 参数。若程序没有输出信号判断日志,仅凭“日志没报错”也不能断言策略已触发;需要作者说明或源码定位。
情况三:确实发单,但服务器拒绝
找到同一时间的报错原文、品种和请求参数,再按平台识别错误码。下面是常见交易返回码,不涵盖全部运行错误。
| 错误含义 | MT4 | MT5 | 下一步检查 |
|---|---|---|---|
| 交易量无效 | 131 | 10014 | 合约最小量、步长与最大量 |
| 止损止盈无效 | 130 | 10016 | 方向、报价精度、最小距离和价格计算 |
| 休市 | 132 | 10018 | 该品种的交易时段及服务器时间 |
| 禁止交易 | 133 | 10017 | 账户或品种交易权限 |
| 保证金不足 | 134 | 10019 | 模拟测试的资金、合约与风险设置,不因此催促入金 |
| 自动交易被禁用 | 以具体错误文本为准 | 10026 / 10027 | 分别核对服务器端 / 客户端限制 |
MT4 与 MT5 不能混用编号。完整依据:MQL4 交易返回码、MQL5 交易返回码。
什么时候才算问题已定位
记录“原报错 → 修改的一个条件 → 复测时间 → 同一检查点的结果”。如果只是尚无信号,应写“等待条件,未验证下单”,不要写“已修复”。即使模拟订单成功,也不证明策略盈利或实盘兼容。
继续在原帖提供:EA名与版本、MT4/MT5、品种周期、参数截图、加载和预期开单时附近的错误行。公开截图务必遮盖账号、余额、订单号和授权码。
相关教程:EA安装与回测记录 · 文件复制后找不到 · 指标参数入口。
本课自查: 没有订单时,先说明属于哪一种情况、依据是哪一条日志;尚未定位时写“待确认”。错误码与平台说明核对:2026年10月26日。