本期的工具分享順便帶大家了解一下MT4曆史回測的原理和過程,了解并懂得如何回測的同學請跳過。
顧名思義,曆史回測就是使用過去的市場數據對交易策略進行回溯測試和評估的過程。可以設置不同的時間框架、交易品種、交易參數等,以評估策略在不同市場環境下的表現,回測結束後,MT4會生成詳細的交易報告,包括總盈虧、最大回撤、收益曲線等關鍵指标,以便深入分析這些數據,找出策略的優缺點,調整策略的各項參數,尋找最優的組合,不斷提高策略的收益能力和穩定性。
另外,今天同時更新了BBcopy的跟單功能(按手數跟單),詳情請到大白交易助手搜索BBcopy查看并更新。
首先過一下今天的主角,這款工具是根據之前一位大佬思維編寫的一款全自動數據轉換工具,在大白之前的工具介紹文章中也有提到,唯一的區别就是,這款MT5 History Data To HST無需多餘的腳本轉換工具,即可一次性生成多個周期的曆史數據。直接導入到MT4的數據文件夾即可使用,操作非常簡單,使用非常的的人性。
原理:
1.通過MT5回測過程抓取交易平台的每個周期曆史數據,自動無損轉換成hst源數據。
2.數據下載完成後,自動提示和彈窗存儲曆史數據的文件夾。
使用方式介紹:
0.登錄一個和MT4賬戶同交易商的同類型實盤賬戶(重要)
1.打開MT5曆史測試,選擇工具MT5 History Data To HST
2.選擇你要下載的品種,選擇好周期(理論上所有周期均可,我習慣用M1)
3.選擇要下載的時間範圍,盡可能長,比如5年或者10年
4.選擇模式,“每次報價”或“1分鍾OHLC”均可。
5.查看回測日志,等待數據下載完成後,任務欄會主動彈出下載好的文件夾
6.複制粘貼到MT4的曆史數據文件夾,注意複制前請把文件夾内以前的數據清空
注:使用同平台同賬戶類型,是爲了在不斷網回測的情況下,新的數據在覆蓋舊數據時不出現數據差異或數據斷層(原理請參考餘下的文章),使用本工具轉換的數據請嚴格按照流程操作,否則數據完整性依然得不到保證,請慎重選擇。
以上就是這款工具的介紹,下面我們開始延申回測相關知識,有興趣的可以看看。
除了大家常用的T4/T5之外,市面上也有很多相關的回測工具或數據獲取工具,比如Tickstory,tick data suite(TDS),StrategyQuantX,QuantDataManager,strategyquant analyzer等,這些工具中,包含了獨立的曆史數據獲取和整理,以及獨立回測的的功能。
但無一例外,這些優秀的工具都需要你花大價錢去購買,包括國内的X寶也是标價大幾百。但你隻要學會使用了今天這款工具,就無需再去花冤枉錢,因爲這個工具面向的是全品種。
1.T4和T5的回測數據差異
雖然MT5多了很多種回測優化模式,但多數市面上的EA依然以MT4爲主,很多交易者依然很需要一份高質量的曆史數據。
從基礎的回測方式來說,兩個終端大體相同,唯一有區别的是,MT5和MT4的回測數據獲取過程不一樣,以下圖爲例:首先會檢查本地曆史數據緩存,如果緩存存在并且和服務器數據一緻,回測正式開始,否則從服務器再次補全缺失的數據,但是有一些細節不容忽視,下面簡單解析一下兩種終端的數據差異。
綜上,兩種終端的回測結果就會出現天壤之别的差異,進而導緻MT4的回測質量嚴重下降。細心的交易者就會發現,不同的數據質量跑出來的曲線是完全不同的,低質量的回測将變得毫無意義!這也是T4的回測質量下降的主要元兇。
思考:爲何會這樣呢?這個原因可能還要從MT4的産品缺陷上去歸咎,爲啥現邁達克官方全力推薦使用MT5?原因就在于,MT4的産品設計上存在着很多落後的功能,而T5就是爲了彌補T4的這些缺陷而設計。
2.爲何你的MT4回測質量達不到90%?
除了上面我們提到的數據差異問題以外,還有多種原因會直接影響回測質量,那就是數據源周期。
當使用存在問題的數據做回測時,自然就不能達到我們的預期效果了。
由于MT4特殊的回測過程,發生數據異常的原因也多種多樣,下面我們以一張簡單的圖來描述回測的準備過程
是不是很奇怪,怎麽會出兩種格式呢?這裏可能就要颠覆很多人的認知了,認爲fxt格式叫做回測的緩存數據,要經常清理。沒錯,确實是回測的緩存數據。
但不完全對,那爲啥這個文件動不動就是按G計算,而且這麽大呢?是不是感覺很占空間?無論是借助第三方工具還是自己下載的數據,都免不了這個過程,這也是回測中至關重要的一環。hst格式的數據屬于“源數據”,fxt格式屬于“可執行數據”,大家都知道mq4和ex4的差别吧?一個幾十kb的源碼,編譯出的ex4文件可能好幾百KB甚至好幾兆;曆史數據也是如此,就像源碼那樣,源數據是不能直接用于回測和使用的,必須經過“編譯”(轉換)的過程。
那麽隻有fxt文件可以回測嗎?答案是肯定的,當然可以。這就可以從第三方工具展開探讨一下。
數據在整理的過程中,第三方工具可以直接生成多種MT4終端可用的數據格式,其中,fxt較爲明顯,通過工具,把每一個周期的完整數據都按周期生成爲fxt格式的數據,就可以在終端直接回測。那麽上面我們講到,回測的時候要先從hst格式進行轉換,那fxt文件會被覆蓋掉嗎?這裏要提到一個文件讀寫的關鍵屬性。
這時候,你如果要測試更長的時間範圍,還得需要從第三方工具調整數據并重新生成新的 數據條目。因爲數據被固定,幾乎避免了各個環節可能發生的錯誤,所以第三方工具的數據質量大多數可以達到99%。但是隻要數據絕對可靠,即使使用自定義數據再經曆轉換的過程,也能保持90%
所以你認爲fxt格式的數據應該經常清理嗎?我覺得可以分情況。假如你使用了某些工具,數據已經整合了足夠長的時間範圍,并把文件設置爲隻讀,而回測的時候不需要調至最新時間數據,完全可以直接使用fxt文件在文件限定的範圍回測。這樣一來,回測将不再耗費額外的時間去轉換數據,大大提高回測效率。
删除后无法恢复
删除后无法恢复