把 MT5 的一次 Forward 运行叫作前推分析
Forward 字段只把区间切一次,然后报告尾段。那是一次锚定式的单一预留检验,只不过标签页整洁一些,而且它只把问题问过一遍。前推分析需要这道切口移动起来,在 MT5 里这意味着由你自己驱动这个循环:每一步跑一次优化,再把各次的 Forward 行收集成一串。
前推分析是一种验证方法:先在一段历史窗口上重新优化参数,把这套设置原封不动地拿到紧随其后的窗口上交易,然后让两个窗口一起向前滑动、反复重来——最后只引用那些未被动过的区段。
亦称:WFA, 前推优化, WFO, 滚动样本外测试
更新于 · 审阅于 · 由 mt5depot research desk 审核
在一段历史上把规则调好,再原封不动地拿到紧随其后的那一段上去交易,然后把两段一起往前挪,重来一次。只有那些未被动过的区段,才算进你对外引用的那个数字里。
一次样本外检验只把一个问题问过一遍。前推分析在每一步都重新问一次,而这是唯一能看出一份优势是否经得起反复重新拟合、还是只侥幸熬过了一次的办法。它同时也预演了实际部署的人真正会做的事:从最近的历史里挑参数,再把它们送进一段谁都没见过的未来。
取自我们自己记录在案的工作中的一步:EXP-PARAM-SEARCH-OUTCOMES-001 里的八次参数搜索。ichimoku 模板在 H1 上搜了一个 12 组合的网格,留下样本内最好的那一次运行,然后迎面撞上两个这次搜索从未碰过的窗口。
65 % 落在大多数文字都会称之为扎实的那个区间里。同一组设置在两个未见过的窗口上照样亏钱,正因如此,一步只能读成一个数据点,永远不能读成判决。
计算 0.89 除以 1.37 = 这一步上 65 % 的效率;0.80 除以 1.37 = 更早那个窗口上的 58 %
结果 65 % 的效率——落在一组我们拒绝发布的设置上
先读样本外那一串,再读比例,最后读参数的稳定性。对外公布的盈利是这三者里信息量最小的一个。
| 区间 | 含义 |
|---|---|
| 大约低于 40 % | 这次搜索主要拟合的是它自己的那个窗口。可能还剩下一点小优势,但不是被宣传的那一份。 |
| 大约 40-60 % | 一旦有几个参数发生移动,这就是很平常的水平。按样本外那个数字去做规划,而不是样本内那个。 |
| 单独一步高于 60 % | 令人鼓舞,但不是判决。我们那一步的 65 % 在它没见过的两个窗口上照样亏钱。 |
| 大多数步都高于 60 %,且参数稳定 | 强。这些重新拟合一直有效,而且它们对设置的看法彼此一致。 |
| 接近或高于 100 % | 怀疑窗口之间存在泄漏、存在前视,或者区段少到撑不起任何含义。 |
mt5depot 会在每一次运行背后写明数据窗口、测试器模型和成交笔数,所以这里任何一项样本外主张,都可以对照产出它的那个样本去核对。
Forward 字段只把区间切一次,然后报告尾段。那是一次锚定式的单一预留检验,只不过标签页整洁一些,而且它只把问题问过一遍。前推分析需要这道切口移动起来,在 MT5 里这意味着由你自己驱动这个循环:每一步跑一次优化,再把各次的 Forward 行收集成一串。
搜索好几种训练长度和测试长度,然后发布得分最高的那一对,只是把过拟合搬高了一层。窗口长度同样是参数,所以要先选定、写下来,然后再跑。
我们的 macd_signal 搜索在搜索之后的窗口上达到 1.14-1.15,在搜索之前的窗口上是 0.74-0.77。高样本外数字可能意味着泄漏,可能意味着一段有利的行情,也可能意味着区段太少——先去查清楚,再去庆祝。
它检验的永远只是历史里包含过的状况。在同一种行情状态里做二十次重新拟合,得到的是这种状态下的二十个结果,对下一种状态什么都没说。