MT5回测模型对比:每个报价、真实报价与1分钟OHLC的区别
MT5回测模型对比 — 每个报价、基于真实报价的每个报价、1分钟OHLC与仅开盘价的区别
在MT5的Strategy Tester(策略测试器)中运行回测时,有一个名为"模型"的设置项。不同的模型选择会对回测精度产生重大影响。尤其是剥头皮类EA,如果模型选择有误,往往会出现"回测结果亮眼,实盘却完全失效"的问题。
四种回测模型
MT5 Strategy Tester中可用于检验EA的价格建模方式共有四种(第五项 Math calculations 不加载价格历史,不属于交易回测)。请注意,每个报价 与 基于真实报价的每个报价 是两种不同的模型。

| 模型 | 测试器使用的价格 | 精度 | 速度 | 适用场景 |
|---|---|---|---|---|
| 每个报价 | 由1分钟K线生成的Tick | 高(Tick为模拟生成) | 慢 | 该时段没有真实Tick时的最终确认 |
| 基于真实报价的每个报价 | 经纪商实际记录的Tick | 最接近真实行情 | 慢(首次需下载大量Tick数据) | 剥头皮、网格及对点差敏感的EA |
| 1分钟OHLC | 每根1分钟K线的开、高、低、收四个价格 | 中等 | 快 | H1/H4波段EA、参数优化 |
| 仅开盘价 | 仅使用测试周期每根K线的开盘价 | 粗略 | 最快 | 只在新K线上决策的EA;快速初步检查 |
1. 每个报价(Every tick)
测试器在每根1分钟K线内部生成Tick:包括OHLC四个价格以及中间的Tick,不使用任何记录下来的真实Tick。
- 在生成类模型中精度最高,比 1分钟OHLC 更慢
- 每根1分钟K线内点差固定,因此无法重现一分钟之内的点差急剧扩大
- 名称相近,但这并不是真实Tick测试
推荐对象:经纪商在该时段没有真实Tick时的最终确认
2. 基于真实报价的每个报价(Every tick based on real ticks)
测试器直接回放经纪商实际记录的Tick,不进行任何模拟。
- 点差在1分钟K线内部也会像真实行情那样变化
- 没有Tick记录的分钟,会用生成的Tick填补(与 每个报价 相同的方式)
- 耗时长,首次运行还要下载大量Tick数据
推荐对象:剥头皮策略(M15及以下)、网格EA、点差影响较大的策略
3. 1分钟OHLC(1 minute OHLC)
只使用每根1分钟K线的四个价格:开盘、最高、最低、收盘。
- 四个价格之间的走势不会被模拟,因此较近的SL/TP和移动止损的判定较粗略
- 比两种逐Tick模型快得多
- 对H1/H4波段策略基本足够
推荐对象:H1、H4级别的波段EA、参数优化
4. 仅开盘价(Open prices only)
EA每根K线只运行一次,即在测试周期每根K线的开盘时。
- 最快,也最粗略
- EA无法读取比测试周期更小的周期数据
- 只对在新K线上才做决策的EA有意义
推荐对象:仅用于大致的功能确认,不适合正式验证
📧 免费邮件课程(共 8 封)+ 订阅者专享 MT5 指标 13 款合集
订阅后会立即收到订阅者专享合集的下载链接,内含本站 13 款 MT5 指标的已编译文件(.ex5)、源代码和使用指南。随后通过共 8 封邮件介绍外汇自动交易的本质、回测的正确解读方法和经纪商选择技巧(前 5 天每天 1 封,之后在订阅第 7、14、30 天各 1 封)。MQL5 Market 版(首发价,随销量分阶段涨价)涨价前也会通知您。在本站,只要拥有合作经纪商的真实账户,EA 即可免费使用。
※ 严格保护隐私。可随时取消订阅。
为何剥头皮策略必须使用真实Tick
使用1分钟OHLC对M15及以下周期的剥头皮EA进行回测,会产生以下问题:
问题一:SL与TP的触发时序失真
在真实市场中,"最高价与最低价哪个先出现"至关重要。而1分钟OHLC无法还原1分钟内High与Low的先后顺序,因此无法准确判断"SL先触发还是TP先触发"。
示例:1分钟内的价格走势
实际情况:先到达最高价,再到达最低价(TP先触达后价格下跌)
OHLC模型:High=TP触达,Low=SL触达,先后顺序不明
剥头皮策略的SL和TP间距很小,这种误差会对最终成绩产生重大影响。
问题二:无法还原点差动态变化
1分钟OHLC无法模拟重要经济数据发布时点差急剧扩大的情况。剥头皮策略受点差影响最为显著,若以固定点差进行回测,结果将过于乐观。
回测所需历史数据的获取方法
在MT5中运行回测,需要先将历史数据下载至本地终端。

