MT4與MT5軟體程式交易EA回測介面操作教學

MT4與MT5軟體程式交易EA回測介面操作教學

什麼是回測?

當我們寫完一隻自動交易程式(EA)後,或是你今天從某處得到一支EA時,
我們通常不會直接就放到實盤去使用,
而是會先去「回測」來看看這支EA策略的表現。

那回測就是使用商品過往的歷史價格
讓EA在你選定的某段歷史區間去模擬交易時的進場與出場,
回測由電腦全自動自己執行。

不管你想要測試過往2年、過往5年、或過往10年的交易表現,
都可以在短短幾分鐘,甚至幾秒鐘內得到結果報表,
是觀察一個交易策略非常有效率的方法。
當然,前提是你的交易策略要能夠程式化,寫成EA。

今天我們這篇文章會教大家如何在MT4與MT5的軟體中回測你的EA,
在回測之前,我們要先來把EA新增至你的MT4或MT5的軟體中。

 

如何新增EA到MT4/MT5軟體中

首先,我們來到MT4或MT5的介面,
從右上角找「文件」的下拉式選項,並在點選「打開數據文件夾」,
然後在點選「MQL4」 (MT5是點選MQL5) 這個資料夾進去。

MT4MT5回測 1

在這裡面最常用到的分別為:
1. Experts:放自動交易程式EA的資料夾
2. Indicators:放指標的資料夾
3. Scripts:放腳本的資料夾

這幾個資料夾分別對應著MT4/MT5介面中「導航」那欄裡面的幾個功能選項。

MT4MT5回測 2

那EA的檔案就要放進「Experts」這個資料夾裡面,
就可以在MT4或MT5前台的導航欄的EA交易中看到它了,
也才可以進行回測。

 

開始回測

在MT4/MT5開啟EA回測介面

MT4可在介面上方找到一個有放大鏡的圖案,名稱為「投資策略測試」,
點下去即可開啟回測功能。

MT4回測

而MT5的話,則是在介面上方「查看」的下拉式選單中,點選「策略測試」,
就可開啟回測功能。

MT5回測

MT4回測介面設定

中間由上至下為:
1. 選擇要回測的EA、
2. 回測什麼貨幣或商品、
3. 復盤模式,
為價格精確度的選擇,

MT4分價格精確度分為三種:開盤價、控制點、每個即時價格。
1)每個即時價格最準確,但回測跑得很慢,需要最久時間;
2)控制點精確度普通,回測需要時間也居中;
3)只用開盤價精確度超低,艾比本人完全不會去使用這個,回測需要時間超短,瞬間跑完。
控制點是使用K棒的開高低收價格,去模擬出12個分價點,
一般想要先看看策略大概的表現時,就會去選擇控制點,很快就可以得到結果,結果也不會太失真。
但如果是快進快出的交易策略,像是剝頭皮策略,就會失真很多。

4. 使用日期,回測的起始時間到終止時間、
5. 復盤顯示,
這邊如果打勾,則會在回測時開啟跑動的K棒圖表,像是真實在交易一樣,

艾比強烈建議打勾,因為我們要看EA是否有在正確的點位進場跟出場。

MT4回測介面

右邊的選項則是:
6. EA交易屬性,
點開裡面可以設定EA的「外部參數」,也在這邊設定回測的起始資金,
還有讓EA只下多單或只下空單的設定也在這裡面。

7. 圖表週期為K棒圖表的時區、
8. 價差就是「點差」,外匯保證金交易的主要成本,
在MT4的回測設定點差為固定點差,並可以直接在這一欄做設定;
那MT5的部分點差是包含在歷史資料當中的,無法在回測時再去修改。
9. 優化,不打勾就是單次回測EA;如果打勾會去針對你有選定的外部參數做優化。

圖中黃色框框部份為有安裝Tick data suite這個軟體才會顯示的,
如果沒有,你的介面不會出現。

延伸閱讀:回測MT4歷史價格資料下載教學與99.9%品質的Tick Data Suite

Tick data suite提供MT4的回測使用者完整的歷史價格資料
而且不用下載檔案很大的價格檔案與自己灌入MT4中,使用上非常的方便。
它還有可以設定浮動點差、自訂槓桿、模擬滑價等功能,但是它要付費。

 

MT5回測介面設定

中間由上至下為:
1. 選擇要回測的EA、
2. 回測什麼貨幣或商品、
3. K棒的時區、
4. 選擇自定義週期,然後可以選擇回測期間、
5. 中文翻譯成「轉寄」,聽這個翻譯會完全不知道這個在幹嘛?
其實他是「向前測試」的功能 (英文叫做 Forward test)
會根據你這邊選定的日期把全部回測期間切開,後面的當作是假裝未來的測試,
主要是用在優化時,後面這段期間不會拿來擬合找參數(insample),而是當成outsample。
(所以其實就是艾比在課堂上跟大家講的樣本內外測試,in-out sample test)。

