內容目錄
為什麼需要歷史價格?
在程式交易EA的開發時,需要透過「回測」來得知交易策略的表現。
那回測就是使用某個商品的過往的歷史價格行情
來模擬交易策略進出場的狀況,並統計出盈虧。
所以在回測之前,我們需要先在軟體中準備好歷史價格,
這篇文章將會介紹兩種取得MT5回測歷史價格的方式。
本文章內容的影片版本,會放在文章最後面,
想要看影片學習的小夥伴也可以去觀看影片喔。
如果你是使用MT4的同學,MT4歷史價格看這篇:
回測MT4歷史價格資料下載教學與99.9%品質的Tick Data Suite
MT5券商內部歷史價格下載
有別於MT4使用券商內部歷史價格,MT5的券商歷史價格是不用事先下載的。
(MT4需要先到歷史資料中心依照商品來下載)
MT5是在你直接在回測時,你按下「開始回測」的按鈕後,
就會自動幫你下載券商內部的歷史價格,
所以使用者不用事先特別去哪下載。
如果你沒有回測過券商中的這個商品,
在第一次回測時按下開始後,
就可以在日誌中看到MT5正在下載該商品的券商歷史價格資料,
下載完之後就會自動開始回測了。
雖然使用券商內部的歷史價格資料免費又快速,
但券商內部的歷史價格資料可能會不完整、品質低,
因為券商主要提供的是下單交易的服務,並非是專門保存歷史價格資料的公司,
所以也沒有義務要提供完備的歷史價格。
那如果你使用的券商回測起來質量偏低,
如下圖回測完後的後臺測試的第一行「質量歷史」。
就可以使用外部歷史價格資料,來提升回測的準確度。
我們下面會介紹使用Strategy Quant這間公司的Quant Data Manager軟體,
來下載出高品質的歷史價格資料,並匯入我們的MT5當中。
Quant Data Manager免費下載歷史價格
第一步 下載與安裝Quant Data Manager
首先,我們要到Quant Data Manager的網頁
(https://strategyquant.com/quantdatamanager/download/),下載並安裝軟體。
在這邊我們選擇免費版即可,
點選「Get a free license」,然後填入你的姓名與正確的eamil,
Quant Data Manager就會寄送免費版本的使用金鑰給你。
然後點選下方的installer按鈕即可下載安裝檔,
安裝的流程就是正常的下一步、下一步即可安裝完成。
那MT5通常是安裝在Windows系統上,所以這邊選擇Windows。
雙擊打開桌面安裝完成的Quant Data Manager,
第一次開啟會要輸入你收到email中的金鑰。
開啟軟體之後,如果你想要把語言改成中文,
可以點選介面中間下方的「Setting」,然後language這邊改成中文。
第二步 把需要的商品叫出來
那我們就要來開始下載想要的交易商品的歷史價格。
到介面左上方有個紅色十字的「Dukascopy data」點一下,
然後再點選下方的「添加Dukascopy商品數據」,就會跳出來全部商品的頁面。
在你想要下載歷史價格的商品最前面打勾(可以一次選多個),
然後將底下的資料類型選擇為「M1數據」,
在按右下方「儲存」按鈕,
你選的商品就會被加入到你的頁面中。
第三步 下載商品歷史價格區間資料
然後勾選你要下載歷史價格的商品(可以複選),
勾完之後再點選上方Dukascopy data中的「根據現有商品下載數據」。
跳出的視窗中,你可以選擇下載的開始與結束日期,也就是時間區間。
設定完時間區間後,下面的勾選都如圖顯示,
就可以點選右下角的「開始下載」。
下載完成之後,
你就可以在有下載數據的商品後面會出現日期記錄的資料。
第四步 轉換GMT時區
在輸出資料之前,我們還要做一件事,
就是將商品歷史價格的資料轉換成你的券商的GMT的時區
例如台灣券商的時區是GMT+8,
我們勾選要轉換時區的單一商品,
再點選上方「工具」當中的「複製為止定時區」,
在跳出來的視窗中,「選擇地區時區」這邊的下拉式選單選擇「(UTC+08)Taipei」,
再點選右下角的「運行」
運行完成之後,
你就可以看到你原本的商品欄底下,多了一個「商品+UTCplus08」的商品了。
第五步 輸出&設定點差
最後一個步驟,就是可以輸出檔案了。
那在輸出的這個步驟時,要來設定我們的點差。
將已經轉換好時區的商品打勾,然後在上方選擇「輸出」,
再點選「輸出至MT5資料」,就會跳出右邊的最後確認視窗。
在這邊選擇「使用固定買賣價差」,
那上面那個是可以用小點(Point)來設定點差,例如32、35、38等這種非十位數整數;
而下面那個點數,指得就是大點,
這邊設定3,就是30小點的意思、設定4,就是40小點的意思。
所以可以都使用上面那個的小點來設定就好。
下面選擇好你檔案要下載的位置,
按下「輸出」,就可以得到該商品的歷史價格資料csv檔了。
MT5創建自訂交易品種匯入歷史價格
接下來我們就要把CSV檔匯入到我們的MT5中,
這樣我們才有高品質的歷史價格可以來做回測。
為了跟券商內部商品的歷史價格做區分,
所以我們需要創建新的交易品種,把上面從Quant Data Manager取得到的資料匯入。
那新創建的商品的規格,必須要跟券商原本的規格一樣,
所以我們會複製原商品的規格去做創建。
先在商品欄選擇你想要匯入的商品,點選右鍵後選擇「交易品種」,
再點選下方的「創建自訂交易品種」。
這邊我們只需要改名子即可,
合約規格的其他部份都不用修改,保持跟原本一模一樣。
名稱可以隨你喜歡自己改,
這邊艾比習慣加上一個點,並再加上SQ+8的名稱。
修改完名子後,按下確定即可創建出該商品。
然後我們要把Quant Data Manager匯出的歷史價格匯入這個我們創建的商品。
在交易品種的「Custom」當中找到你創建的商品並點開它,
上方找到「柱」,並點選「柱」,
之後選擇「導入直條圖」,點選「瀏覽」,
就可以把剛剛從Quant Data Manager匯出的csv檔案匯入了。
匯入完成之後,你就可以看到它每一格都填入資料了,
最後一格的「點差」,就是我們在Quant Data Manager最後一步匯出時所設定的。
按下「確定」之後就大功告成了。
那你想要回測的每一種商品,
你都需要從一開始的Quant Data Manager下載成csv檔案、
然後創建一個相對應的新商品、匯入csv檔案的方式一個一個操作。
MT5歷史價格資料總結
相對於MT4有TDS的軟體,可以實時隨時更新歷史價格做回測,
MT5需要自己手動至Quant Data Manager下載更新的歷史價格資料再匯入,
多了一些動作要做、有一點麻煩,
但好處是Quant Data Manager是免費的;而TDS是需要付費購買的。
如果你是使用MT4的同學,MT4歷史價格看這篇:
回測MT4歷史價格資料下載教學與99.9%品質的Tick Data Suite
而如果同學只是要回測近期的歷史行情,也可以試試看券商內部的歷史價格資料。
以台灣券商來說,是在2017年底開放的.
所以2017年前的歷史價格品質較差,但開放後的價格品質還可以。
同學們可以試著比對使用Quant Data Manager與你的券商的歷史價格各來回測看看,
如果券商提供的歷史價格品質夠用,那直接使用券商的也很方便囉。
MT4與MT5軟體的回測介面教學:
MT4與MT5軟體程式交易EA回測介面操作教學
EA回測報表的判讀 :
MDD是什麼?風報比是什麼?程式交易者在乎哪些回測分析數據?
👇投資自己的腦袋:
先感謝樓主的教學分享,但我已跟足了你所有步驟去做,代入時有看見更早時期的數據,即最早的03年,但再確認代入後,圖表上完全看不到,與未加前的狀況是一樣,請問樓主,這是什麼情況?
那你回測時選擇2003開始的話,能夠跑出回測嗎?