有没有人遇到过这种情况:同一段欧美4小时图的历史数据,两套EA分别跑出来的资金曲线一个向上一个向下,参数看着都挺合理,逻辑也都说得通?我前段时间帮一个汇友排查这个问题,折腾了整整两个晚上,最后发现问题根本不在EA本身,而是出在回测工具和设置上。
先说结论,MT4和MT5自带的策略测试器,看起来是同一套东西,实际在数据源、点差模型和成交逻辑上差别不小。我自己最常用的三套回测方案,按使用频率排一下,顺便说说各自的坑。
那怎么判断回测报告里有没有坑?我一般会看三个地方。首先,看点差和隔夜利息有没有单独设置,别用默认值。然后,看最大回撤发生的时间段,如果集中在某几天,大概率是数据质量问题。还有,看盈利因子和夏普比率,如果盈利因子超过2.5但交易次数少于100,基本可以判定是过拟合。
适用场景上,如果你只是跑单品种、单周期的简单EA,MT4自带的够用了。但如果你要做多品种对冲、或者EA里有复杂的资金管理逻辑,建议直接上MT5加第三方工具组合。注意一点,回测再漂亮也别直接上实盘,先用模拟账户跑两周,对比一下实际成交和回测的滑点差异。
最后问一句,你们平时回测是用MT4多还是MT5多?有没有遇到过回测和实盘完全两回事的情况?
另外补充一句,MT5里“每一tick基于真实tick”和“基于真实tick生成”这两种模式差别也很大,前者对数据质量要求极高,选错了同样会把结果带偏。
先说结论,MT4和MT5自带的策略测试器,看起来是同一套东西,实际在数据源、点差模型和成交逻辑上差别不小。我自己最常用的三套回测方案,按使用频率排一下,顺便说说各自的坑。
- MT4策略测试器:优点是兼容老EA,MQL4的代码基本不用改。但它的历史数据质量参差不齐,尤其是经纪商提供的1分钟数据,经常有跳空和重复K线。我试过同一套黄金EA在MT4上跑2020年3月那波行情,回测盈利,实盘却连续止损,后来发现是回测里点差固定成了2个点,而当时真实点差一度拉到15个点
- MT5策略测试器:多品种、多周期同步测试是强项,而且支持真实点差模式。但很多人不知道,MT5默认用的是“每笔订单独立计算”模式,如果你的EA用了网格或者加仓逻辑,回测结果会明显偏乐观。另外,MT5的tick数据需要单独下载,不下载的话它会用M1数据模拟,精度差很多。
- 第三方工具(比如QuantAnalyzer、Forex Tester):优点是能导入外部tick数据,可以做蒙特卡洛模拟和参数敏感性分析。缺点是学习成本高,而且部分工具对MT5的兼容性不如MT4好。我用QuantAnalyzer跑过镑美2022年的数据,它能直接标出回撤最大的那段,帮我省了不少手动翻报告的时间。
那怎么判断回测报告里有没有坑?我一般会看三个地方。首先,看点差和隔夜利息有没有单独设置,别用默认值。然后,看最大回撤发生的时间段,如果集中在某几天,大概率是数据质量问题。还有,看盈利因子和夏普比率,如果盈利因子超过2.5但交易次数少于100,基本可以判定是过拟合。
适用场景上,如果你只是跑单品种、单周期的简单EA,MT4自带的够用了。但如果你要做多品种对冲、或者EA里有复杂的资金管理逻辑,建议直接上MT5加第三方工具组合。注意一点,回测再漂亮也别直接上实盘,先用模拟账户跑两周,对比一下实际成交和回测的滑点差异。
最后问一句,你们平时回测是用MT4多还是MT5多?有没有遇到过回测和实盘完全两回事的情况?
另外补充一句,MT5里“每一tick基于真实tick”和“基于真实tick生成”这两种模式差别也很大,前者对数据质量要求极高,选错了同样会把结果带偏。
