什麼是優化(最佳化)?MT4與MT5程式交易EA優化功能操作教學

關於程式交易優化

什麼是優化(最佳化)?

優化 = 最佳化 = Optimization

通常我們將一個策略編寫完成一支EA之後,
在回測時會有一些參數需要設定,
常見的包括:止損(SL)距離、獲利(TP)距離、指標參數、K棒根數…等等。

而透過電腦自動運算這些參數的組合,
選出一組表現績效最佳的參數組合,
這樣的過程就叫做「優化」。

用白話文來講就是:透過歷史價格資料尋找出最佳解

艾比很喜歡用等小學課本上的高線地圖來解釋,
我們可能平常熟悉的地區是黃色圈圈那格,並以為黃色那格就是最佳解;
但透過空照圖,可以看到完整的地形,就知道最高的山頂是在哪。
而優化就是把空照圖的每一格都展示出來,
讓你一目了然知道紅色那兩個圈圈才是最佳解。

優化 最佳解

所以優化就是去看到整個地圖的全貌,然後挑選出最佳解的參數組合。
那這個過程都是由電腦自動執行的。

而當然你覺得所有參數表現得都不好,
你再去修改策略或是加入其他輔助策略(追蹤止損、其他出場條件等等),
這些也都是廣義的優化行為。

那我們在這篇所提到的優化,
就是單指透過讓電腦跑出所有的參數組合結果,這樣的過程。

 

程式交易為什麼要優化?

我們在使用EA的時,會面臨著一個問題,
就是我的EA參數要設定多少好呢

舉例「雙均線交叉策略」,所有交易員耳熟能詳的策略,
在黃金交叉時進場做多、死亡交叉時進場做空。
那我們應該如何設定長均線根短均線的週期呢?

有人會說設定60均與20均,
因為60是「一個交易季」、20是「一個交易月」;
那有些比較短周期的會使用5均跟10均,
因為是5是一周、10是雙周。
而坊間也會流傳著一些神祕的特殊週期參數設定。

那因為主觀交易無法通過人力將各種不同的參數都一一看過一次,
而程式交易由電腦執行,
所以可以讓電腦去自動運算成千上萬種排列組合,
從而得到哪些參數搭配才是績效表現最好的。

而「優化」這個步驟也是程式交易與主觀交易最大的差異,
主觀交易完全是由圖表的視覺來主觀判斷,
每一次都可能會在進出場上有些許不同;
但程式交易必須將規則與數值寫定在程式中,
所以要透過優化來選定出一組特定的參數,讓每次進出場都是統一的。

主觀交易與程式交易各有優缺點,
主觀交易較靈活,而程式交易能夠驗證獲利、自動運作、屏除人性,
更詳細可以閱讀:
程式交易是什麼?電腦可以自動做投資?程式交易3步驟與優缺點

 

優化的好處

1. 提高穩定性,讓策略更「抗壓」

優化的期間會盡量包含不同的行情,震盪、上升或下跌趨勢,
所以選出來的參數就要通過這些行情的考驗,
找到那些在多種市場情況下仍然穩定的參數組合,

優化讓我們在歷史數據中反覆測試不同情境,模擬可能遇到的市場狀況
讓策略更抗壓、更能夠適應未來的變動。

2. 控制風險,避免過度虧損

優化過程中除了尋找利潤最佳的參數,也能幫助我們識別和控制風險。
如果某些參數組合在回測中出現了大幅虧損,
代表這些參數組合存在較大的風險。

我們可以通過優化篩選掉這些組合,從而避免在實盤中出現過大的虧損。

3. 增加對策略的信心

當我們在實際進行交易時,信心也是很重要的關鍵。
優化讓我們能夠「看見」策略在不同歷史情況中的表現,
進而對它的穩定性與獲利能力有更充分的了解。
這種清晰的了解能幫助我們在市場波動時保持理性,增加了實盤運行的信心。

 

