MT5多品种EA回测:用真实tick还是OHLC,结果差多少

新帖
登录发帖
XM 推荐平台

覆盖品种全,新手友好,支持多种入金方式

CySEC(塞浦路斯) / ASIC(澳洲) / IFSC(伯利兹) · 最低入金 $5
晚风微凉
晚风微凉 楼主 1 小时前 浏览 18 回复 0 阅读 1 分钟
Lv.1 新手汇友 等级 Lv.1 主题 2 帖数 13 积分 1278 汇币 782
1楼
上礼拜把一个跑了半年的多品种EA从实盘账户上扒下来,想复盘一下为什么欧美和黄金的回测曲线跟实盘差那么多。结果一查,问题出在我一直用OHLC模式跑回测,而实盘是逐tick成交的。这个坑不踩一次真的不会重视,今天就把我这几天折腾的几种回测模式对比写出来。
先说结论:MT5自带策略测试器里,OHLC和每笔即时价的差异,在多品种EA上会被放大。我拿同一个EA,同一段2023年1月到6月的数据,分别在欧美M15和黄金M30上跑了两遍。OHLC模式下欧美盈利因子1.42,换成真实tick后掉到1.18;黄金更夸张,从1.35直接变成0.91,策略直接从盈利变亏损。原因很简单,OHLC只用开盘、最高、最低、收盘四个价来模拟价格路径,遇到震荡行情时,EA挂的单可能在实盘里根本碰不到,但回测里却成交了。
下面是我实际用过的几种回测数据源,按对比维度列一下:
  • MT5自带“每笔即时价”模式:优点是不用额外下载数据,直接用经纪商提供的tick,适合快速验证。缺点是不同经纪商的tick质量参差不齐,我用的一家ECN平台,黄金tick在非农前后明显稀疏,回测结果偏乐观。适用场景是初步筛选策略,别拿它做最终参数优化。
  • 导入外部tick数据(比如Dukascopy):优点是tick密度高,欧美和黄金的买卖价差更接近真实。缺点是需要自己写脚本转换格式,MT5的tick导入对时间戳要求很严,我一开始用Python的pandas转CSV,时区没对齐,回测出来的点差全是乱的。适用场景是对执行精度要求高的头皮或套利EA。
  • OHLC模式:优点是快,跑一年黄金数据几分钟就出结果。缺点是它假设每个bar内价格按固定路径走,对挂单和止损的触发判断太理想化。我那个多品种EA里有个黄金的突破挂单,OHLC回测显示每周触发3次,真实tick下只有1.2次。适用场景是只看大方向、不依赖精确入场点的趋势策略。

还有个细节要注意:多品种EA回测时,MT5默认是每个品种单独测试,如果你EA里用了跨品种信号(比如欧美和镑美的相关性),必须用“每笔即时价”并且勾选多品种同步测试,否则回测出来的资金曲线是拼凑的,没有参考价值。另外VPS上跑实盘回测时,记得把测试器的“延迟”参数调成跟你的VPS到经纪商服务器的实际ping值接近,我这边测下来延迟设成80ms比默认的0ms更贴近实盘成交。
最后问一句,你们跑多品种EA回测时,是直接用经纪商的tick还是自己导入数据?有没有遇到过tick导入后点差异常的情况,怎么解决的?
0 回复 众裁0 复制
#1
💬
暂无回复,来抢沙发吧!
THE END
本帖内容仅供学习交流,不构成任何投资建议。外汇交易存在高风险,请谨慎参与。
← 上一帖 Python回测MT5时区偏移导致信号错位,如何对齐服务器时间?