下單機原始碼串接教學
MR下單機與各種程式交易運算平台的溝通方式是使用文字檔,只要文字檔格式一致,不管是什麼平台皆可以串接,我們提供的範例是以Multicharts平台作為說明,透過策略運算時輸出文字檔給MR,MR再將文字檔內容呈現在監控端,並由下單端計算部位下單,接下來我們就來詳解Multicharts的輸出策略程式碼,如果有其他平台要與MR串接時,可參考文章最末端輸出格式即可。接下來,我們會逐行的針對*_OutputByTick程式碼進行說明,如下圖,該區塊是變數定義以及賦予值進行後面的計算。
1、此程式開啟IOG模式,代表著每個Tick收到時候會輸出一次
2、使用者自定義變數,第一個為策略名稱,第二個為策略會執行的最大口數
4、各類變數宣告
5、將目前策略方向賦予MP變數
6、策略歷史已平倉績效賦予closedprofit變數
7、策略歷史已平倉績效+目前未平倉績效賦予openprofit變數
8、當前部位淨損益賦予NowProfit變數
下圖程式碼區塊為策略自動上下架範例區塊,使用者了解程式碼後可以自行修改上下架邏輯,控制ActMode數值即可達到策略自動化上下架目的,1為上架,0為下架。
12、各類變數宣告
14、RH為過去最高淨值,當目前策略淨值超過RH則代表策略創高,將RH賦予目前淨值
15、將當前淨值-最高淨值即可取得目前績效回落數值,即為Drawdown
16、LD為Max Drawdown,若當前績效回落數值<過去Max Drawdown則代表績效創新低
17、RetrDD為目前淨值減去Max Drawdown,代表目前淨值從最低點拉升數值
18、checkdd為當前淨值-最高淨值,若為0代表績效創高,將Max Drawdd歸0
19、若前一跟K棒計算的淨值從最低點回升500點,則策略上架
20、若前一跟K棒計算的Max Drawdown小於-1000點,則策略下架
21、若策略從下架轉為上架,則紀錄重新上架次數以及將RH賦予目前淨值
下圖區塊為自訂EVA評價函數區塊,使用者可以自行定義評價數值後,賦予EVA,就可以在監控端即時看到數值了。
下圖區塊為結算日設計區塊,使用者主要只需針對bIsNightTrade進行設定,其餘部分不需要更動,詳細說明可以參考結算日說明與注意事項。
下圖區塊為輸出文字檔區塊,output變數為文字檔內容,每個欄位使用逗號分隔,總共有16個數值輸出,監控端則依照輸出的數值呈現。
50、輸出DLL檔放置路徑
51-54、文字檔內容
55、輸出文字檔路徑與文字檔檔名