內容目錄
艾比常常會遇到代寫客戶或是學員問說:
他有一個從某個地方得到或買到的技術指標,他用起來覺得很順手(會賺錢),
能否把這個指標寫進全自動EA(Expert Advisors (EA)),實現進一步躺賺?
那我們今天就來看看,這種由外部開發的技術指標,是否能寫成EA?
什麼是外部指標?
MT4與MT5交易軟體內建的技術指標本身就非常豐富,
這些在軟體中安裝預設好的指標,又稱為「內建指標」,
在MT4與MT5的程式交易EA中,
都可以用簡單的語法,輕易地去抓取這些技術指標的數值,來設定你的交易策略。
但因為MT4/MT5也有著強大的程式交易系統,
不只可以讓使用者利用程式碼編寫自動交易程式EA,
也可以編寫客製化的自定義指標,又稱為「外部指標」,也就是非內建的技術指標。
外部指標因為完全可以依照使用者的要求來編寫出指標,
所以也是非常多資深交易者喜歡使用的工具。
除此之外,許多交易者也非常迷戀外部指標,
因為這些由世界各地交易者自行開發的技術指標,多少帶著神秘色彩,
而在交易界有種說法是,跟別人用不一樣的方法去看市場,勝率比較高。
這些外部指標是否也能在MT4與MT5的程式交易中,去抓取值來編寫進EA呢?
基本上是可以的,但不是所有指標都可以,
我們要先去判斷此外部指標是否有「回傳值」,
這個部分我們會在本文的最後一段來做講解。
會編寫MQL4與MQL5的程式交易者,可以透過編寫程式碼寫出自己的外部指標,
那不會編寫的交易者也不用太擔心,
因為現在網路資源非常發達,
許多網站都能夠下載到來自世界各地交易者編寫開發的外部指標,
其中很多也提供開源程式碼,
讓下載的人能夠在依照自己的喜好去修改。
接下來我們就來看看,在網路上幾個常見可以下載到外部指標的方法:
哪裡可以下載到外部指標?
1. 直接google指標名稱
如果你已經有想好你想找什麼指標,那最快速的方式就是直接google它。
你可以使用「指標名稱+MT4」、「指標名稱+MT5」、
「指標名稱+MQL4」、「指標名稱+MQL5」的方式來搜尋你想找的指標。
當然指標名稱使用英文,你搜尋到的資源會多很多。
雖然搜尋結果很有可能是下面會介紹到的三個網站,
但因為MT4/MT5的編程系統很發達,所以在國外有非常多開發者,
可能會放在自己的網站讓給人去下載或購買。
例如下圖就是艾比直接google「market profile MT4」:
第一個網站點進去,它就有已經製作好的market profile(市場輪廓)指標,
(https://www.earnforex.com/metatrader-indicators/MarketProfile/)
還有講解跟教學參數,與MT4、MT5雙版本的指標檔案,而且還有提供原始程式碼!
在網路上MT4與MT5的資源是相當豐富的。
2. MQL5官網-論壇
那google的搜尋結果最常出現的,應該就是MT4/MT5的官網了,
官網聚集著全世界各地的程式交易者,
各種EA、函數、技術指標等,在官網多到不行,而且大部分有開源程式碼。
今天我們想找一個可以在MT5畫出區間高低點的指標,
在google輸入「price channel mql5」,第一個就會是MT的官網程式碼資料庫。
(https://www.mql5.com/en/code/44)
點選紅色框圈起的mq5檔案就可以下載指標的程式碼檔案,
使用MT5編輯器編譯過後就可以直接使用。
如果是安裝國內券商的MT5而無法連入MT官網的同學,
可以使用以下方式來解除限制。
3. MQL5官網-市場
說到MT官網,除了有海量的免費資源之外,
也有非常多已經開發好並打包成商品販售的交易工具,包含技術指標。
在官網上方找到市場(Market),點選進去之後,
就可以選擇你要MT5還是MT4的EA(Experts)、指標(Indicators)、腳本、工具。
那這些商品底下有它的購買費用,或是點選上面的free也有免費的,
只不過免費版很多是功能不那麼完整的試用版,作者還是希望你去購買他的完整版。
那對於一個不了解的EA或指標,一般人當然是不會去購買的,
所以官方市場提供了很方便的回測試用功能,
你點進去任何一個商品裡面,在左側下方可以找到「Free Demo」,
點選一下後會自動連結到你的MT4或MT5,
你可以打開你的回測介面,用回測的方式,來試用這個技術指標。
覺得好用之後再去購買。
官網的這個市場是非常有趣的一個地方,
對程式交易或指標有興趣的同學,有空真的可以多來這邊掏寶看看,
看看外國人現在都流行玩什麼XD
4. FOREX FACTORY論壇
如果你google一些關於MT4/MT5的EA或指標,常常也會出現一個網站,
就是「Forex Factory」,那它是一個論壇,也是程式交易者挖寶的好地方,
也會有很多國外網友分享的EA、技術指標、工具等等,也大部分都有原始碼。
例如艾比有在用的:「畫出歷史下單軌跡的腳本」
(https://www.forexfactory.com/thread/46668-improved-orderhistory-mq4-script-to-display-trade-history)
就是在這篇帖子上下載的,作者非常用心,還一直有在更新版本,
點選帖子最下方的附檔即可下載mq4的原始碼檔案。
到你的MT4交易帳戶中,把歷史紀錄調整到全部打開,
在開啟你有交易的商品圖表,
把這個腳本載入圖表,它就會畫出你歷史交易的軌跡,
buy單sell單的顏色不一樣、獲利出場還是虧損出場會用實線虛線區分、TPSL的價位也會幫你標記出來。
這個小工具拿來檢討交易紀錄真的很好用,免費給大家下載使用,而且還有原始碼檔案真的很佛心。
MT4與MT5因為編程系統成熟,國外發展歷史悠久,
在網路真的非常多好用又免費的資源。
5. ChatGPT等語言機器人
AI都可以自動生成EA的程式碼了,生個指標應該也沒問題。
那艾比使用ChatGPT測試了一下,它產生的指標程式碼看起來有模有樣,
但放入編輯器之後編譯還是有滿多bug的,
所以目前要請ChatGPT來寫技術指標,還不如直接google現成的比較快速。
那當然因為現在AI文字生成處於剛發展階段,未來幾年後想必請AI寫出什麼都不是問題。
接下來艾比有時間也會陸續來測試ChatGPT寫不同難度的指標看看。
好,那這麼多的外部指標能不能在MT4與MT5的程式交易中,寫進EA裡面呢?
回答這個問題之前,我們要先來了解一下,
在MT4/MT5軟體介面中的一個功能,「數據窗口」。
MT4/MT5的數據窗口
如何開啟數據窗口?
打開MT4軟體之後,在上方檢視與插入的中間下面一點,
可以看到一個像狙擊槍的圖示,
點一下這個圖示就可以開啟MT4的數據視窗。
MT5則是要從上方工具列當中的「查看」點一下打開,
在展開的工具列中可以找到數據窗口,點一下即可開啟。
或是使用快捷鍵 Ctrl+D 也可以快速開啟。
開啟數據窗口之後,
接下來我們只要把滑鼠的游標移到任何一根K棒上面,
就可以從數據窗口看到這一根K棒的資訊,
包含時間、「開、高、低、收」四個價格、還有成交量。
你在圖表中載入的內建技術指標,也都能夠在數據窗口中看到,
可以看到技術指標在該根K棒的數值是多少。
如果該技術指標有多個值,也可以看得到。
例如上圖的MACD有柱狀體(主線)的值與信號線(Signal)的值。
那在編寫程式交易EA時,就要稍微注意一下取的是哪一個數值,
否則取錯數值那策略就會跟你想的不一樣了。
如何判定外部指標能不能寫成EA?
在取內建指標時,MT4與MT5都有固定函數可以直接取用;
那如果是外部指標,我們則統一都使用「iCustom」這個函數來取數值。
但不是所有的外部指標都可以寫進EA,
主要是要從數據窗口去看,該外部指標是否有「回傳值」。
下圖我們在圖表中加入了MQL5官網下載的Price channel(價格通道)的的外部指標,
我們將滑鼠移動到隨便一根K棒時,
可以在左邊數據窗口看到多了兩個數值(TOPBAND與BOTBAND),
分別就是Price channel的上通道與下通道。
在這邊,我們就可以透過看是否數據窗口有數值,來確認外部指標能不能被寫進EA使用。
如果指標載入圖表,在數據視窗有出現對應的數值,
那就是可以被寫進EA,
因為我們可以在程式碼中抓取到這個數值。
而使用iCustom函數來抓外部指標的數值時,要注意具體要抓哪一個數值,
就會是按照顯示的順序,從上開始的第一個是0、第二個是1、以此類推…
相反的如果你的指標在入圖表後,卻沒有顯示數值在數據窗口,
那很抱歉,你的指標沒有回傳值,
所以無法被程式碼讀取到、沒有辦法寫進EA當中。
那為什麼有些外部指標會沒有回傳值?
因為它的作者在開發時就設定只會畫出圖案、但沒有回傳值這樣。
如果你又沒有該指標的程式碼檔案,那就完全沒辦法了,
如果你有程式碼檔案,那還可以有機會寫入回傳值的顯示;
不然就是要了解指標是透過什麼邏輯計算出來的,
直接把這個邏輯寫在EA裡面的方式,就是不透過讀取外部指標數值了。
數據窗口這個工具,不只使用在看外部指標時,
對EA工程師來說,數據窗口非常的重要,也常常使用到,
在檢視EA的交易策略是否正確時,就需要叫出數據窗口,來比對詳細的數值。
因為很多時候用肉眼看指標跟價格可能很接近,
但數值叫出來就是沒有超過,所以EA會執行、或沒執行一些動作。
有在使用EA程式交易的同學,
一定要學會去使用數據窗口,來幫助你核對交易策略是否正確喔。
👇投資自己的腦袋:
相關文章