Step 1:让MT5下载历史数据
- 启动MT5并登录经纪商账户
- 打开策略测试器(Ctrl+R),选择品种、周期、时间范围和模型
- 点击「开始」后,测试器会自动从经纪商服务器下载该品种的可用价格历史
- 选择 基于真实报价的每个报价 时,首次运行还会下载Tick数据,可能需要较长时间
- 想自己查看已保存的数据,可打开 查看 → 交易品种(Ctrl+U),使用「柱形图」和「报价」选项卡
Step 2:查看历史数据质量
测试结束后,打开策略测试器的报告,查看「历史数据质量(History Quality)」一行。
选择 基于真实报价的每个报价 时:
有Tick记录的分钟 → 回放真实Tick
没有Tick记录的分钟 → 生成Tick(与 每个报价 相同)
在较长的测试区间里,经纪商往往只保存了其中一部分时段的真实Tick。历史数据质量数值偏低,说明即使选择了真实Tick模型,测试的大部分时段也并非在真实Tick上运行,因此务必把这个数值和结果放在一起看。
本站EA推荐回测设置
| EA | 时间框架 | 推荐模型 | 原因 |
|---|---|---|---|
| DONCHIAN ENGINE / MEGAMAX DONCHIAN | H1 | 1分钟OHLC及以上 | H1波段交易使用1分钟OHLC基本足够(DONCHIAN ENGINE的刊登值以Dukascopy真实Tick验证) |
| GOLD VIPER / GOLD NEURON | M30 | 1分钟OHLC及以上 | 同上 |
| BITCOIN COMET | H4 | 1分钟OHLC | H4波段交易使用1分钟OHLC已足够 |
| GOLD KING v6 | M1 | Every tick based on real ticks | M1网格型必须使用真实Tick(注:本站公开的Exness 7.5年回测历史数据质量为5%,并非真实Tick验证) |
回测所需时间参考
测试环境:相当于Core i5、RAM 8GB、SSD,XAUUSD 10年数据
| 模型 | 处理时间(参考) |
|---|---|
| 仅开盘价 | 2至5分钟 |
| 1分钟OHLC | 10至20分钟 |
| 每个报价 | 比 1分钟OHLC 更长 |
| 基于真实报价的每个报价 | 40分钟至2小时(首次运行另加Tick下载时间) |
在VPS上运行MT5回测时,速度取决于CPU性能。处理期间VPS的CPU使用率会接近100%,因此在EA实盘运行期间同时执行回测会影响整体性能。
总结
- 波段策略(H1及以上):1分钟OHLC 即可(速度与精度的平衡)
- 剥头皮策略(M15及以下):使用 基于真实报价的每个报价(精度至关重要)
- 每个报价 的Tick由1分钟K线生成,并不是真实Tick测试
- 仅开盘价 仅用于功能确认,每次测试后都要查看报告中的历史数据质量
回测精度直接决定"回测结果的可信度"。在评估剥头皮类EA时,请务必使用真实Tick数据进行验证。
常见问题
Q:真实Tick数据从哪里获取?
以 基于真实报价的每个报价 模式运行测试时,MT5会自动从经纪商服务器下载;也可以在 查看 → 交易品种(Ctrl+U)的「报价」选项卡中查看。只能获取经纪商提供的历史数据范围之内的数据。也可以从Dukascopy等第三方Tick数据服务导入CSV,但导入MT5的步骤较为复杂。
Q:有些货币对的历史数据质量很低,怎么办?
不同经纪商保存的历史Tick数据范围有所不同。特别是较早期(10年以上)的Tick数据,大多数经纪商均无法提供。在此情况下,请从经纪商可提供的最早数据开始进行验证。
Q:如何保持回测与实盘测试精度的一致性?
基本原则是使用与回测相同的经纪商账户进行实盘测试。不同经纪商的点差和隔夜利率各有差异,因此保持经纪商一致可最大程度减少回测与实盘之间的偏差。
Q:Strategy Tester中的"优化"与"回测"使用的是同一模型吗?
是的。参数优化使用的也是测试器中选择的模型,与普通回测相同。但由于优化要运行数千到数万次回测,用 基于真实报价的每个报价 做优化可能需要数天。高效的做法是用 仅开盘价 或 1分钟OHLC 做优化,只在最终验证时使用 基于真实报价的每个报价。
相关页面
相关文章
📧 免费邮件课程(共 8 封)+ 订阅者专享 MT5 指标 13 款合集
订阅后会立即收到订阅者专享合集的下载链接,内含本站 13 款 MT5 指标的已编译文件(.ex5)、源代码和使用指南。随后通过共 8 封邮件介绍外汇自动交易的本质、回测的正确解读方法和经纪商选择技巧(前 5 天每天 1 封,之后在订阅第 7、14、30 天各 1 封)。MQL5 Market 版(首发价,随销量分阶段涨价)涨价前也会通知您。在本站,只要拥有合作经纪商的真实账户,EA 即可免费使用。
※ 严格保护隐私。可随时取消订阅。