MT4MT5優化

MT4與MT5的優化功能在回測的介面,
所以大家打開回測,並先熟悉回測的操作。

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

 

MT4軟體的優化操作教學

首先在回測設定介面這邊.
我們要把優化打勾起來。

然後打開參數設定欄(EA交易屬性),把要優化的參數前面打勾,
此時這些參數將不再看它的「賦值」,
而是看後面三個:初始值、步長、終止值。

初始值,就是最小從多少數值開始、
步長,是每增加多少跑一次回測、
終止值,就是最大跑到多少數值結束。

上圖優化了四個參數:止損點數、獲利點數、短均參數、長均參數。
其中止損點數的初始值是500,代表從500小點開始,
每增加100小點電腦自動跑一次回測,所以就會是600、700、800…最終跑到1500小點結束。

設定完後按下開始回測,
進度條那邊就會顯示總共要跑幾個排列組合。

底下也會出現「優化結果」與「優化圖形」的兩個頁面,
優化結果是如下圖,會顯示每一次回測的簡單結果與參數組合;
優化圖形可以顯示兩個參數的二維平面圖,用顏色深淺來顯示表現好壞。

優化跑完之後,可以在優化結果這邊看到全部參數組合的結果,
若是你想要選擇某個參數組合單獨跑一次回測,看一下詳細的結果,
可以在該組合上按右鍵,選擇第一個「設置輸入參數」,
該組參數就會設定到單次回測的參數設定,
就可以直接跑單次的回測了。

 

MT5軟體的優化操作教學

在回測設定介面的最底下,
如果是跑一般回測,優化是選擇「禁用」;
那如果我們今天要跑優化,就選擇「完整算法」。

然後切換到輸入參數的頁面,把要優化的參數前面打勾,
這些參數將不再看它的「值」,
而是看後面三個:開始、步長、停止。

與MT4一樣的規則,
開始,就是最小從多少數值開始、
步長,是每增加多少跑一次回測、
停止,就是最大跑到多少數值結束。

那MT5在設定完參數的優化範圍之後,
就可以在底下看到總共要跑幾次回測(上圖的23595),
設定完成後按下綠色的開始按紐,就會開始跑優化。

 

優化跑完之後,可以在優化結果這邊看到全部參數組合的結果,
若是你想要選擇某個參數組合單獨跑一次回測,看一下詳細的結果,
可以在該組合上按右鍵,在點選「運行單個測試」,
MT5就會用該參數直接幫你跑單次回測。

 

MT5的優化圖形會顯示在上方圖表欄,
在圖表上按右鍵,可以切換成3D圖形。
(一樣一次也是看兩個參數而已)

 

EA一定要優化嗎?

不一定,也可以直接帶入主觀的參數。

在避免過度最佳化的篇章有提到,我們希望EA的策略盡量「簡單有邏輯」,
所以如果你使用你主觀判斷的參數設定就能表現良好、
或是你平常就是習慣用這組參數做主觀交易,
那就可以不用再優化。

或是可以再簡單優化下,看看你的主觀參數是不是落在「參數高原」。
這樣的主觀選擇參數是更好的選擇,更不容易陷入過度最佳化。

關於什麼是參數高原與過度最佳化,
可以參考以下艾比的教學短影片:

結語

基本上EA都需要通過優化來尋找到最佳的參數,
因為一個策略用在不同商品與不同時區時,參數通常都會不同。
能夠主觀帶入參數就直接表現好的EA非常少見,
也必須搭配開發者對該商品有深刻的了解才能做到。

優化算是整個在開發EA時最耗時的過程,
參數少時可能一個下午可以跑完;參數多時可能要跑個兩天兩夜,
所以盡量讓策略簡單並且參數數量精簡,
除了可以減低過度最佳化的機率,也可大大降低跑優化的時間。

 

 

👇投資自己的腦袋:

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

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

 

發佈留言

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