下單模組- 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。