MT5回測介面

6. 延遲速度,可選擇他偵測到你伺服器的最後ping即可、

7. MT5的價格模式總共有5個等級:
1) 每次報價,就是每個tick都計算;
2) 每次報價基於真實報價,這個模式他會實際抓取你交易商伺服器報價的真實狀況,如果伺服器有滑點、斷線等狀況也會被放進去,所以他最接近真實交易狀況,
但交易商伺服器內的歷史價格只有在近期比較完整,早期價格跟伺服器狀況依然缺漏的問題;
3) 一分鐘HOLC,就是只使用1分K的開高低收價格;
(在MT5匯入歷史價格時有分bar跟tick兩種不同模式,這個就是bar)
4) 開盤價,只使用每根K棒的開盤價格,很快,但參考性極低;
5) 數學模式,這個模式下只會調用EA中的OnInit(),OnTester()和OnDeinit(),讓你做一些函數的計算。

8. 入金,起始金額設定、 
9. 槓桿設定(MT4回測只能依照券商槓桿,MT5則可以在這邊自行設定)、
10. 優化功能(MT5多了可以一次回測在報價欄中的全部商品)、
11. 視覺化模式,就是MT4的復盤顯示,可在回測時開啟跑動的K棒圖表、
12. 輸入頁籤,這邊是設定EA的外部參數。

另外,Tick data suite目前沒有支援MT5系統,
所以使用MT5回測的同學可以看一下券商本身的歷史價格資料是否完整,
如果不完整,那就要額外去自己匯入歷史價格資料。

延伸閱讀:回測MT5歷史價格資料Quant Data Manager免費下載與創建自訂交易品種匯入教學

 

回測在交易中的角色

回測不管是在手動的主觀交易或是自動程式交易當中,都是非常重要的,
可以說是一個交易策略,如果沒有經過回測,根本無從去判斷是否能使用。

而程式交易的好處就是可以透過軟體快速並自動的回測;
而一般的手動交易的交易者,通常是透過肉眼人工的方式,
將圖表從過往的某個時間點,開始去一筆一筆核對交易策略的進出場,
算是相當費工費時的過程。

我們來看一下,關於自動交易程式回測的優缺點:

回測的優點

1. 快速、省時
回測即使10年的過往歷史,使用速度較慢的精確價格模式,也頂多花費5~10分鐘左右的時間;
如果要大概看一下策略表現,使用像是MT4控制點模式,那只需要10~20秒的時間,即可得知結果。
快速省時絕對是程式交易中很大的優勢。

2. 自動統計報表
回測完成之後,軟體會給出一份統計報表,
讓你馬上可以知道策略能不能賺錢?風險有多大?下了幾張單?勝率是多少?等等…
可以依照報表來決定是否要使用該策略,
或是該從什麼方向去調整策略。

3. 驗證策略可行性
基本上一個交易策略在過往要會賺錢,我們才會願意在未來使用。
那當然會盡量排除是「過度最佳化」的可能性(報表會賺錢、但實際不會),
可以透過使用回測來做樣本內外測試(in-out sample test),
更有效的去檢測策略的可行性。

4. 優化找到策略適合參數
相同的策略使用在不同的商品、或不同的時區當中,
適用的交易參數會不同(例如:海龜突破的「20」日、月均線「20」與季均線「60」),
透過電腦自動的一次測試幾千種甚至幾萬種參數組合,
這是人工手動無法完成的事情。

回測的缺點

1. 略為失真
回測主要是透過「價格」來去做測試,但實際交易環境會更複雜,
包含滑價(滑點)、點差擴大、伺服器延遲或斷線、或券商不成交等等…
所以回測比較是屬於安穩的交易環境。
那以策略準確度來說,越是長線的策略(越不吃精確價格的策略),
回測出來的準確度、可信度越高。

2. 短進短出策略不適合
依照上面提到的原因,
極短線(例如:剝頭皮 scalper)的策略因為只要稍微偏差一點價格、或是進出場差個幾秒,
就會造成完全不同的表現,
所以容易造成回測表現超好、賺很多錢,但實際用了卻只會賠一屁股。

 

回測報表的判讀

回測完成之後的報表有著非常多的統計資訊,
最直觀的賺錢判斷法則是什麼?
哪些數據是程式交易者最在意的?
可以到艾比的這一篇文章來看喔:

延伸閱讀:
MDD是什麼?風報比是什麼?程式交易者在乎哪些回測分析數據?

 

 

