EA运行异常怎么排查:先保留MT4日志,再改设置
区分Experts与Journal,保留异常现场,核对触发、权限与成交结果,避免重启和修改参数掩盖真正原因。
作者:托马斯|EA与平台实务|2026年10月5日
EA突然没有交易、出现重复订单,或重启后表现与预期不同,最容易发生的错误是马上改参数、重装程序,再去猜问题在哪里。这样可能把最有价值的现场信息覆盖掉。排查应先保存证据,再区分程序、终端与账户层面的原因。
先保存异常发生前后的记录
记录异常出现的时间、完整交易品种、图表周期、EA版本、参数文件和当时账户持仓。这里的时间必须注明使用的是电脑时间、交易服务器时间还是自行换算的北京时间,不要把不同时钟的记录直接拼接。
日志不一定包含程序的全部决策过程。开发者没有输出的信息,不能仅凭“没有报错”推断执行正常。保留前后连续记录比单张报错截图更有助于判断事情的顺序;公开或发送给支持人员前,先检查是否含账号、个人信息或其他敏感内容。
Experts与Journal,分别看什么
MT4的Experts标签主要呈现已挂载EA的运行信息,包括程序自己的消息以及相关操作记录。Journal标签侧重客户端终端在当前会话中的活动。排查同一个异常时,可以对照两处信息,但不要把其中任意一处当成完整的成交凭证。
在对应标签的右键菜单中使用Open,可以打开相关日志目录并将当前显示记录写入日志文件。官方帮助说明,EA日志位于终端数据目录下的MQL4/LOGS,终端日志位于LOGS;文件通常按日期命名。不同安装实例的数据目录可能不同,应从正在使用的终端进入,避免误拿另一套终端的文件。
先判断:没触发,还是触发后没成交
“没有新订单”至少可能对应几种不同状态:策略条件未满足;程序没有正常加载;自动交易权限受限;交易请求被拒绝;请求结果与预期不同。只看到图表上的程序标识,不能直接判断属于哪一种。
先根据策略原有规则,确认在指定品种和周期上是否真的应该触发。再查看相关时段是否有加载、初始化或交易操作信息。如果存在交易请求,对照返回消息和账户订单记录核实结果,不能只凭程序打印的文字认定成交成功。若日志缺少关键步骤,应向开发者提出补充记录需求。
权限检查要逐项对应,不要全开
MT4终端设置与EA自身的属性会影响自动交易权限;更换账户、图表品种或周期等操作,也可能与终端的自动交易设置有关。核对当前实际设置,并结合程序说明判断预期行为,不能靠反复点击按钮代替排查。
不要为了让程序开始交易,就无条件开放DLL调用或其他外部访问。先确认程序是否确实需要相应能力、来源是否可信、用途是否说明清楚。权限不足可能是某一环节的原因,但开放全部权限并不是可靠的解决方法。
重启之前,先确认现有持仓如何处理
保留当前订单、挂单和程序状态后,再决定是否重启。重新启动程序是否会识别已有订单,取决于具体实现;不能假定每个EA都能自动恢复原来的内部状态。尤其是带加仓或多订单管理逻辑的程序,重复启动可能与已有仓位发生冲突,需要依据程序规则核对。
关闭自动交易不等于已有仓位已经平仓,也不能把“程序暂停”理解为风险消失。现有订单的处理方式应提前制定,不能在出现异常后临时猜测。怀疑程序正在制造异常订单时,按既定暂停和人工检查流程处理,同时核实账户上的实际敞口。
用单一变化检验修复结果
模拟环境可以用于复现操作与检查程序行为,但不能证明实盘成交条件完全相同。每次只改变一个明确因素,并保留修改前后的参数与日志,再观察相关异常是否消失。若同时换版本、改参数和换账户,往往难以确定哪一步产生了作用。
一份有效的排查记录应写明现象、时间、证据、修改内容和复查结果。无法解释的异常应继续向开发者或平台支持核查,不用“已经恢复交易”代替原因分析,也不把技术修复写成盈利保证。
杠杆交易可能造成重大损失。本文用于运行维护知识分享,不构成买卖指令。日志排查可以帮助定位问题,但不能保证程序安全、策略有效或未来收益。