元大期貨下單API詳細介紹

元大期貨下單API

元大期貨下單API-登入

前面一篇教學已經將壓縮檔解開編譯通過,這邊就略過直接進到程式碼部分,不清楚的同學請看前一篇。

在程式碼中搜尋,【button_login_Click】,登入button的事件。

button_login_Click

我們看到【m_yuanta_ord.SetFutOrdConnection】,參數依序是”身分證字號”、”密碼”、”IP”、”Port”。

m_yuanta_ord.SetFutOrdConnection

登入的接受事件【m_yuanta_ord_OnLogonS】,可以收到執行登入後的訊息,查看是否登入成功。

下單設定

接下來,來看下單的部分,首先找到【button_order_Click】。

m_yuanta_ord.SendOrderF

實際下單出去使用的function是紅色的區塊【m_yuanta_ord.SendOrderF】。

我將方法所使用的參數細分出來,打上註解,請讀者依照註解填入即可,Account部分每人都有所不同,自行Run過一遍就會知道實際填入參數。
委託書號欄位是用來“減量、刪單”,如果是新單則不需填值。
下完單之後,我們要利用【回報】來確認下出去的委託單是否成功,請看到【m_yuanta_ord_OnOrdRptF】、【m_yuanta_ord_OnOrdMatF】。
m_yuanta_ord_OnOrdRptF 是即時委託回報,表示委託成功或失敗。
m_yuanta_ord_OnOrdMatF是成交回報,表示委託單已成交。

m_yuanta_ord_OnOrdRptF

即時委託回報欄位說明

即時委託回報【m_yuanta_ord_OnOrdRptF】的欄位詳細解說

m_yuanta_ord_OnOrdRptF
m_yuanta_ord_OnOrdRptF
3Ts_code 對照表

在交易系統中回報最關鍵的核心功能是上面的Ts_Code表,表示回報的狀態,每一支策略對於回報的狀態都會有極高度的依賴性,這部分依照策略的需求來去調整。

即時成交回報欄位說明

即時成交回報【m_yuanta_ord_OnOrdMatF】的欄位詳細解說

m_yuanta_ord_OnOrdMatF

即時成交回報,同樣依照你的策略所需來開發相關功能。


在這邊我先做一個小結論,以上介紹的功能,已經足已構成一個基本的交易系統所需所有功能,搭配前一篇報價API組合起來就是一個完整的交易系統了。

主動查詢回報

接下來介紹主動查詢回報的部分,查詢委託紀錄先找到【button_rpt_Click】。

button_rpt_Click

m_yuanta_ord.ReportQuery所需填入的參數如下。

m_yuanta_ord.ReportQuery

回傳的委託回報事件如下圖位置【m_yuanta_ord_OnReportQuery】。

m_yuanta_ord_OnReportQuery

查詢到的委託回報是一整列的字串。
例如:rowCount=2 , Omkt=F|Mktt=0|Cmbf=1|Statusc=0|Ts_Code=0|Ts_Msg=委託成功|Bhno=F00| Acno=1234567|Suba=|Symb=TXFE9|Scnam=台指期 9 月|O_Kind=新倉(ROD)| O_Type=L| Buys=B| S_Buys=限買| O_Prc=6500| O_Qty=1| Work_Qty=1| Kill_Qty=0| Deal_Qty=0| Order_No=A0001| T_Date=20090519| O_Date=20090519| O_Time=091030| O_Src=E| O_Lin=E| A_Prc=0| Oseq_No=2009051900000012A0EO| Err_Code=0000| Err_Msg=| R_Time=091031| D_Flag=1| Omkt=O|Mktt=0….| R_Time=102558|D_Flag=1
是必須自己去拆解字串得到個別欄位,欄位解說如同即時委託回報欄位相同在此不再贅述。

查詢成交紀錄先找到【button_mat_Click】。

button_mat_Click

m_yuanta_ord.DealQuery所需填入的參數如下。

m_yuanta_ord.DealQuery

回傳的成交回報事件如下圖位置【m_yuanta_ord_OnDealQuery】。

m_yuanta_ord_OnDealQuery

查詢到的成交回報是一整列的字串。
例如:rowCount=2 , Omkt=F| Buys =S|Cmbf=1|Bhno=F00|Acno=1234567|Suba=0001| Symb=TXFE9|Scnam=台指期 9 月|O_Kind=新倉(ROD)| S_Buys=限買| O_Prc=6500| A_Prc=6500|O_Qty=1| Deal_Qty=1| T_Date=20090519| D_Time=091030| Order_No=A0001| O_Src=E| O_Lin=E| Oseq_No=2009051900000012A0EO|Omkt=O| Buys =B….| O_Src=E| O_Lin=E| Oseq_No=2009051900001011A0EO
是必須自己去拆解字串得到個別欄位,欄位解說如同即時成交回報欄位相同在此不再贅述。

主動查詢回報這個功能主要是系統出現異常狀況,發現回報有漏或是閃退需要回補的時候使用,還是要依照策略所需來開發,策略本身不需要歷史回報則這一塊功能可以跳過。

結論

交易API以上所述所有功能都必須實際操演練過一遍,再實戰過程中還有很多困難要解決,會因應策略本質上的特性需要去搭配,策略為【主】下單報價為【輔】,時常必須依照策略的特性去修改下單與報價的程式邏輯,所以工程師對於策略上必須有一定的了解,才有辦法開發出相當穩定的交易系統,各位讀者有空可以多多練習以上功能,在這邊給讀者兩個功課,觸價單與移動停損單,這兩種智慧單已經是把報價API與交易API做結合後才能開發出來的功能,預祝各位讀者開發順利。

元大期貨API下載連結

發佈留言

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