參數要選高原區,避開單點峰值的最佳化
目錄
結論:不選成績最高的單點,而是選不會崩壞的範圍中央
把最佳化結果依成績排序,然後直接採用最上面那一列。我們認為,這是通往曲線擬合最短的路徑。
我們看的不是最高值,而是最佳值周邊的成績會不會崩壞。參數稍微偏移,成績仍能平緩維持的範圍,我們稱為「高原(Plateau)」,並採用其中央附近的值。數字會比最高成績的那個點遜色一些,但我們的立場是:這樣就夠了。
為什麼單點峰值很危險
峰值裡含有「碰巧的命中」
最佳化是從數百到數千種組合中,找出最貼合過去資料的那一組。嘗試次數越多,碰巧抓到少數幾筆大幅獲利交易的組合,就越容易排進前段。
如果只是換到相鄰的值,成績就大幅下滑,我們會判斷這份成績與其說是策略優勢,不如說很可能依賴於特定的幾筆交易。
未來行情不會以最佳化期間的樣貌重現
未來的行情,波動率與價格週期都會與過去略有出入。這等同於參數稍微偏離的狀態下運作。
周邊不會崩壞的參數,有餘裕吸收一定程度的偏差;尖銳的峰值則沒有這種餘裕。
為何採用中央值
如果選在高原的邊緣,其中一側馬上就是懸崖。選在中央,不論往哪個方向偏移,仍然留在高原之上。
我們選的不是成績的高低,而是距離崩壞還有多遠。
| 檢查重點 | 單點峰值型 | 高原型 |
|---|---|---|
| 換到相鄰的值時 | 成績急遽下滑 | 幾乎不變 |
| 前段結果的分布 | 數值零散分布 | 相近的值聚集在一起 |
| 交易筆數的變化 | 大幅增減 | 平緩變化 |
| 採用的值 | 最高成績的點(不建議) | 範圍中央附近 |
確認步驟:在 MT5 上檢查周邊是否崩壞
檢查清單
- 步進不要設得太粗:步進太粗,就無法區分是高原還是孤立的點。看到有希望的範圍後,只針對該範圍周邊縮小步進再重新執行。
- 選兩個參數以二維方式顯示:MT5 的最佳化結果可以用平面呈現。深色區塊成片擴展就是高原,只有單一格子是深色就是峰值。
- 不要只看 PF:交易筆數與 drawdown 也要在相鄰的值之間比較。即使 PF 維持住了,如果交易筆數驟減,就可能已經變成另一種策略。
- 選範圍中央,並記錄與最高值的差距:記下讓出了多少成績,日後才能檢驗當時的判斷。
- 用未參與最佳化的期間驗證:高原只是同一份資料內的現象。形狀在期間之外是否依然維持,必須另外確認。
使用遺傳演算法時要特別留意。由於搜尋會集中在有希望的區域,有時周邊還沒被充分嘗試就結束了。要確認周邊,縮小範圍後改用完整搜尋重做會更可靠。
MT5 的基本操作整理在 EA・MT5 知識庫。
使用者自己也能做的事
對於已經公開發售的 EA,同樣的檢查也做得到。把主要參數從預設值往前後一點一點調整,執行回測,看成績會不會突然崩壞就行了。
舉例來說,DONCHIAN ENGINE 的回測實測值為 PF1.5、631 筆交易、驗證期間 9.4 年。上位版本的 MEGAMAX DONCHIAN 同樣是回測 PF1.55、629 筆交易。
不過,這裡必須坦白說明一件事:這些是採用的參數單點上的結果,光憑這些數字,無法得知周邊是不是高原。PF 並不亮眼,也不能證明它是高原。動手調整參數來驗證這件事,是無法用公開數字取代的。
各 EA 的回測實測值,可在實測排行榜一覽。
限制與注意事項
- 高原不保證未來獲利。 即使看起來是寬廣的高原,也只是同一份過去資料上的穩定性。一旦行情性質改變,整片高原都可能一起下沉。
- 「高原到哪裡為止」的界線帶有主觀性。 如果事後才隨意決定可容許的成績下滑幅度,那也是一種曲線擬合。基準應該在最佳化之前就定好。
- 參數一多就檢查不完。 二維平面一次只能看兩個參數。三個以上交互作用造成的崩壞,有可能被漏看。
- 交易筆數太少時,高原的形狀本身就不可信。 因為幾筆交易就足以改變平面的顏色。
- 我們自己也不敢斷言這個方法已經足夠。 在模擬帳戶的前向測試中,仍有數個 EA 的損益處於負值。即使是留意高原而選出的參數,也無法避開虧損的行情階段。
總結
- 最佳化時,找的是周邊不會崩壞的範圍,而不是成績最高的單點
- 採用高原中央附近的值。比起成績高低,更看重距離崩壞還有多遠
- 不只看 PF,交易筆數與 drawdown 也要在相鄰的值之間比較
- 遺傳演算法的結果,要以完整搜尋重新確認周邊
- 高原是過去資料上的穩定性,並不保證未來的成績
- 光憑公開的單點數字,無法判斷是不是高原。要自己動手調整參數來確認
相關文章
📧 MQL5 Market 版漲價前通知 + 5天郵件課程(免費)
在本站,只要擁有合作經紀商的真實帳戶,EA 即可免費使用。MQL5 Market 上銷售的版本目前為首發價,會隨銷量分階段漲價。除漲價前通知外,每天還會寄送一封郵件,介紹外匯自動交易的本質、回測的正確解讀方法與經紀商選擇技巧。
※ 嚴格保護隱私。可隨時取消訂閱。