首页 / 交易学院 / 小布知识库 / MT5 策略测试器如何生成行情:Tick 建模与订单算法
MT5 策略测试器如何生成行情:Tick 建模与订单算法
⚙️

MT5 策略测试器如何生成行情:Tick 建模与订单算法

回测结果可信吗?揭开 MT5 测试器用 M1 数据造出每个 tick 与每根 K 线的底层逻辑。

回测与测试 难度 · 进阶 2026-06-12 13 分钟阅读
策略测试器回测Tick建模订单生成M1

一、测试器的演进:从随机到基于 M1

早期测试器用「随机 tick」模拟价格,真实度很低;后来改用基于 M1 柱的 OHLC 插值生成 tick;再到如今的「真实 tick」模式,直接回放券商提供的逐笔成交。档位越高,成交价与滑点越接近实盘,回测结论也越可信。这是 MT5 回测能力的一次质变。

理解这段演进很重要:你用哪一档,本质上是在选择「回测里我允许多少理想化」。理想化越多,结论越不可信。选档不是图快,而是对「我要验证什么」的诚实回答。

二、支撑点(Support Points):tick 的骨架

在基于 M1 的模式下,测试器先确定若干「支撑点」(如每根 M1 的开/高/低/收及中间插值点),再在其间生成 tick 序列。支撑点是 tick 的骨架,决定了价格路径的大形状,插值只填充细节。所以支撑点的密度直接决定回测路径的真实度,也决定了短线策略的回测失真程度。

三、由支撑点生成订单(订单生成算法)

测试器在每根 tick 上调用 EA 的 OnTick,并模拟成交:买价/卖价由支撑点附近的买卖盘决定。理解这点很重要——你看到的「成交价」来自测试器对流动性的建模,而非真实市场深度,档位越低建模越粗糙,滑点假设越理想化。

// 读取真实 tick(需真实 tick 模式或有本地 tick 库)
MqlTick ticks[100];
int n = CopyTicks(_Symbol, ticks, COPY_TICKS_ALL, 0, 100);
for(int i=0;i<n;i++)
   Print(ticks[i].time, " bid=", ticks[i].bid, " ask=", ticks[i].ask,
         " vol=", ticks[i].volume_real);

用 CopyTicks 把真实逐笔拉出来,你还能做更细的检验:买卖盘厚度、成交间隔、跳空频率——这些在压缩模式里完全看不见,却是短线策略生死攸关的细节。

四、精度档位与真实度

MT5 提供多档:Open prices only(最快、最粗)、1 Min OHLC、Every tick(基于 M1 插值)、Every tick based on real ticks(最真)。策略越依赖短线成交与滑点,越要用真实 tick 档;长线日线策略用 OHLC 也够,因为长线对单 tick 不敏感,重点在方向而非成交微结构。

⚠ 档位选错 = 结论错
做剥头皮/高频策略却用 OHLC 回测,成交价被严重理想化,盈利会被高估数倍。短线策略必须用真实 tick 档,否则你优化出的参数毫无实盘意义,只是测试器里的皇帝新衣。

五、给你的回测纪律

回测不是跑一次出个数字就完事,而是一套纪律。先按最高真实度跑出基线,再用低档快速筛参;关注盈利因子、回撤、expectancy 一起看,不只看总盈利;优化后用样本外时段复核,防过拟合。纪律比工具更决定回测可信度。

六、真实 tick 的获取与本地库

真实 tick 来自券商提供的历史逐笔成交,或你用脚本在长期运行中积累的本地 tick 库。没有真实 tick 时,测试器用 M1 插值近似,真实度次之。对于外汇主力对,多数券商能提供;对于冷门品种,tick 稀疏,回测本身就要打折看待,不能轻信其曲线。

建议把真实 tick 当作「资产」来管理:长期、分品种、分时段地积累,并定期校验其完整性。一个干净的本地 tick 库,比任何花哨的优化算法都更能提升你的回测质量。

七、优化时用样本外验证

在遗传优化里划出一段样本外数据,优化只用样本内,最后用样本外检验稳健性。若样本内漂亮、样本外崩,就是过拟合,参数不能用。这一步和「选对 tick 档」同等重要,都是为了让回测结论能外推到实盘,而不是只在历史里自圆其说。

八、小结

✦ tick 质量决定回测可信度
回测结论的上限,由你用的 tick 质量决定。宁可慢,也要用对的档位验证关键策略——省下的回测时间,会在实盘以亏损加倍奉还。对回测诚实,就是对账户负责。

常见问题

由券商提供历史逐笔成交数据,或你导入本地 tick 库。没有真实 tick 时,测试器用 M1 插值近似,真实度次之,冷门品种尤甚。
剥头皮/高频必须用 Every tick based on real ticks;长线日线策略用 1 Min OHLC 通常足够,可大幅提速而不伤结论。
因为成交价与滑点的建模精度不同。对成交敏感的策略,档位越低越理想化,盈利越被高估,参数越不可信。