文件后缀不是转换器
MQL4 源码与编译产物通常是 .mq4 / .ex4,MQL5 是 .mq5 / .ex5。改扩展名不会转换交易 API、指标调用或事件处理逻辑。生成或修改前指定目标平台,检查实际下载文件与任务对应关系。
公开目录同时有 MT4 与 MT5 资料,但本轮原生研究证据来自 MT5。MT4 资料可供检索,不应从另一平台的实验推断 MT4 已编译、已成交或已验证收益。
订单、成交与持仓分开核对
MT5 区分 orders、deals 和 positions;一个订单可能多次成交,一笔持仓也可能分批退出。不要把成交明细行数直接当作完整平仓交易数量。MT4 的订单管理路径不同,迁移时要明确选择、修改和平仓对象。
MT5 净持仓账户会合并同品种头寸,对冲账户允许独立头寸;“最多一笔”“反向平仓”“加仓”在两种模式下含义不同。账户模式要显式检查,Magic 标识和品种过滤也不能代替完整持仓规则。
指标读取与初始化独立验证
MQL5 常用指标句柄与 CopyBuffer 取得数据,需检查句柄、缓冲区和已计算柱数;不要机械替换 MQL4 的数值调用。信号使用当前柱还是已收盘柱、新 K 线判断及预热窗口必须一致。初始化失败或依赖缺失不能标成有效零成交。
迁移是新版本,不沿用旧结论
保留原平台源码与参数,列出交易 API、仓位模式、指标、时间和成本的差异。迁移后重新编译,并在可对照的测试配置下核对信号和成交;由于行情及平台模型不同,收益差异需解释,不能要求数值必然相同。
公开研究的 sourceHash 与 configId 绑定具体版本和测试。平台迁移后的文件不能继承原版的编译或回测证据;本指南不提供自动迁移验收或实盘许可。