转换的是规则,不是图上箭头
指标转 EA 是把可读取、可解释的指标输出与入场、退出、仓位规则连接起来。自定义指标 EA 需要明确哪一个缓冲表示什么、何时信号稳定、同一信号能否重复交易。图上箭头可能来自当前柱、重绘历史或图形对象,不能直接当作已收盘的稳定信号。
只有编译文件时,先确认接口与授权
不承诺从 .ex4 或 .ex5 还原源码,也不通过反编译绕过作者权限。有权使用且提供调用接口的编译指标可能通过目标平台 iCustom 读取,但是否可读、能否在测试器使用、是否依赖 DLL 或许可验证必须逐项确认。源码授权、指标使用权与衍生 EA 的分发权不能混为一谈。
缓冲区与依赖要按平台核对
MQL4 的 iCustom 可按输入、缓冲索引与柱偏移读数;MQL5 的 iCustom 通常取得句柄,再用 CopyBuffer 读取指定缓冲。检查文件路径、参数顺序和类型、句柄、预热历史及实际复制数量;数据未就绪时跳过交易,不把缺失值当成信号。
区分 EMPTY_VALUE、零值、方向编码与真正价格值。如果箭头是图形对象而非指标缓冲,需明确另一个可靠的读取接口,不能猜 buffer 0 就是买入。MQL5 CopyBuffer 的 start_pos=0 指当前柱;选择已收盘柱也不能自动保证该指标今后不重绘。
记录信号当时可见,而非事后补画
对同一根已收盘柱,在后续多个时刻保存缓冲值并检查是否变化;核对指标是否依赖尚未收盘的高周期柱、未来柱确认或事后拐点。历史图上留下的漂亮箭头不证明当时已可用于开仓。发生重绘时应按实际可知时刻定义规则,不能把确认后箭头回填的时间当成成交时点。
双缓冲指标需求示例
以下是假设接口已获授权的规则示例,不是已读取真实指标或已执行回测的证据;缓冲索引必须以实际指标接口为准。
平台:MT5;指标:CustomSignal,输入及路径按授权说明
接口假设:buffer 0 买入,buffer 1 卖出;EMPTY_VALUE 无信号
时机:新 M15 柱开始后读取上一根柱;数据未就绪不交易
冲突:同一柱双向信号均有值时不交易,记录原因
防重复:以品种、周期、信号柱时间记录已处理信号
退出/仓位:单笔持仓、固定止损,不加仓;数值另按品种确定先验证读取,再验证交易
用日志比对指标数据窗口、读取值和信号柱时间,先证明 EA 读对了信号。再补齐反向信号处理、止损止盈、交易时段、持仓标识和重启后去重;只看到 EA 开单不能证明转换等价。最后固定指标版本、EA 源码和参数独立回测,重绘检查与模拟观察另外留证。
- 确认使用授权、目标平台、指标文件及所有依赖。
- 建立输入与缓冲说明,标明当前柱、收盘柱和高周期数据时机。
- 在不下单的读取阶段保存信号日志,对照真实接口并检查重绘。
- 补齐交易与风险规则后生成 EA,检查编译、初始化和信号对应成交。
指标转 EA 常见问题
只有 ex4/ex5 能保证转换并还原源码吗?
不能保证,也不承诺还原源码。应先确认使用授权、可调用接口、平台和测试器依赖;接口不明时不能声称已完成等价转换。
上一根 K 线出现箭头就一定不重绘吗?
不一定。已收盘缓冲也可能依赖后续确认或高周期未收盘数据,必须记录当时可见值并检查后续变化。
读到指标信号后还需要哪些 EA 规则?
仍需定义去重、冲突、反向信号、持仓与退出、止损止盈、仓位和异常处理,不能用箭头代替完整交易规则。