MT5自訂品種回測方法與常見陷阱
使用 MT5 的「自訂品種」,就能用券商未提供的期間或從外部取得的 Tick 資料進行回測。想用更長的期間驗證,或想用多個資料來源比較結果時,這是相當有用的功能。
不過先把結論寫在前面。自訂品種中最容易出問題的,不是 Tick 資料本身,而是「品種規格」。 digits、合約大小、Tick 價值、隔夜利息只要有任何一項與實際運作的券商不一致,不論資料多麼精確,回測的數字都會完全不同。而且多數情況下不會出現任何錯誤訊息,只會輸出一組看似合理的數字。
自訂品種的運作方式
自訂品種是由使用者自行準備「價格資料」與「品種規格」的虛擬品種。
- 價格資料:從 CSV 等檔案匯入 Tick(Bid/Ask/時間)或 1 分鐘 K 線
- 品種規格:小數位數、合約大小、Tick 大小、保證金計算方式、隔夜利息、交易時間等
策略測試器會把匯入的價格套用到這組規格上,計算損益與保證金。因此即使價格正確,只要規格有誤,整體損益計算就會偏離。我們之所以對自訂品種比一般品種更加謹慎,正是因為「規格可以由自己決定」這一點。
📧 免費電子郵件課程(共 8 封)+ 訂閱者專屬 MT5 指標 13 款合集
訂閱後會立即收到訂閱者專屬合集的下載連結,內含本站 13 款 MT5 指標的已編譯檔案(.ex5)、原始碼和使用指南。隨後透過共 8 封郵件介紹外匯自動交易的本質、回測的正確解讀方法和經紀商選擇技巧(前 5 天每天 1 封,之後在訂閱第 7、14、30 天各 1 封)。MQL5 Market 版(首發價,隨銷量分階段漲價)漲價前也會通知您。在本站,只要擁有合作經紀商的真實帳戶,EA 即可免費使用。
※ 嚴格保護隱私。可隨時取消訂閱。
建立與匯入的基本步驟
- 在報價視窗按右鍵 →開啟「品種」,選擇「建立自訂品種」
- 在「複製來源」中,指定實際運作券商的相同品種(這是最重要的一步)
- 為品種命名(取一個能與原品種區分的名稱)
- 在「Tick」分頁匯入 Tick 的 CSV,或在「K 線」分頁匯入 1 分鐘 K 線
- 匯入後開啟圖表,以肉眼確認有無缺漏或異常值
- 在測試器中選擇自訂品種,以「基於真實 Tick 的所有 Tick」執行
若還不熟悉 MT5 的基本操作,建議先透過 MT5設定指南 整備好環境,作業會更順利。
規格漏同步而導致結果失真的項目
即使指定了複製來源,只要匯入資料的格式與其不吻合,或建立之後券商端的規格有所變更,仍會產生偏差。以下整理我們實際確認的項目。
| 項目 | 偏差時會發生的狀況 | 確認方法 |
|---|---|---|
| digits(小數位數) | 以點數指定的 SL/TP 距離差了數個數量級 | 將匯入資料的位數與券商的品種規格並排比對 |
| 合約大小 | 每 1 手的損益差了數個數量級(黃金尤其要注意) | 手算 1 手移動 1 點時的損益並加以核對 |
| Tick 大小・Tick 價值 | 損益計算本身產生偏差 | 將規格畫面的數值與券商品種比對 |
| 保證金計算方式・槓桿 | 本應因保證金不足而停止的局面卻被順利通過 | 確認保證金計算方式是否一致 |
| 隔夜利息(數值・方式・三倍日) | 持倉時間長的 EA 累計損益會出現明顯偏差 | 確認隔夜利息的方式、多/空數值與三倍日的星期 |
| 交易時間・時區 | 時段過濾與日 K 線的切分產生偏差 | 讓資料的 GMT 偏移量與伺服器時間一致 |
| 有無 Bid/Ask | 只有 Bid 的資料可能會被視為價差為零 | 確認匯入的 Tick 中是否包含 Ask |
digits:最不容易察覺
例如,將為 5 位數報價券商設計的 EA,放到以 3 位數資料建立的自訂品種上執行,「30 點的 SL」實際的價格幅度會變成 100 倍。EA 不會出現任何錯誤並持續運行,因此輸出的績效完全是另一套策略的結果。
合約大小:黃金容易出問題
XAUUSD 的 1 手是多少盎司,各券商並不相同。若不使用複製來源而是手動建立,這個欄位可能會維持預設值。損益會差上數個數量級,手數計算與回撤評估也會從根本上崩壞。
隔夜利息:持倉越久的 EA 影響越大
對於平均持倉時間達數十小時的順勢型 EA,累計隔夜利息對損益的影響不容忽視。然而自訂品種的隔夜利息是固定值,因此無法重現過去隔夜利息水準的變動。我們也沒有能精確重現這一點的方法,解讀結果時應保留一定的彈性空間。
限制與注意事項
即使在自訂品種中把規格完整對齊,以下幾點仍然存在。
- 無法重現成交狀況:滑價、拒絕成交、經濟數據公布時價差的急遽擴大,若資料中沒有包含,就不會反映在測試中。
- 無法完全確認外部資料的品質:外部 Tick 是否有缺漏、是否經過過濾,我們無法完全掌握。更換資料來源後績效改變是很常見的事。
- 與券商的價格差異:外部資料的價格,不保證與實際運作券商的報價一致。剝頭皮等價格波動幅度小的 EA 受影響越大。
- 結果越好越要懷疑:規格的偏差有時會讓績效看起來更好。當出現超乎預期的數字時,更要重新確認規格。
說到底,自訂品種是「拓展驗證範圍的工具」,無法取代使用券商資料的驗證。我們會確認券商實際資料與自訂品種兩者的結果方向是否一致。
各 EA 的驗證條件,公開於 實測排行榜 的各頁面。關於驗證的思路,也整理在 EA・MT5知識庫 中。
總結
- 自訂品種中容易出問題的不是資料,而是品種規格
- 建立時務必以實際運作券商的相同品種作為複製來源
- digits、合約大小、Tick 價值、隔夜利息、時區每次都要核對
- 手算每 1 手・每 1 點的損益來確認,是最快的方法
- 隔夜利息的變動、成交狀況、滑價無法重現
- 若出現好得過頭的結果,首先要懷疑規格是否有偏差
相關文章
📧 免費電子郵件課程(共 8 封)+ 訂閱者專屬 MT5 指標 13 款合集
訂閱後會立即收到訂閱者專屬合集的下載連結,內含本站 13 款 MT5 指標的已編譯檔案(.ex5)、原始碼和使用指南。隨後透過共 8 封郵件介紹外匯自動交易的本質、回測的正確解讀方法和經紀商選擇技巧(前 5 天每天 1 封,之後在訂閱第 7、14、30 天各 1 封)。MQL5 Market 版(首發價,隨銷量分階段漲價)漲價前也會通知您。在本站,只要擁有合作經紀商的真實帳戶,EA 即可免費使用。
※ 嚴格保護隱私。可隨時取消訂閱。