MT5自定义品种回测方法与常见陷阱
使用MT5的“自定义品种”,即使是经纪商没有提供的时间段,或是从外部获取的Tick数据,也可以进行回测。想在更长的周期上验证,或者想用多个数据源对比结果时,这是很有用的功能。
不过先把结论写在前面。自定义品种中最容易出问题的,不是Tick数据本身,而是“品种规格”。 digits、合约大小、Tick价值、隔夜利息,只要有任何一项与实际运行的经纪商不一致,无论数据多么准确,回测的数字都会完全变样。而且在多数情况下,系统不会报任何错误,只是给出一组看上去很合理的数字。
自定义品种的机制
自定义品种是由用户自行准备“价格数据”和“品种规格”的虚拟品种。
- 价格数据:从CSV等文件导入Tick(Bid/Ask/时间)或1分钟K线
- 品种规格:小数位数、合约大小、Tick大小、保证金计算方式、隔夜利息、交易时间等
策略测试器会把导入的价格套用到这套规格上,计算盈亏和保证金。因此即使价格是正确的,只要规格一侧有误,整个盈亏计算都会偏离。我们之所以比普通品种更警惕自定义品种,正是因为“规格可以由自己随意设定”这一点。
📧 免费邮件课程(共 8 封)+ 订阅者专享 MT5 指标 13 款合集
订阅后会立即收到订阅者专享合集的下载链接,内含本站 13 款 MT5 指标的已编译文件(.ex5)、源代码和使用指南。随后通过共 8 封邮件介绍外汇自动交易的本质、回测的正确解读方法和经纪商选择技巧(前 5 天每天 1 封,之后在订阅第 7、14、30 天各 1 封)。MQL5 Market 版(首发价,随销量分阶段涨价)涨价前也会通知您。在本站,只要拥有合作经纪商的真实账户,EA 即可免费使用。
※ 严格保护隐私。可随时取消订阅。
创建与导入的基本步骤
- 在报价窗口右键 →打开“品种”,选择“创建自定义品种”
- 在“复制自”中,指定实际运行的经纪商的同一品种(这是最重要的一步)
- 设定品种名称(使用能与原品种区分的名称)
- 在“Tick”选项卡导入Tick的CSV,或在“K线”选项卡导入1分钟K线
- 导入后打开图表,目视检查是否有缺失或异常值
- 在测试器中选择该自定义品种,以“基于真实Tick的所有Tick”模式运行
如果还不熟悉MT5的基本操作,建议先通过 MT5设置指南 把环境准备好,后续操作会轻松很多。
漏同步会导致结果失真的项目
即使指定了复制来源,如果导入数据的格式与之不匹配,或者创建之后经纪商一侧的规格发生了变更,偏差依然会出现。下面是我们实际会核对的项目。
| 项目 | 出现偏差时的后果 | 确认方法 |
|---|---|---|
| digits(小数位数) | 以点数指定的SL/TP距离会差出数量级 | 把导入数据的位数与经纪商的品种规格并排对照 |
| 合约大小 | 每手盈亏会差出数量级(黄金尤其要注意) | 手算1手波动1点时的盈亏并进行核对 |
| Tick大小・Tick价值 | 盈亏计算本身出现偏差 | 将规格界面中的数值与经纪商的品种对比 |
| 保证金计算方式・杠杆 | 本应因保证金不足而停止的情形被顺利通过 | 确认保证金计算方式是否一致 |
| 隔夜利息(数值・方式・三倍日) | 持仓时间长的EA累计盈亏会出现较大偏差 | 确认利息方式、多头/空头数值以及三倍日对应的星期 |
| 交易时间・时区 | 时段过滤器和日K线的分界会出现偏移 | 让数据的GMT偏移与服务器时间保持一致 |
| 是否有Bid/Ask | 只有Bid的数据可能会把点差视为零 | 确认导入的Tick中是否包含Ask |
digits:最难察觉
例如,把为5位报价经纪商开发的EA,放到用3位数据创建的自定义品种上运行,“30点的SL”对应的实际价格幅度会变成100倍。EA不会报错,会继续运行,但得到的成绩已经是完全不同的另一种策略的成绩。
合约大小:黄金最容易出事
XAUUSD的1手等于多少盎司,因经纪商而异。如果不使用复制来源而是手动创建,这里可能会残留默认值。盈亏会差出数量级,手数计算和回撤评估会从根本上崩溃。
隔夜利息:持仓越久的EA影响越大
对于平均持仓时间达数十小时的趋势跟随型EA,累计隔夜利息对盈亏的影响不容忽视。但自定义品种的隔夜利息是固定值,因此无法重现过去隔夜利息水平的变化。我们自己也没有能够准确重现这一点的方法,解读结果时应当留出一定的余地。
局限与注意事项
即使把自定义品种的规格全部对齐,下面这些问题依然存在。
- 无法重现成交:滑点、拒绝成交、经济数据发布时点差的突然扩大,如果数据中没有包含,就不会反映在测试中。
- 无法完全确认外部数据的质量:外部Tick是否存在缺失、是否经过过滤,我们无法完全掌握。更换数据源后成绩发生变化是很常见的事。
- 与经纪商的价格差异:外部数据的价格并不保证与实际运行的经纪商推送的价格一致。剥头皮等波动幅度较小的EA受到的影响更大。
- 结果越好越要怀疑:规格偏差也可能朝着让成绩更好看的方向起作用。当出现好于预期的数字时,请务必重新检查规格。
归根结底,自定义品种是“拓宽验证范围的工具”,不能替代使用经纪商数据的验证。我们会观察经纪商真实数据与自定义品种两边的结果方向是否一致。
各个EA的验证条件,公开在 实测排行榜 的各页面中。关于验证的思路,也整理在 EA・MT5知识库 中。
总结
- 自定义品种中容易出问题的是品种规格,而不是数据
- 创建时务必把实际运行的经纪商的同一品种作为复制来源
- digits、合约大小、Tick价值、隔夜利息、时区,每次都要逐项核对
- 手算每手、每点的盈亏来确认,是最快捷的办法
- 隔夜利息的变迁、成交与滑点无法重现
- 结果好得不正常时,首先怀疑规格偏差
相关文章
📧 免费邮件课程(共 8 封)+ 订阅者专享 MT5 指标 13 款合集
订阅后会立即收到订阅者专享合集的下载链接,内含本站 13 款 MT5 指标的已编译文件(.ex5)、源代码和使用指南。随后通过共 8 封邮件介绍外汇自动交易的本质、回测的正确解读方法和经纪商选择技巧(前 5 天每天 1 封,之后在订阅第 7、14、30 天各 1 封)。MQL5 Market 版(首发价,随销量分阶段涨价)涨价前也会通知您。在本站,只要拥有合作经纪商的真实账户,EA 即可免费使用。
※ 严格保护隐私。可随时取消订阅。