⚙️
MT5 策略测试器如何生成行情:Tick 建模与订单算法
回测结果可信吗?揭开 MT5 测试器用 M1 数据造出每个 tick 与每根 K 线的底层逻辑。
策略测试器回测Tick建模订单生成M1
测试器的演进:从随机到基于 M1
MT3 用随机游走生成价格,MT4 用当前周期 K 线随机插值,都与真实市场相去甚远。MT5 的突破在于:以 M1 真实历史数据为最小颗粒,在其内部用确定式算法重建每个 tick,使回测尽可能逼近实盘。
支撑点(Support Points):tick 的骨架
算法把每根 M1 K 线拆成若干支撑点——开盘价、最高价、最低价、收盘价,以及它们之间按规则插入的中间点。常用分布如 3-5-3(开盘后 3 个点、中段 5 个点、收盘前 3 个点),保证每根 K 线至少触及一次高低价。
- 支撑点顺序遵循开盘到高点到低点到收盘的真实价格波动次序
- 相邻支撑点之间用脉冲波形(近似正弦)连接,模拟真实价位的来回跳动
- 因此每个 M1 内部都能产生多个 tick,EA 的 OnTick 会被真实调用多次
由支撑点生成订单(订单生成算法)
在每个 tick,测试器按支撑点顺序更新当前价,并据此撮合挂单、触发止损止盈。因为高低价在 K 线内真实出现,所以基于止损挂单的策略回测更加真实,而非像旧版那样只在 K 线首尾撮合。
✦
关键结论:在 MT5 中,一根 M1 内的止损只要价格真的触到,回测就会成交;这比只在收盘价撮合的旧模型准确得多。
精度档位与真实度
测试器提供多档精度:从仅开盘价(每根 K 线一次)到每笔 tick(用真实分笔数据)。精度越高,越接近实盘,但速度越慢、对数据质量要求越高。
- 仅开盘价:最快,适合粗筛
- 1 分钟 OHLC:基于 M1 支撑点重建,平衡之选
- 每笔 tick:需购买或提供真实 tick 数据,最准
给你的回测纪律
- 不要在仅开盘价模式下去优化依赖止损挂单的策略——它会低估触发
- 正式验收用 1 分钟 OHLC 或每笔 tick,并与实盘样本对照
- 理解测试器是确定性重建,真实市场有滑点点差跳动,回测盈利需打折评估
常见问题
MT4 在大周期上只在 K 线首尾撮合,止损常看起来没被触发;MT5 在 M1 内重建 tick,高低价真实出现,撮合更准。
适合快速验证策略逻辑和粗筛,极快;但不能用于评估止损挂单表现。
对多数策略,1 分钟 OHLC 已足够;做高频或极致精度才需真实分笔数据。
测试器不含实时滑点、点差扩大、成交排队等,且基于历史重建,需对回测结果做保守折扣。