首頁 > 部落格 > 別被MT5測試器的輸入值快取騙了

策略測試器回測驗證流程

別被MT5測試器的輸入值快取騙了

發布日: 2026-10-18閱讀時間:約 3 分鐘
⏱ 本文為發布之日的資訊。EA的績效數值(PF、DD、年化)會隨實盤運行與重新驗證而變動,最新數值請在各EA頁面確認。 查看最新EA績效 →

結論:請假設測試器裡殘留的是「上一次的值」

MT5 的策略測試器會依每支 EA 記住上一次的輸入值。這是很方便的功能,但在更新 EA 之後,或剛做完另一次驗證時,你以為自己驗證的設定,和實際跑出來的設定可能並不一致。

我們的對策很簡單:不要相信測試器畫面上顯示的值。把全部項目都寫進設定檔的 [TesterInputs],再用報告中留下的輸入值來核對。 本文說明這麼做的原因與步驟。

為什麼會驗證到另一組設定

測試器會儲存並重複使用輸入值

MT5 測試器會依 EA 儲存最後一次使用的參數,下次選擇同一支 EA 時再讀取。這省去了手動輸入的麻煩,但在下列情境就會出事。

  • 改版 EA 時更動了預設值,測試器裡卻還留著舊值
  • 最佳化時試過極端數值,之後直接帶著那組值跑一般回測
  • 為其他貨幣對調整過的手數或過濾條件,被帶到下一次驗證

這些情況只要仔細看畫面其實都能發現。但如果 EA 有幾十個輸入項目,只有一項不同就很容易漏看。

結果「看起來合理」才麻煩

設定不對時,測試器不會報錯。結果若是離譜到不行,還能馬上察覺;真正麻煩的是跑出看似合理的數字。

舉例來說,把兩支都在 USDJPY H1 運作的 Donchian 系 EA 並排比較(兩者皆為 MT5 實機回測的實測值)。

EAPF交易次數有效DD
DONCHIAN ENGINE1.563110.8%
MEGAMAX DONCHIAN1.5562958.6%

PF 與交易次數幾乎相同,有效 DD 卻差很多。兩者的設計差異已寫在各 EA 的頁面,這裡想強調的是:只看 PF 和交易次數,根本分辨不出實際是用哪一組設定跑的。只要一個輸入值偏掉,風險評估就可能整個不同。

我們的確認流程

1. 把全部項目寫進設定檔的 [TesterInputs]

MT5 可以帶入設定檔(ini)來啟動測試器。請在其 [TesterInputs] 區段中,不只寫要更動的項目,而是寫出全部輸入值。

[Tester]
Expert=MyEA
Symbol=USDJPY
Period=H1
Model=4

[TesterInputs]
InpLots=0.10||0.10||0.01||1.00||N
InpPeriod=20||10||5||50||N

格式為「值||起始||步進||終止||是否最佳化(Y/N)」。一般回測的話,結尾請設為 N。

沒寫進去的項目會以什麼值運作,可能因環境而異,所以我們不仰賴它。 因為「應該是預設值吧」這種想當然,正是本文所談的失誤本身。

2. 核對報告中的輸入參數

測試器的報告會留下實際使用的輸入值。驗證結束後,請把 ini 與報告中的輸入值逐項比對。與其用眼睛比較,不如轉成文字再做差異比對,更可靠。

3. 更新 EA 後,視為「另一支 EA」

改版後預設值有變動的 EA,請在檔名加上版本號,另存成不同名稱。這是為了從一開始就切斷舊的儲存值被自動讀取的途徑。

檢查清單

  • 已把全部輸入項目寫進 [TesterInputs]
  • 最佳化之後,所有項目的結尾都已改回 N
  • 報告中的輸入值與 ini 一致
  • EA 改版後已更換檔名
  • 商品、時間週期與建模方式也已在 [Tester] 中明確指定

限制與注意事項

即使這樣做,也無法防範所有失誤。

  • EA 內部沒有以輸入值形式公開的常數,無法用 ini 管理。原始碼是否相同,需要用別的方法確認。
  • 就算輸入值正確,只要歷史資料或點差條件不同,結果就會改變。核對輸入值只是維持可重現性的其中一環。
  • 我們自己也無法斷言,在徹底執行這套流程之前跑過的驗證全都正確。就我們所察覺的範圍內已重新驗證,但不敢說絕對沒有疏漏。

我們所提供 EA 的設定方式請參閱 EA 設定方法,其他驗證心得則整理在知識庫。

總結

  • MT5 測試器會記住上一次的輸入值,可能在不知不覺中沿用
  • 設定即使偏掉也不會報錯,還會跑出看似合理的數字,所以很難察覺
  • 對策是把全部項目寫進 [TesterInputs],並與報告中的輸入值核對
  • EA 改版後請另存為不同名稱,避免讀取到舊的儲存值
  • 即便如此,內部常數與資料條件的差異仍無法防範,因此輸入值管理只是驗證的一部分

📧 免費電子郵件課程(共 8 封)+ 訂閱者專屬 MT5 指標 13 款合集

訂閱後會立即收到訂閱者專屬合集的下載連結,內含本站 13 款 MT5 指標的已編譯檔案(.ex5)、原始碼和使用指南。隨後透過共 8 封郵件介紹外匯自動交易的本質、回測的正確解讀方法和經紀商選擇技巧(前 5 天每天 1 封,之後在訂閱第 7、14、30 天各 1 封)。MQL5 Market 版(首發價,隨銷量分階段漲價)漲價前也會通知您。在本站,只要擁有合作經紀商的真實帳戶,EA 即可免費使用。

※ 嚴格保護隱私。可隨時取消訂閱。

對EA或外匯有疑問嗎?

可以在Nattzy交易論壇發文提問(免費註冊)。不限於本文內容,EA設定、券商選擇等問題也歡迎。

到Nattzy提問 ↗

留言與提問