👇投資自己的腦袋:

外匯保證金MT4/MT5新手村全修班(線上課程)

MT4/MT5程式交易(EA)語法撰寫實戰班(兩日實體+線上)

檢視自己↓

✅先收藏起來
🔔關注 @mt4mt5 學習更多交易知識

如果你有以下5個症頭
請先重點注意加強再投資‼️

----

1️⃣【存款不足】

當你今天的存款不足時
就把錢拿去投資是不正確的

你應該先存到足夠的緊急預備金
(3~6個月開支)
然後再拿一部份錢拿去規劃保險
以防不時之需

👉剩下多餘的資金再拿去投資

否則遇到緊急情況
心急反而會讓投資失利

----

2️⃣【尚未開始學習】

想在任何領域達到成就
學習一定是第一步📝

面對充滿風險的交易市場
沒有學習就投入金錢,那就會交學費給市場

你可以先看10本投資書籍
或是找幾堂投資課程上課
也可以追蹤一些投資帳號、多看一些投資資訊

----

3️⃣【情緒化】

帶著情緒在投資市場非常的危險
尤其是人性的貪婪與恐懼🎭

造成輸的時候不甘心,想再投錢進去凹單
獲利的時候抱不住,還沒到目標價格就先出場

甚至那些輸光家產的人
都是因為情緒化造成走火入魔👿

----

4️⃣【腦波弱、容易腦熱】

前兩年的NFT熱潮
眾多知名人士都出自己的NFT
各方散戶也都相互追捧

最後就只有發行人賺到了錢(割韭菜)
最後所有NFT暴跌成一文不值💸
如同1637年荷蘭的鬱金香泡沫

投資最重要的還是
👉「只碰自己熟悉的」

不要聽信傳言報明牌或媒體宣揚,就亂投資

----

5️⃣【懶惰、想不勞而獲】

想要沒有付出就得到收穫
就是現在詐騙集團猖獗的原因🤥

利用人的「不勞而穫」心態
使用保本、穩賺不賠的話術
而會上當受騙的
都是懶得查證、懶得學習的人們🤷‍♀️

要相信天底下沒有白吃的午餐
你只能賺到你認知範圍的錢

--------

追蹤 @mt4mt5

好奇你還有遇過因為什麼狀況
而導致投資失敗的嗎?

👇留言區跟艾比分享💬

#投資交易 
#trading
檢視自己↓ ✅先收藏起來 🔔關注 @mt4mt5 學習更多交易知識 如果你有以下5個症頭 請先重點注意加強再投資‼️ ---- 1️⃣【存款不足】 當你今天的存款不足時 就把錢拿去投資是不正確的 你應該先存到足夠的緊急預備金 (3~6個月開支) 然後再拿一部份錢拿去規劃保險 以防不時之需 👉剩下多餘的資金再拿去投資 否則遇到緊急情況 心急反而會讓投資失利 ---- 2️⃣【尚未開始學習】 想在任何領域達到成就 學習一定是第一步📝 面對充滿風險的交易市場 沒有學習就投入金錢,那就會交學費給市場 你可以先看10本投資書籍 或是找幾堂投資課程上課 也可以追蹤一些投資帳號、多看一些投資資訊 ---- 3️⃣【情緒化】 帶著情緒在投資市場非常的危險 尤其是人性的貪婪與恐懼🎭 造成輸的時候不甘心,想再投錢進去凹單 獲利的時候抱不住,還沒到目標價格就先出場 甚至那些輸光家產的人 都是因為情緒化造成走火入魔👿 ---- 4️⃣【腦波弱、容易腦熱】 前兩年的NFT熱潮 眾多知名人士都出自己的NFT 各方散戶也都相互追捧 最後就只有發行人賺到了錢(割韭菜) 最後所有NFT暴跌成一文不值💸 如同1637年荷蘭的鬱金香泡沫 投資最重要的還是 👉「只碰自己熟悉的」 不要聽信傳言報明牌或媒體宣揚,就亂投資 ---- 5️⃣【懶惰、想不勞而獲】 想要沒有付出就得到收穫 就是現在詐騙集團猖獗的原因🤥 利用人的「不勞而穫」心態 使用保本、穩賺不賠的話術 而會上當受騙的 都是懶得查證、懶得學習的人們🤷‍♀️ 要相信天底下沒有白吃的午餐 你只能賺到你認知範圍的錢 -------- 追蹤 @mt4mt5 好奇你還有遇過因為什麼狀況 而導致投資失敗的嗎? 👇留言區跟艾比分享💬 #投資交易 #trading

2 thoughts on “MT4與MT5軟體程式交易EA回測介面操作教學

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *