2017年6月30日 星期五

下單模組- A. 日盛下單API

首先,我要介紹一個我正在使用的下單API- 日盛API,這裡可能有點打廣告的嫌疑,不過在這塊他們的確比別的劵商更用心在經營。我後面會再介紹元大的下單API,他們可能是把重心和資源都移往MultiCharts了,因此使用上就要困難且麻煩。

日盛HTS API是以單一DLL(Dynamic Linked Library, HTSAPITradeClient.dll)形式提供函數,讓外部程式呼叫HTS 應用程式的下單核心服務,因此只要在Java程式中載入HTSAPITradeClient.dll即可使用它所提供的所有下單功能。另外日盛還提供一個 API Trade Manager,它的畫面如下:



這個畫面顯示它有模擬下單和正式下單,也有提供下單次數限制的防呆功能,我認為這一點在程式測試階段很重要,想像如果因為程式裏的一個疏忽,導致在一秒內以市價下了一百口的台指期,那時真的想哭都哭不出來。

前面提到在Java程式中載入HTSAPITradeClient.dll即可使用下單功能,但dll是一種與平台相依的函式庫,Java沒辦法直接叫用它,我這邊是使用了JNA套件,該套件的下載點https://github.com/java-native-access/jna

如下圖,程式的第16~23行是載入HTSAPITradeClient.dll,這個動作會在程式的最開始時執行;第25~29行是宣告一個介面,而這個介面是繼承JNA套件中的StdCallLibrary介面,另外在第27~28行宣告了兩個方法,這兩個方法都是日盛HTS API內的函數。我在這邊只示範了兩個函數,其實日盛API內還有很多函數,請各位真的有用到時再去參考。



最後提醒一下,目前HTSAPITradeClient.dll只能用在Windows x86

3 個意見:

2017年11月25日 凌晨12:16 , Blogger 貓兒 提到...

您好,感謝您的分享。想請問一下,您最後提到目前HTSAPITradeClient.dll只能用在windows x86。可是現在的機器很多都是64位元的。所以要使用HTSAPITradeClient.dll的話還要回去找32位元的系統來用,是這樣嗎?還是我有理解錯誤? 會這樣問是因為在我的安裝上的確最後卡在64/32位元系統的問題上。感謝您的時間。

 
2017年11月27日 晚上8:34 , Blogger alanyu 提到...

沒錯,HTSAPITradeClient.dll的確只能用在windowsx86,這是我透過營業員,找到他們電子商務部門的軟體人員所證實的結果。 幸好我還有一台電腦裝windowsx86, 不然就只能去租雲端主機了。

如果你是日盛的客戶就向營業員抱怨吧, 人多一點聲音比較大,他們改的速度或許會快些。

 
2017年11月27日 晚上8:36 , Blogger 貓兒 提到...

謝謝你的回覆!

 

張貼留言

訂閱 張貼留言 [Atom]

<< 首頁