2012年5月23日 星期三

日盛-API 應用程式介紹

備份資料
http://ffbbhh.pixnet.net/blog/post/25375120-%E6%97%A5%E7%9B%9Bapi--%E6%87%89%E7%94%A8%E7%A8%8B%E5%BC%8F%E4%BB%8B%E9%9D%A2%E4%BB%8B%E7%B4%B9



下單前說明:

1.您必須擁有日盛期貨帳號,若沒有期貨帳號,請至日盛期貨開戶。
請務必下載HTS最新版本,並重新安裝 (舊版可能導致慢盤&送單延遲的風險)

2.此外,您必須確認已經安裝期貨商發給您的[中繼憑證]及[數位憑證] ,
若要匯出憑證,以日盛期貨爲例,請先登入日盛期貨的網頁,選擇"備份憑證",將憑證輸出成檔案存在電腦中,
以後只要開啓該檔案,就可以依照指示匯入憑證


01.配合HTS下單交易API程式,因此需安裝較新版本之HTS(程式會檢查並提示)
02.此一程式執行環境需事先安裝.NET Framework 2.0以上版本


(如無安裝.NET,程式啟動時會發生錯誤)
下載安裝網址


http://www.microsoft.com/downloads/details.aspx?displaylang=zh-tw&FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5





























HTS API使用說明






1. 簡介


API(Application Programming Interface)簡稱應用程式設計介面,


此介面提供事先預定的函數讓外部程式呼叫,


以與應用程式溝通或使用其服務.


HTS API 是以單一DLL(Dynamic Linked Library,


即HTSAPITradeClient.dll)形式提供


函數讓外部程式呼叫HTS 應用程式的下單核心服務.


交易員及程式設計師可使用開發工具(VB/VC++/Delphi/.Net/Excel等)


設計自己特製的下單應用程式(即個人下單機)


直接呼叫HTS API 或利用程式交易軟體(STS/Tradestation/MetaStock...等)產生買賣訊號後,


再直接呼叫HTS API 間接讀檔方式進行下單動作.






2. 架構


對整體下單軟體架構的了解將有助於後續的應用程式開發工作.










應用程式呼叫HTS API(即HTSAPITradeClient.dll)


内的函數將下單指令字串送給API


Trade Manager(即APITradeMgr.exe)進行字串語法檢核.


API Trade Manager 負責將正確的下單指令字串轉換成正式下單指令.


接著HTS 下單核心進行憑證檢查及憑證簽章後,


送給後台主機處理.


3. 程式設計


3.1 前置作業


請先正式登入HTS 成功後, 執行API Trade Manager(位於\HTS 安裝目錄\APITradeMgr.exe).

















3.2 API 函數說明


目前HTSAPITradeClient.dll 提供一個下單函數:


HTSOrder


Argument: string 下單指令字串


Return: none 無


Delphi Pascal 語言使用宣告為:


procedure HTSOrder(sOrderTokens: LPSTR); stdcall;


Tradestation 的PowerEditor EasyLanguage 使用宣告為:


DefineDLLFunc: "C:\JihSun\HTS2\DLL\HTSAPITradeClient.dll", void,"HTSOrder",


LPSTR;


唯一參數為下單指令字串, 語法規格如下表.

















範例1: 期貨下單字串


Market=F,Account=A01-1234567,ContractName=TXF,ContractDate=200808,OpenClose


Auto=A,BuySell=B,Lots=1,OrderType=L,Price=8888,FokIocRod=R,DayTrade=N






範例2: 選擇權下單


Market=O,Account=A01-1234567,ContractName=TXO,ContractDate=200808,CallPut=C


,StrikePrice=8000,OpenCloseAuto=O,BuySell=B,Lots=1,OrderType=L,Price=88,Fok


IocRod=R










3.3 函數呼叫






Delphi Pascal 語言:


HTSOrder(pansichar(`Market=F,Account=A01-1234567,ContractName=TXF,Contract


Date=200808,OpenCloseAuto=A,BuySell=B,Lots=1,OrderType=L,Price=8888,FokIocRo


d=R,DayTrade=N'));


Tradestation EasyLanguage:


HTSOrder(“Market=F,Account=A01-1234567,ContractName=TXF,ContractDate=20080


8,OpenCloseAuto=A,BuySell=B,Lots=1,OrderType=L,Price=8888,FokIocRod=R,DayTr


ade=N");






4. 執行結果






沒有留言:

張貼留言