在真实分时基础上测试交易策略(基础篇)
📘

在真实分时基础上测试交易策略(基础篇)

第 1/2 篇

三种回测模式下的策略验证差异

MT5 策略测试器里同一套 EA,在三种不同模式下跑出来的成交次数和权益曲线可能差很远。官方 2016 年 8 月那次公开示例里,把一个简单策略分别丢进「1 分钟 OHLC」「每笔分时」和「基于真实分时的每笔分时」三种模型,后两者的成交逻辑还原度明显高于前者。 「1 分钟 OHLC」只吃每分钟的开高低收四个价,撮合快但容易漏掉毛刺里的触发;「每笔分时」用合成Tick把棒内波动补出来,可靠性上来了;「基于真实分时的每笔分时」直接回放真实历史逐笔,最贴近实盘,但耗时成倍涨。外汇和贵金属杠杆高、滑点跳空频繁,这种差异不是学术问题,是实盘爆仓概率的问题。 有个坑得盯死:EA 本身若有逻辑缺陷(比如重复挂单未清、条件竞态),错误操作数量会随模式精度放大。先用 1 分钟 OHLC 快速筛想法,再用真实分时模式复核关键参数,别拿粗模当上线依据。

「突破范围后数分时再进场」

这套 EA 的逻辑不复杂:每根新柱开盘时,取最近 RangeLength 根柱线的最高价与最低价圈出一个区间,默认窗口是 20 根。区间上下沿就是后续突破的触发线。 突破不是立刻成交。向上刺穿区间上沿(或向下跌破下沿)后,EA 开始累计突破价位上方的 tick 数与下方的 tick 数。只有当某一侧的累计 tick 达到或超过 TicksForEnter=30,且同向 tick 多于反向,才发单:上方胜出开多,下方胜出开空。 持仓退出靠时间而不是信号——开仓后走过 BarsForExit 根柱线就平。规则简单,但 30 个 tick 的过滤门槛直接决定了假突破的淘汰率,你可以在 MT5 里把 TicksForEnter 调到 10 或 50 对比滑点损耗。外汇与贵金属杠杆高,参数回测不代表实盘概率,动手前先开策略测试器跑一遍。

◍ EURUSD H1 上的半年裸测

把这套策略直接丢进 2016 年上半年 EURUSD 的 H1 周期跑了一遍,时间窗是 2016-01-01 到 2016-06-30。 EA 所有参数保持默认省缺值,没有做任何优化或手调。这么做的目的很单纯:在不同模型模式下看同一个简单策略的裸表现,排除参数过拟合带来的干扰。 外汇与贵金属交易本身杠杆高、滑点跳空频繁,省缺参数下的历史回测结果只代表过去概率,实盘可能明显偏离,开 MT5 用相同周期复跑是验证的第一步。

三种建模模式下的测试耗时与结果落差

把同一套简单策略丢进 MT5 策略测试器,分别跑「1 分钟 OHLC」「每笔分时」「基于真实分时的每笔分时」三种模式,数字差异直接体现在表格里。最扎眼的是成交笔数:1 分钟 OHLC 只生成 731 466 根分时,而真实分时模式堆到 34 099 141 笔,接近每笔分时模式(18 983 485 笔)的两倍。 耗时层面,「1 分钟 OHLC」跑完只要 1.57 秒,比「每笔分时」的 36.7 秒快约 23 倍;切到真实分时反而更慢,达到 74 秒。优化 EA 参数时,这种时间差会随遍数放大,模式选择本质是算力和保真度的权衡。 结果上净盈利分别是 169.46、−466.81、−97.24,交易次数 96 / 158 / 156,净值回撤峰值 311.35%(3.38%)到 940.18%(9.29%)不等。外汇与贵金属品种杠杆高,这类回撤幅度在实盘可能直接击穿保证金。 余额与净值曲线形态也随模式分家:增长段后紧接回撤,图形看起来像巧合串起来的。该策略在样本内尚且好似掷硬币,实盘大概率不可靠,仅适合当作测试器建模差异的对照样本。

常见问题

真实分时回测会按 tick 逐笔撮合,能暴露滑点和重复报价问题;普通模式只看收盘价,容易把胜率算虚高。直接用真实分时跑一遍对比最直观。
多数情况下等 2~3 根分时确认突破有效,能过滤假突破;但也会错过部分快速行情。建议用历史数据数突破后的分时表现再定参数。
可以。小布盯盘的 AIGC 能把你的策略按真实分时逻辑跑诊断,打开对应品种页就能看回测落差和耗时,不用自己搭环境。
真实分时建模下通常比快速建模慢数倍,半年 H1 数据可能跑几分钟到十几分钟;普通模式几十秒就完。耗时换的是结果可信度。
优先信真实分时(every tick)模式,它最贴近实盘撮合;其他模式只作速度参考。外汇和贵金属波动大,高风险下别拿近似结果下单。