T4.dll下單元件更新說明(1.0.131)

格式
doc
大小
1.13 MB
頁數
53
上傳者
Jeff Lin
收藏 ⬇️ 下載檔案
提示: 文件格式为 Word(doc / docx),轉換可能會出現排版或格式的些許差異,請以實際檔案為準。
此檔案建立於 2013-06-13,离现在 12 135 天,建議確認內容是否仍然適用。

2013/06/05 更新

T4.dll 下單元件使用說明

[版本]: 1.0.13.1

[日期]: 2014/02/27

[異動內容]:

  1. 新增:證券未實現損益匯總查詢 stock_balance_sum

  • 新增:證券未實現損益個股明細 stock_balance_detail

  • 修正:國外期貨商品小數點檢查錯誤導致無法交易玉米粉。



    [版本]: 1.0.13.0

    [日期]: 2013/10/01

    [異動內容]:

    1. 採用新的驗章元件 (支援256bits) 請注意!DLL有增加、減少。

    2. 修正非同步驗章 bug

    3. 修正回報主動 Event (僅供 C/C++/C# 使用)



    [版本]: 1.0.12.9

    [日期]: 2012/06/05

    [異動內容]:

    1. 增加國外期貨下單回傳格式,附件(十四)

    2. 增加多執行緒非同步驗章

    3. 增加週選擇權複式單 (Time Spread)

    4. 增加主動回報Event 測試版 (僅供 C/C++ 使用)

    5. 增加支援 一週期貨 (MX1, MX2, MX4, MX5)




    [版本]: 1.0.12.7

    [日期]: 2012/07/13

    [異動內容]:

    1. 增加 future_change 改價

    2. future_cancel 不需帶 oct_type

    3. option_cancel 不需帶 oct_type

    4. 登入 ID 可以為 6-10 (8-10)



    [版本]: 1.0.12.6

    [日期]: 2012/02/16

    [異動內容]:

    1. stock_order 參數修改:定盤、漲跌停,價格參數不被參考,自動修正。

    2. 國外期權益數查詢增加「追繳金額」。

    3. 修正異常封包可能誤判委託成功。

    4. 同時有兩程式作憑證驗章時,會自動重試兩次。(總計三次) 避免短時間鎖住憑證檔案。

    5. 多執行緒時,增加同步驗章程序保護措施。(如果同時呼叫,會自動排隊接續作)

    6. 更換前,請務必保留您原始的t4.ini 設定值。

    7. 減少檢查IP 次數。

    8. 修正異常封包可能造成連線中斷。

    9. 修正Alive 封包傳送Interval

    10. 國外期貨委託查詢上限增至999 筆。

    11. 成交回報、委託回報上限至9000筆。

    12. 修正重新連線失敗後,持續重新連線。

    13. 修正上午10:05:30 10:05:40 期間可能誤判封包造成斷線的問題。

    14. Proxy Http Header 增加支援HTTP/1.0 其他相容版本。

    15. 新增fo_order_qry2 可僅查詢API 紀錄,原fo_order_qry 仍可繼續使用。

    16. 4, 請注意:彙總查詢時,無法僅針對API 來源單作查詢。

    17. 文件修正:國外期貨參數應無octtype ordtype 欄位之說明。

    18. 文件修正:期貨、選擇權下單回傳格式如附件()

    19. 文件修正:fo_unsettled_qry 對應回傳格式如附件(十一)

    20. 文件修正:ff_get_position 對應回傳格式如附件(十二)

    21. 文件修正:附件() 新增兩欄位。

    22. 範例修正:國內期權委託查詢可指定是否含預約單。

    23. 範例修正:國外期貨部位查詢依照附件(十二)

    24. 修正41020 的欄位數為27 而不是2526

    25. 修正option_order 檢查log 失敗則不繼續執行的奇怪現象

    26. 修正fo_get_day_info 回傳為20000 無此資料時,造成exception
      修正fo_get_hist_info 回傳為20000 無此資料時,造成exception

    27. 修改10.7 的邏輯判斷錯誤,造成長度合法反而一直失敗
      修改alive 不屬於追蹤封包一者,以免影響回應封包

    28. 修改acc 允許帳號長度為8 ~ 10 (國內法人為8)

    29. 修改RecvFromServer thread timeout infinite

    30. 修改timer 迴圈, 不再以Windows Message Procdure 驅動send_alive, 而以獨立thread 作觸發

    31. 修正log 同步問題, 這是由於之前的版本可能會有stack overflow issue, log 2k 搬到global 導致

    32. 修正account_list 未重置, 導致account number 在第二次登入時為0


    ()檔案存放位置:

    1. 請在 C:下面建立一個 C:vba dll 的目錄, 並將下列檔案置於此:



    ZIP檔內尚有『T4.dll下單元件使用說明.doc』、『VBA T4 Sample下單.xls』及DDE期權報價範例檔,可以移出不一定要放此路徑內。



    1. 並在此目錄下建立一個C:vba dlllogs 的目錄,方便未來問題排除。

    Log 檔案命名規則:

    User ID(通常是身份證號)-年月日-[--].txt

    : A123456789-20110102-11-12-13.txt,表示201112111213秒,以A123456789 登入。


    1. 爾後若有更新版本,在您登入元件時,將會跳出『版本即將到期』的警告視窗,如下圖,
      請用戶自行至永豐金API網頁自行下載更新檔。
      更新前,為了預防您換版時的非預期狀況,建議您請先將舊版本備份。

      http://www.sinotrade.com.tw/ec/eleader1/API.htm

    ()基本操作說明

    API (Application Programming Interface)


    目前採用DLL (Dynamic Linkable Library) 方式發行。

    使用者必須自行開發應用軟體後,連結t4.dll,方可使用API 所提供之功能。


    1. 請依照一般之DLL 載入方式載入t4.dll

      1. 受限於程序生命週期,單一程序僅得以註冊一次,重複註冊會得到「已初始化」之回應,並不會重新以指定之使用者ID、密碼註冊之。

      2. 如果有「同時使用API 作不同使用者ID登入之必要」時,必須確保在不同執行程序下個別載入API

      3. 請勿利用API 元件登入非您本人所持有之帳戶。


    1. VC 載入方式

      1. 請使用LoadLibrary 載入t4.dll

      2. 請使用GetProcAddress 取得各函式位址。

      3. 一旦不再需要使用,請利用FreeLibrary 釋放DLL

      4. 傳入參數以MCB 方式傳輸字串,並未採用Unicode(可採用const char*LPCTSTRCString,等) (MCB=Multi-Code Bytes)

      5. 回傳值多以BSTR 為之。(少數使用long)

      6. 請留意函式名稱有區分大小寫。


    1. Excel / VBA 載入方式

      1. VBA 必須以絕對路徑寫明DLL 所在位置,若您不確定,可以採用範例的C:vba dll 即可。

      2. Excel 安全性必須降至足以執行巨集(Macro)方可操作DLL

      3. 進入「設計模式」前,請務必先登出DLL,以免發生無法預期的錯誤。


    1. 其他開發軟體

      1. 請留意各函式所傳遞之參數格式與回傳之格式(BSTR 回傳值以標註紅色字體)

      2. 所有函式均以STDCALL 形式宣告,期參數傳遞順序與PASCAL 相同,非FASTCALL 亦非C CALL


    1. 所有函式操作,必須先經成功的登入init_t4


    1. 下單之前,必須以add_acc_ca 將該帳戶加入憑證清單

      1. 期貨帳戶下單前,必須將該期貨帳戶加入憑證清單

      2. 證券帳戶下單前,必須將該證券帳戶加入憑證清單

      3. 欲下單之帳戶,必須隸屬於登入之使用者id,否則不論憑證是否有效,皆無法下單。


    1. t4.ini 設定(如不清楚,請保留原始設定即可)

      1. 主機連線位置設定:Address (更改可能導致無法連線)

      2. 主機連接埠設定:port (更改可能導致無法連線)

      3. Proxy 連線位置設定:ProxyAddress (僅在需要代理連線主機時設定之)

      4. Proxy 連接埠設定:ProxyPort (僅在需要代理連線主機時設定之)

      5. Proxy 帳號:ProxyAccount (僅在代理連線主機需要登入帳號時設定之)

      6. Proxy 密碼:ProxyPassword (僅在代理連線主機需要登入帳號時設定之)

      7. 關於Proxy 代理主機,請就您使用之網路環境管理員作查詢後再于以設定,請注意:使用來路不明的代理主機,可能導致網路封包內容被側錄。


    () API 函式一覽表及使用說明


    函式名稱

    函式用途簡述

    i.

    init_t4

    初始化 (建立 DLL 環境、連接主機、登入永豐金證券/期貨)

    add_acc_ca

    帳戶加入憑證清單 (下單之前必須加入)

    verify_ca_pass

    憑證驗證測試 (必須為已加入憑證清單之帳戶)

    ii.

    stock_order

    國內證券下單 (證券帳戶必須加入驗證清單)

    stock_cancel

    國內證券刪單 (證券帳戶必須加入驗證清單)

    future_order

    國內期貨下單 (期貨帳戶必須加入驗證清單)

    future_cancel

    國內期貨刪單 (期貨帳戶必須加入驗證清單)

    future_change

    國內期貨改價 (期貨帳戶必須加入憑證清單)

    option_order

    國內選擇權下單 (期貨帳戶必須加入驗證清單)

    option_cancel

    國內選擇權刪單 (期貨帳戶必須加入驗證清單)

    ffuture_order

    國外期貨下單 (期貨帳戶必須加入驗證清單)

    ffuture_cancel

    國外期貨刪單 (期貨帳戶必須加入驗證清單)

    iii.

    get_response

    國內下()單回報查詢 (e-Leader 8891)

    ff_get_response

    國外()單回報查詢 (e-Leader 8002)

    fo_unsettled_qry

    國內期權未平倉查詢 (e-Leader 7201)

    fo_order_qry

    期權委託查詢 (e-Leader 6207)早期版本

    fo_order_qry2

    期權委託查詢 (e-Leader 6207) 新版

    ff_get_info

    國外期貨權益數查詢 (e-Leader 8003)

    stock_balance_qry

    國內證券庫存查詢 (e-Leader 3202)

    stock_balance_sum

    國內證券未實現損益匯總。 (e-Leader 3324)

    stock_balance_detail

    國內證券未實現個股明細。 (e-Leader 3151)

    ff_get_positions

    國外期貨部位查詢 (e-Leader 8001)

    ff_order_qry

    國外期貨委託查詢 (e-Leader 8002)

    fo_get_day_info

    國內期權當日權益數查詢 (e-Leader 7102)

    fo_get_hist_info

    國內期權歷史權益數查詢 (e-Leader 7103)

    iv.

    get_response_log

    交易回報紀錄

    check_response_buffer

    主動(即時)交易回報-檢查是否已收到回報

    timer_response_log

    主動(即時)交易回報-讀取回報內容

    get_response_evt

    取得回報 Event Handle

    fifo_response_log

    先進先出式交易回報

    v.

    change_echo

    切換下單回覆模式 (下單後是否等待委託回報,預設為「on)

    log_out

    登出 init_t4,並清除所有已列之憑證

    show_version

    回傳目前 API 版本

    show_list

    回傳目前使用者下所有帳戶 (包含證券帳戶、期貨帳戶)

    show_list2

    回傳目前使用者下所有帳戶(包含證券、期貨及帳戶別)

    show_ip

    顯示連線主機 Domain Name


    () i. 初始化函式


    函式名稱:

    init_t4

    函式功能:

    初始化(建立DLL 環境、連接主機、登入永豐金證券/期貨)

    VC 宣告:

    BSTR init_t4( char* login_id

    , char* login_pass

    , char* dll_path );

    VBA 宣告:

    Private Declare Function init_t4 Lib "C:vba dllt4.dll" _

    (ByVal login_id As String _

    , ByVal login_pass As String _

    , ByVal dll_path As String) As String

    傳入參數:

    login_id : 使用者ID (通常為身份證號,非帳戶)

    login_pass : 登入密碼(連線登入密碼,非憑證密碼)

    dll_path : DLL 放置路徑(空白或不指定則自動偵測)

    使用範例:

    ret = init_t4( "A123456789", "12345678", "" );

    回傳值:

    正常:初始化成功(或:已初始化)

    異常:會以"Error:" 開頭,接著錯誤訊息。



    函式名稱:

    add_acc_ca

    函式功能:

    將證券、憑證帳戶加入憑證清單(下單之前必須加入)

    VC 宣告:

    BSTR add_acc_ca( char* branch

    , char* account

    , char* acc_id

    , char* ca_path

    , ca_password );

    VBA 宣告:

    Private Declare Function init_t4 Lib "C:vba dllt4.dll" _

    (ByVal branch As String _

    , ByVal account As String _

    , ByVal acc_id As String _

    , ByVal acc_ca_path As String _

    , ByVal acc_ca_pass As String) As String

    傳入參數:

    branch: 分行(期貨以F開頭, 證券僅代分公司代碼)ps.分公司與帳戶可由show_list取得

    account: 帳戶

    acc_id: 憑證ID (身份證號)

    ca_path: 憑證檔案所在路徑

    ca_password: 憑證密碼

    使用範例:

    期貨:ret = add_acc_ca( "F002000", "9999999", "A123456789", "C:eKey551A123456789S", "12345678" );

    證券:ret = add_acc_ca( "9A95", "9999999", "A123456789", "C:ekey551A123456789S", "12345678" );

    回傳值:

    正常:CA憑證資料登錄成功

    異常:"Error:" 開頭,接著錯誤訊息。








    函式名稱:

    verify_ca_pass

    函式功能:

    憑證驗章測試

    VC 宣告:

    BSTR verify_ca_pass( char*branch, char*account );

    VBA 宣告:

    Private Declare Function init_t4 Lib "C:vba dllt4.dll" _

    (ByVal branch As String, ByVal account As String) As String

    傳入參數:

    branch: 分行(期貨以F開頭, 證券以S開頭)

    account: 帳戶

    使用範例:

    ret = verify_ca_pass( "F002000", "9999999" );

    回傳值:

    正常:""

    異常:Error: CA驗證錯誤


    () ii. 下單、刪單函式


    函式名稱:

    stock_order

    函式功能:

    國內證券下單

    VC 宣告:

    BSTR stock_order( char*buy_or_sell

    , char*branch

    , char*account

    , char*stock_id

    , char*ord_type

    , char*price

    , char*amount

    , char*string

    , char*price_type );

    VBA 宣告:

    Private Declare Function stock_order Lib "C:vba dllt4.dll"

    (ByVal buy_or_sell As String _

    , ByVal branch As String _

    , ByVal account As String _

    , ByVal code As String _

    , ByVal ord_type As String _

    , ByVal price As String _

    , ByVal amount As String _

    , ByVal price_type As String) _

    As String

    傳入參數:

    buy_or_sell: "B"=, "S"=

    branch: 證券分公司代號

    account: 證券帳戶

    stock_id: 股票代碼

    ord_type: 交易類別

    "P0"=定盤現股, "P3"=定盤融資, "P4"=定盤融券

    "00"=整股現股, "03"=整股融資, "04"=整股融券

    "20"=零股

    price: 價格6 位數(定盤、漲跌停時,此參數忽略不作用,會帶0.0)

    amount: 張數3 位數(零股則為股數)

    price_type: " "=限價, "2"=漲停價, "3"=跌停價

    使用範例:

    stock_order( "B", "5510", "9876543", "2890", "00", "13.00", "1", " " );

    回傳值:

    異常:TR Error[錯誤編號] = 伺服器錯誤訊息

    正常:參考附件()




    函式名稱:

    stock_cancel

    函式功能:

    國內證券刪單

    VC 宣告:

    BSTR stock_cancel( char*buy_or_sell

    , char*branch

    , char*account

    , char*stock_id

    , char*price_type

    , char*ord_seq

    , char*ord_no

    , char*pre_order );

    VBA 宣告:

    Private Declare Function stock_cancel Lib "C:vba dllt4.dll" _

    (ByVal buy_or_sell As String _

    , ByVal branch As String _

    , ByVal account As String _

    , ByVal stock_id As String _

    , ByVal ord_type As String _

    , ByVal ord_seq As String _

    , ByVal ord_no As String _

    , ByVal pre_order As String) As String

    傳入參數:

    buy_or_sell : "B" = , "S" =

    branch : 證券分公司代號

    account : 證券帳戶

    stock_id: 股票代號

    ord_type :

    "P0" 定盤現股, "P3" 定盤融資, "P4" 定盤融卷

    "00" 整股現股, "03" 整股融資, "04" 整股融卷

    "20" 零股

    ord_seq : 網路單號

    ord_no: 委託單號

    pre_order : "N" - 非預約單, " " - 預約單

    使用範例:

    stock_cancel( "B", "5510", "9876543", "2890", "00", "123456", "12345", " " );

    回傳值:

    異常:TR Error[錯誤編號] = 伺服器錯誤訊息

    正常:參考附件()











    函式名稱:

    future_order

    函式功能:

    國內期貨下單

    VC 宣告:

    BSTR future_order( char*buy_or_sell

    , char*branch

    , char*account

    , char*future_id

    , char*price

    , char*amount

    , char*price_type

    , char*ordtype

    , char*octtype );

    VBA 宣告:

    Private Declare Function future_order Lib "C:vba dllt4.dll" _

    (ByVal buy_or_sell As String _

    , ByVal branch As String _

    , ByVal account As String _

    , ByVal future_id As String _

    , ByVal price As String _

    , ByVal amount As String _

    , ByVal price_type As String _

    , ByVal ordtype As String _

    , ByVal octtype As String) As String

    傳入參數:

    buy_or_sell : "B" = , "S" =

    branch : 期貨分公司代號

    account : 期貨帳戶

    future_id : 商品代號

    price : 價格6位數

    amount : 口數3位數

    price type : "MKT"市價, "LMT" 限價

    ordtype: ROD / FOK / IOC

    octtype: 倉別"0" = 新倉 "1" = 平倉" "= 自動 "6"= 當沖

    使用範例:


    回傳值:

    異常:TR Error[錯誤編號] = 伺服器錯誤訊息

    正常:參考附件()



    函式名稱:

    future_cancel

    函式功能:

    國內期貨刪單

    VC 宣告:

    BSTR future_cancel( char*branch

    , char*account

    , char*future_id

    , char*ord_seq

    , char*ord_no

    , char*octtype

    , char*pre_order );

    VBA 宣告:

    Private Declare Function future_cancel Lib "C:vba dllt4.dll" _

    ( ByVal account As String _

    , ByVal future_id As String _

    , ByVal ord_seq As String _

    , ByVal ord_num As String _

    , ByVal octtype As String _

    , ByVal pre_order As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    future_id : 商品代號

    ord_seq : 網路單號

    ord_no : 委託單號

    octtype : "0" 新倉, "1" 平倉, " " 自動"6"= 當沖

    pre_order : "N" - 非預約單, " " - 預約單

    使用範例:


    回傳值:

    異常:TR Error[錯誤編號] = 伺服器錯誤訊息

    正常:參考附件()


    函式名稱:

    future_chance

    函式功能:

    國內期貨改價

    VC 宣告:

    BSTR future_change ( char*org_seqno

    , char*org_ordno

    , char*branch

    , char*account

    , char*commodity

    , char*new_price

    , char*pre_order );

    VBA 宣告:

    Private Declare Function future_change Lib "C:vba dllt4.dll" _

    (ByVal org_seqno As String _

    , ByVal org_ordno As String _

    , ByVal branch As String _

    , ByVal account As String _

    , ByVal commodity As String _

    , ByVal new_price As String _

    , ByVal pre_order As String) As String

    傳入參數:

    org_seqno : 原流水書號

    org_ordno : 原委託單號

    branch : 期貨分公司代號

    account : 期貨帳戶

    commodity : 期貨商品代號

    new_price : 新價格

    pre_order : "N" - 非預約單, " " - 預約單

    使用範例:


    回傳值:

    異常:TR Error[錯誤編號] = 伺服器錯誤訊息

    正常:參考附件()



    函式名稱:

    option_order

    函式功能:

    國內選擇權下單

    VC 宣告:

    BSTR option_order( char*buy_or_sell

    , char*branch

    , char*account

    , char*option_id

    , char*price

    , char*amount

    , char*price_type

    , char*ordtype

    , char*octtype

    , char*isComp

    , char*bs3

    , char*commodity2 );

    VBA 宣告:

    Private Declare Function option_order Lib "C:vba dllt4.dll" _

    (ByVal buy_or_sell As String _

    , ByVal branch As String _

    , ByVal account As String _

    , ByVal option_id As String _

    , ByVal price As String _

    , ByVal amount As String _

    , ByVal price_type As String _

    , ByVal ordtype As String _

    , ByVal octtype As String _

    , ByVal IsComp As String _

    , ByVal bs2 As String _

    , ByVal commodity2 As String) As String

    傳入參數:

    buy_or_sell : "B" = , "S" =

    branch : 期貨分公司代號

    account : 期貨帳戶

    option_id : 選擇權商品代號

    price : 價格6位數

    amount : 口數3位數

    price type : "MKT"市價, "LMT" 限價

    ordtype: ROD / FOK / IOC

    octtype: 倉別"0" = 新倉 "1" = 平倉" "= 自動 "6"= 當沖

    IsComp : "S" 單式, "C" 複式

    bs2 : 第二商品/ (如單式則填”)

    commodity2 : 第二商品代號(如單式則填”)

    使用範例:


    回傳值:

    異常:TR Error[錯誤編號] = 伺服器錯誤訊息

    正常:參考附件()



    函式名稱:

    option_cancel

    函式功能:

    國內選擇權刪單

    VC 宣告:

    BSTR option_cancel( char*branch

    , char*account

    , char*option_id

    , char*ord_seq

    , char*ord_no

    , char*octtype

    , char*pre_order );

    VBA 宣告:

    Private Declare Function option_cancel Lib “C:vba dllt4.dll" _

    (ByVal branch As String _

    , ByVal account As String _

    , ByVal code As String _

    , ByVal ord_seq As String _

    , ByVal ord_num As String _

    , ByVal octtype As String _

    , ByVal pre_order As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    code : 商品代號

    ord_seq : 網路單號

    ord_num : 委託單號

    octtype : "0" 新倉, "1" 平倉, " " 自動

    pre_order : "N" - 非預約單, " " - 預約單

    使用範例:


    回傳值:

    異常:TR Error[錯誤編號] = 伺服器錯誤訊息

    正常:參考附件()





























    函式名稱:

    ffuture_order

    函式功能:

    國外期貨下單

    VBA宣告:

    Private Declare Function ffuture_order Lib "C:vba dllt4.dll"

    (ByVal buy_or_sell As String _

    , ByVal branch As String _

    , ByVal account As String _

    , ByVal code As String _

    , ByVal price1 As String _

    , ByVal price2 As String _

    , ByVal price3 As String _

    , ByVal amount As String _

    , ByVal price_type As String _

    , ByVal pre_order As String _

    , ByVal trade_place As String _

    , ByVal dtrade As String _

    , ByVal source As String) As String

    傳入參數:

    buy_or_sell : "B" = , "S" =

    branch : 期貨分公司代號

    account : 期貨帳戶

    code : 商品代號

    price : 價格8位數

    price2: 價格(分子)

    price3: 價格(分母)

    amount : 口數3位數

    price type : "MKT"市價, "LMT"限價

    ordtype: ROD / FOK / IOC

    octtype: 倉別"0" = 新倉"1" = 平倉" "= 自動

    pre_order : "N" - 非預約單, " " - 預約單

    trade_place : 交易所, length(8)

    dtrade : 當沖碼, length(1), "Y/N"

    source : 來源別, length(1), "E"

    : 以分子分母標示價格的商品(e.g. US公債) 才需使用price2 & price3. 其餘商品代入”0”即可

    使用範例:


    回傳值:

    附件(十四)











    函式名稱:

    ffuture_cancel

    函式功能:

    國外期貨刪單

    VC 宣告:

    BSTR ffuture_cancel( char*buy_or_sell

    , char*branch

    , char*account

    , char*code

    , char*ord_seq

    , char*ord_num

    , char*type_1

    , char*pre_order

    , char*trade_place

    , char*dtrade

    , char*source );

    VBA 宣告:

    Private Declare Function ffuture_cancel Lib "C:vba dllt4.dll"

    (ByVal buy_or_sell As String _

    , ByVal branch As String _

    , ByVal account As String _

    , ByVal code As String _

    , ByVal ord_seq As String _

    , ByVal ord_num As String _

    , ByVal type_1 As String _

    , ByVal pre_order As String _

    , ByVal trade_place As String _

    , ByVal dtrade As String _

    , ByVal source As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    code : 商品代號

    ord_seq : 網路單號

    ord_num : 委託單號

    type_1 : "0" 新倉, "1" 平倉, " " 自動

    pre_order : "N" - 非預約單, " " - 預約單

    trade_place : 交易所, length(3) e.g "SMX"

    dtrade : 當沖碼, length(1), "Y/N"

    source : 來源別, length(1), e.g."E"

    使用範例:


    回傳值:

    附件(十四)


    () iii. 回報、庫存查詢函式


    函式名稱:

    get_response

    函式功能:

    國內商品回報查詢

    可查詢國內證券、國內期權回報資料(e-leader 畫面8891)


    VC 宣告:

    BSTR get_response_log();

    VBA 宣告:

    Private Declare Function get_response_log Lib "C:vba dllt4.dll" ( ) As String

    傳入參數:

    使用範例:


    回傳值:

    附件()



    函式名稱:

    fo_unsettled_qry

    函式功能:

    國內期權未平倉查詢(e-Leader 畫面7201)

    VC 宣告:

    BSTR fo_unsettled_qry( char*flag

    , char*leng

    , char*next

    , char*prev

    , char*gubn

    , char*group_name

    , char*branch

    , char*account

    , char*type_1

    , char*type_2

    , char*time_out );

    VBA 宣告:

    Private Declare Function fo_unsettled_qry Lib "C:vba dllt4.dll"

    (ByVal flag As String _

    , ByVal leng As String _

    , ByVal next As String _

    , ByVal prev As String _

    , ByVal gubn As String _

    , ByVal group_name As String _

    , ByVal branch As String _

    , ByVal acct As String _

    , ByVal type_1 As String _

    , ByVal type_2 As String _

    , ByVal time_out As String) As String

    傳入參數:

    flag = "0000"

    leng = "0004"

    next = "0000"

    prev = "0000"

    gubn : 0:單一帳戶1:群組

    group name : 群組名稱(單一帳號則填"")

    branch : 期貨分公司代號

    account : 期貨帳戶

    type_1 : 0:所有, 1:期貨, 2:選擇權

    type_2 : 0:明細, 1:彙整

    time_out = "1"

    使用範例:


    回傳值:

    附件()


    函式名稱:

    fo_order_qry

    函式功能:

    期權委託查詢(e-Leader 畫面6207)

    fo_order_qry2, 僅預設參數source 為不分類,全部查詢

    VC 宣告:

    BSTR fo_order_qry( char*branch

    , char*account

    , char*code

    , char*ord_match_flag

    , char*ord_type

    , char*oct_type

    , char*daily

    , char*start_date

    , char*end_date

    , char*preorder );

    VBA 宣告:

    Private Declare Function fo_order_qry Lib "C:vba dllt4.dll"

    (ByVal branch As String _

    , ByVal acct As String _

    , ByVal code As String _

    , ByVal ord_match_flag As String _

    , ByVal ord_type As String _

    , ByVal oct_type As String _

    , ByVal daily As String _

    , ByVal start_date As String _

    , ByVal end_date As String _

    , ByVal preorder As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    code: 商品代號(欲查詢所有商品則填)

    ord_match_flag : 成交類別0:全部明細1:未成交3:委託失敗5:委託彙總

    ord_type : 商品類別0:全部商品1:期貨2:選擇權3:美元計價

    oct_type: 倉別.定為"0"

    daily: 0:當日1:歷史

    start_date: 歷史查詢起始日

    end_date: 歷史查詢終止日

    preorder : ' ' = 僅查預約單, 'N' = 所有

    使用範例:


    回傳值:



    函式名稱:

    fo_order_qry2

    函式功能:

    期權委託查詢(e-Leader 畫面6207)

    VC 宣告:

    BSTR fo_order_qry2( char*branch

    , char*account

    , char*code

    , char*ord_match_flag

    , char*ord_type

    , char*oct_type

    , char*daily

    , char*start_date

    , char*end_date

    , char*preorder

    , char*source );

    VBA 宣告:

    Private Declare Function fo_order_qry2 Lib "C:vba dllt4.dll"

    (ByVal branch As String _

    , ByVal acct As String _

    , ByVal code As String _

    , ByVal ord_match_flag As String _

    , ByVal ord_type As String _

    , ByVal oct_type As String _

    , ByVal daily As String _

    , ByVal start_date As String _

    , ByVal end_date As String _

    , ByVal preorder As String _

    , ByVal source As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    code: 商品代號(欲查詢所有商品則填)

    ord_match_flag : 成交類別0:全部明細1:未成交3:委託失敗5:委託彙總

    ord_type : 商品類別0:全部商品1:期貨2:選擇權3:美元計價

    oct_type: 倉別.定為"0"

    daily: 0:當日1:歷史

    start_date: 歷史查詢起始日

    end_date: 歷史查詢終止日

    preorder : ' ' = 含預約單, 'N' = 不含預約單

    source : 來源, 1=e-Leader, 2=API, 3=e-Leader + API, 其他數值則傳回全部

    使用範例:


    回傳值:



    函式名稱:

    stock_balance_qry

    函式功能:

    國內證券庫存查詢

    VC 宣告:

    BSTR stock_balance_qry( char*flag

    , char*leng

    , char*next

    , char*prev

    , char*gubn

    , char*group_name

    , char*branch

    , char*account

    , char*time_out );

    VBA 宣告:

    Private Declare Function stock_balance_qry Lib "C:vba dllt4.dll"

    (ByVal flag As String _

    , ByVal leng As String _

    , ByVal next As String _

    , ByVal prev As String _

    , ByVal gubn As String _

    , ByVal group_name As String _

    , ByVal branch As String _

    , ByVal acct As String _

    , ByVal time_out As String) As String

    傳入參數:

    flag = "0000"

    leng = "0004"

    next = "0000"

    prev = "0000"

    gubn : 0:單一帳戶1:群組

    group name : 群組名稱(單一帳戶則填"")

    branch : 證券分公司代號

    account : 證券帳戶

    time_out = "1"

    使用範例:


    回傳值:




    函式名稱:

    stock_balance_sum

    函式功能:

    國內證券未實現損益匯總查詢

    VC 宣告:

    BSTR stock_balance_qry( char*branch

    , char*account

    , char*type

    , char*action );

    VBA 宣告:

    Private Declare Function stock_balance_sum Lib "C:vba dllt4.dll"

    (ByVal branch As String _

    , ByVal acct As String _

    , ByVal ttype As String _

    , ByVal action As String ) As String

    傳入參數:

    branch : 證券分公司代號

    account : 證券帳戶

    ttype : 庫存類別"A" 全部, "0" 現貨, "1" , "2"

    action : 過濾別" " 不濾, "1" 濾下市商品, "2" 不含稅費, "3" 濾下市+不含稅費

    使用範例:

    stock_balance_sum( "9A95", "9809975", "A", " " )

    回傳值:

    異常一,API錯誤:API 錯誤訊息

    異常二,損益中心錯誤訊息:錯誤代碼,錯誤訊息

    正常狀況:附件(十五)


    函式名稱:

    stock_balance_detail

    函式功能:

    國內證券未實現損益個股明細

    VC 宣告:

    BSTR stock_balance_detail ( char*branch

    , char*account

    , char*stock

    , char*ttype );

    VBA 宣告:

    Private Declare Function stock_balance_detail Lib "C:vba dllt4.dll"

    ( ByVal branch As String _

    , ByVal acct As String _

    , ByVal stock As String _

    , ByVal ttype As String ) As String

    傳入參數:

    branch : 證券分公司代號

    account : 證券帳戶

    stock : 股票代碼(例如:"2890", 不可帶空白)

    ttype : 庫存類別"A" 全部, "0" 現貨, "1" , "2"

    使用範例:

    stock_balance_detail( "9A95", "9809975", "2890", "A" );

    回傳值:

    異常一,API錯誤:API 錯誤訊息

    異常二,損益中心錯誤訊息:錯誤代碼,錯誤訊息

    正常狀況:附件(十六)



    函式名稱:

    ff_get_response

    函式功能:

    國外商品回報查詢(e-Leader 畫面8002)

    VC 宣告:

    BSTR ff_get_response();

    VBA 宣告:

    Private Declare Function ff_get_response Lib "C:vba dllt4.dll" () As String

    傳入參數:


    使用範例:


    回傳值:

    參考附件()



    函式名稱:

    ff_get_info

    函式功能:

    國外期貨權益數查詢(e-Leader 畫面8003)

    VC 宣告:

    BSTR ff_get_info( char*branch, char*account );

    VBA 宣告:

    Private Declare Function ff_get_info Lib "C:vba dllt4.dll"

    (ByVal branch As String, ByVal account As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    使用範例:


    回傳值:

    參考附件(十三)



    函式名稱:

    ff_get_positions

    函式功能:

    國外期貨部位查詢(e-Leader 畫面8001)

    VC 宣告:

    BSTR ff_get_positions( char*branch, char*account );

    VBA 宣告:

    Private Declare Function ff_get_positions Lib "C:vba dllt4.dll"

    (ByVal branch As String, ByVal account As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    使用範例:


    回傳值:

    參考附件(十二)



















    函式名稱:

    ff_order_qry

    函式功能:

    國外期貨委託查詢

    VC 宣告:

    BSTR ff_order_qry( char*branch

    , char*account

    , char*start_date

    , char*end_date

    , char*ord_match_flag

    , char*daily );

    VBA 宣告:

    Private Declare Function ff_order_qry Lib "C:vba dllt4.dll"

    (ByVal branch As String _

    , ByVal acct As String _

    , ByVal start_date As String _

    , ByVal end_date As String _

    , ByVal ord_match_flag As String _

    , ByVal daily As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    start_date : 歷史查詢起始日

    end_date : 歷史查詢終止日

    ord_match_flag "0 - 全部委託1 - 未成交2 - 已成交

    daily "0 - 歷史1- 當日"

    使用範例:


    回傳值:




    函式名稱:

    fo_get_day_info

    函式功能:

    國內期權當日權益數查詢(e-Leader 畫面7102)

    VC 宣告:

    BSTR fo_get_day_info( char*branch, char*account );

    VBA 宣告:

    Private Declare Function fo_get_day_info Lib"C:vba dllt4.dll" (ByVal branch As String, ByVal account As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    使用範例:


    回傳值:

    參考附件()








    函式名稱:

    fo_get_hist_info

    函式功能:

    國內期權歷史權益數查詢(e-Leader 畫面7103)

    VC 宣告:

    BSTR fo_get_hist_info( char*branch

    , char*account

    , char*sdate

    , char*edate );

    VBA 宣告:

    Private Declare Function fo_get_hist_info Lib "C:vba dllt4.dll" _

    (ByVal branch As String _

    , ByVal acct As String _

    , ByVal sdate As String _

    , ByVal edate As String) As String

    傳入參數:

    branch : 期貨分公司代號

    account : 期貨帳戶

    sdate: 開始日期

    edate: 結束日期

    (僅提供近兩個月資料查詢)

    使用範例:


    回傳值:

    參考附件()

    () iv. 其他回報查詢函式


    函式名稱:

    get_response_log

    函式功能:

    回報紀錄

    VC 宣告:

    BSTR get_response_log();

    VBA 宣告:

    Private Declare Function get_response_log Lib "C:vba dllt4.dll" ( ) As String

    傳入參數:


    使用範例:


    回傳值:

    參考附件()



    函式名稱:

    check_response_buffer

    函式功能:

    檢查是否有未讀取之主動回報

    VC 宣告:

    int check_response_buffer();

    VBA 宣告:

    Declare Function check_response_buffer Lib "C:vba dllt4.dll" () As Integer

    傳入參數:

    使用範例:


    回傳值:

    1: 有回報尚未讀取, 0: 無新回報



    函式名稱:

    timer_response_log

    函式功能:

    讀取尚未讀取之主動回報

    VC 宣告:

    BSTR timer_response_log();

    VBA 宣告:

    Declare Function timer_response_log Lib "C:vba dllt4.dll" () As String

    傳入參數:

    使用範例:


    回傳值:

    參考附件()



    函式名稱:

    fifo_response

    函式功能:

    先進先出式回報

    VC 宣告:

    int fifo_response( char*response_str );

    VBA 宣告:

    Private Declare Function fifo_response Lib "C:vba dllt4.dll" (ByVal response_str As String) As Integer

    傳入參數:

    response_str, 用來接收回傳值。

    使用範例:


    回傳值:





    函式名稱:

    get_response_evt

    函式功能:

    取得Response Event Handle

    VC 宣告:

    HANDLE get_response_evt();

    VBA 宣告:

    不支援

    傳入參數:

    使用範例VC

    HANDLE hevtResp = get_response_evt();

    DWORD r = WaitForSingleObject( hevtResp, INFINITE );

    while( r==WAIT_OBJECT_0 ) {
    str = timer_response_log();

    // do something
    r = WaitForSingleObject( hevtResp, INFINITE );
    }

    回傳值:

    參考MSDN Event Handle











    () v. 其他函式


    函式名稱:

    change_echo

    函式功能:

    切換下單、刪單函式,是否等待委託狀態,才返回函式。(預設:等待)

    (非等待模式可較快返回函式,但必須由主動回報處判斷委託狀態)

    (對於每秒超過6筆以上的用戶,可於較短的反應時間內連續下單)

    VC 宣告:

    BSTR change_echo();

    VBA 宣告:

    Private Declare Function change_echo Lib "C:vba dllt4.dll" () As String

    傳入參數:


    使用範例:


    回傳值:








    函式名稱:

    log_out

    函式功能:

    結束、登出。

    (所有之前加入的憑證清單會一併清除)

    VC 宣告:

    int log_out();

    VBA 宣告:

    Private Declare Function log_out Lib "C:vba dllt4.dll" () As Integer

    傳入參數:

    使用範例:


    回傳值:

    0: 成功登出, -1: 登出失敗、或其他錯誤



    函式名稱:

    show_version

    函式功能:

    回傳目前API 版本

    VC 宣告:

    BSTR show_version();

    VBA 宣告:

    Private Declare Function show_version Lib "C:vba dllt4.dll" () As String

    傳入參數:

    使用範例:


    回傳值:




    函式名稱:

    show_list

    函式功能:

    回傳目前登入ID 所擁有之所有帳戶

    VC 宣告:

    BSTR show_list();

    VBA 宣告:

    Private Declare Function show_list Lib "C:vba dllt4.dll" () As String

    傳入參數:

    使用範例:


    回傳值:




    函式名稱:

    show_ip

    函式功能:

    回傳目前連線之伺服器domain

    VC 宣告:

    BSTR show_ip();

    VBA 宣告:

    Private Declare Function show_ip Lib "C:vba dllt4.dll" () As String

    傳入參數:

    使用範例:


    回傳值:

    sinotrade.com.tw





    vi.常見函式回傳錯誤 (通用)


    錯誤訊息:

    可能原因:

    尚未初始化, 請先初始化

    未正確執行 init_t4

    註冊程序錯誤

    無法登錄該帳戶

    socket error

    作業系統無法提供網路

    參數長度錯誤

    傳入的參數長度不正確

    invalid message handle

    與伺服器之間的同步發生異常,請登出重新登入。

    張數需大於 0

    指定的張數/股數不得小於等於零。

    價格需大於 0

    指定的價位不得小於或等於零。

    指定使用漲/跌停價時 價格欄位必須為 0

    輸入值超出範圍

    商品價格輸入錯誤, 請重新確認

    輸入值超出範圍

    價格需為該商品價最小跳動點之倍數

    輸入值超出範圍

    價格分母輸入錯誤

    輸入值超出範圍

    價格錯誤,請確認價格格式後再行輸入

    輸入格式錯誤

    短時間內查詢次數過多,請稍後嘗試...

    未平倉查詢次數已屆伺服器安全容許值

    參數輸入錯誤 (查詢日期期間需以 YYYYMMDD ~ YYYYMMDD 代表)

    日期格式錯誤

    daily (僅查詢當日)參數錯誤

    輸入值超出範圍

    下單確認回應(Echo)設定錯誤

    輸入值超出範圍

    僅提供近兩個月資料查詢

    輸入值超出範圍

    商品名稱錯誤

    商品名稱錯誤

    複式商品名稱錯誤

    複式商品名稱錯誤

    分公司/客戶帳戶 錯誤

    證券或期貨帳戶錯誤,或是分公司錯誤

    gnbu 參數無效

    該函式不支援群組功能,或指定值超出範圍

    本功能暫不提供群組查詢

    暫不支援

    伺服器回傳資料長度有誤,請確認版本相容性

    請更新為最新版本

    socket send error, 送單失敗

    網路傳輸失敗,系統網路可能異常。

    TR Error

    伺服器回應錯誤 (API元件或使用錯誤)

    CA憑證資料登錄失敗 [ CA身份證不符 ]

    憑證所屬人身份證號與add_acc_ca輸入不符。

    無法建立操作紀錄,取消。

    無法產生 log 檔,所有 log 將會被放棄。

    Server連接設定錯誤, 請確認t4.ini的參數

    無法從 t4.ini 讀取正確伺服器位址、連接埠。

    版本無效,請使用目前發行版本。

    請更新最新發行中 API 元件。

    無法登入

    網路異常,請重新嘗試登入。

    登入密碼錯誤!

    登入使用者之密碼錯誤 (非憑證密碼)

    無此帳號!

    登入使用者之 ID 錯誤 (通常為身份證字號)

    下單帳號取得失敗

    登入之使用者可能無有效之證券、期貨帳戶

    市價單&複式選擇權單無法選取<當日有效委託>(ROD)

    輸入值超出範圍

    委託內容錯誤, 無此組合

    選擇權下單組合錯誤

    您的帳號目前無法使用VBA功能,請洽營業同仁,提出申請。

    根據『期貨經紀商提供API服務之相關控管措施』:期貨交易人應親持身份證件提出書面申請並於營業場所當場簽名或蓋章。






    () 注意事項:


      1. 國外期貨,香港恆生指的商品代碼四月份為HSID7,並非精誠WEB上顯示的HSIJ7

      2. 國外期貨新增加可交易商品及交易所代碼請見下列附件()

      3. 期權下單價位檔位請符合規定,檔位不合不會回錯誤,但委託會送出。

      4. 下單與刪單的BUTTON按下後,VBA會等SERVER回覆下單狀況後才算完成動作。(可用change_echo函式調整)

      5. eLeader VBA同一個使用者ID,無法同時登入。
        若要同時登入,請洽您的營業員,申請重複登入權限。

      6. 處理委託查詢的字串,需使用vba內的strconv 函式處理字串編碼
        (詳見excel sample範例)

    附件()國內下單查詢(for 國內市場:臺灣證券、期貨) get_response


    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record N







    Header ( 表頭,必有)

    欄位

    說明

    長度

    count

    筆數

    5

    字元數:


    5


    Record

    欄位

    說明

    長度

    Type

    Type:

    STOCK:93

    FUTURE:91

    2

    CancelQty

    刪單量

    5

    ContractQty

    成交量

    5

    OrgPrice

    原委託價格

    9

    Seq

    序號

    8

    Account

    帳號

    15

    Ord_No

    委託書號(預約單無此值)

    5

    Ord_Seq

    網路單號

    6

    Code

    商品代碼

    10

    Trade_type

    Stock:01:/02:/03:改量/04:刪單
    future:1:
    /2:/ CXL:刪單/UPD:/UPL:改限價/UPM:改市價

    3

    Trade_class

    01:現賣/ 02:現買/ 03:資賣/04:資買/ 05:券賣/ 06:券賣

    B:/ S:/ EB:零買/ ES:零賣

    2

    Price

    委託價

    9

    ContractPrice

    成交價

    9

    Ordknd

    期權:ROD/FOK/IOC

    證券:0=現股/定盤, 2=零股

    3

    Qty

    數量(委託量/刪單量)

    5

    Trans_time

    異動時間

    6

    StatusMsg

    類別,例:委託成功

    20

    ErrorCode

    [00 ] ; [32 ] ; [0000]為成功.

    其他代碼則為失敗

    4

    ErrorMSG

    錯誤訊息

    60

    Web_id

    下單的系統150

    3

    Account_s


    15

    Oct

    0=新倉;1=平倉;2=自動

    1

    Ord_time

    時間

    6

    Agent_id


    6

    price_type 

    =使用者帶價格, 2=漲停價, 3=跌停價

    1

    trf_fld    


    4

    Match_seq

    成交序號(保留未用)

    8

    字元數:


    230


    附件()國外期貨下單查詢(ff_get_response)


    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record N







    Header ( 表頭,必有)

    欄位

    說明

    長度

    count

    筆數

    4

    字元數:


    4


    欄位

    說明

    長度

    type

    3

    cancelqty

    刪單量

    5

    matchqty

    成交量

    5

    seq

    序號

    9

    account

    帳號

    16

    Ord_no

    委託書號(預約單無此值)

    7

    Ord_Seq

    網路單號

    7

    code

    商品代碼

    10

    tradetype

    委託別

    1MKT 2LMT

    3STP 4SWL

    U:改量C:刪單

    4

    buysell

    B:買進  S:賣出

    2

    orderprice

    委託價(99999.9999)

    10

    matchprice

    成交價(99999.9999)

    10

    orderkind

    委託條件

    4

    orderqty

    數量(委託量/刪單量)

    5

    transtime

    異動時間

    7

    statusmsg

    類別,例:委託成功

    21

    errcode

     

    5

    errmsg

    錯誤

    61

    webid

    來源別

    4

    account_s

     

    16

    octname

    Y:新倉N:平倉A:自動

    2

    ordertime

    時間

    7

    字元數:


    220


    附件():主動回報格式timer_response_log


    欄位

    說明

    長度

    Type

    STOCK:委回93成回92

    FUTURE:委回91 成回90

    2

    Ord Type

    01:/02:/03:改量/04:刪單

    2

    Seq

    序號

    8

    Account

    帳號

    15

    Ord_No

    委託書號(預約單無此值)

    5

    Ord_Seq

    網路單號

    6

    Code

    商品代碼

    10

    Trade_type

    Stock:01:/02:/03:改量/04:刪單
    future:1:
    /2:/ CXL:刪單/UPD:/UPL:改限價/UPM:改市價

    3

    Trade_class

    01:現賣/ 02:現買/ 03:資賣/04:資買/ 05:券賣/ 06:券賣

    B:/ S:/ EB:零買/ ES:零賣

    2

    Price

    委託價

    9

    ContractPrice

    成交價

    9

    Ordknd

    期貨:ROD/FOK/ROD

    證券:0=現股/定盤, 2=零股

    3

    Qty

    數量(委託量/刪單量)

    5

    Trans_time

    異動時間

    6

    StatusMsg

    類別,例:委託成功

    20

    ErrorCode

    [00 ] ; [32 ] ; [0000]為成功.

    [PR ] = 預約單

    [9932] = 減量成功,但變更量大於原委託量(視為取銷)

    [9951] = FOK單未成交,期交所已取銷

    [9952] = IOC單部份成交

    [9953] = IOC單未成交

    4

    ErrorMSG

    錯誤

    60

    Web_id

    下單的系統150

    3

    Account_s


    15

    Oct

    0=新倉;1=平倉;2=自動

    1

    Ord_time

    時間

    6

    Agent_id


    6

    price_type 

    =使用者帶價格, 2=漲停價, 3=跌停價

    1

    trf_fld    


    4

    字元數:


    205



    附件()

    大道瓊, Nasdaq , S&P  , 美元指數期貨目前不提供電子單委託


    另外有測試過以下商品均可以電子單委託


    美國芝加哥期貨交易所

    代碼:CBT

    三十年公債

    US

    十年公債

    TY

    五年公債

    FV

    二年公債

    TU

    小道瓊

    YM

    黃金

    ZG

    小黃金

    YG

    (公債的價格委託方式請參考sample excel 裡面的code 註解)



    美國芝加哥商業交易所

    代碼:CME

    歐元

    EC

    英鎊

    BP

    瑞士法郎

    SF

    加幣

    CD

    日圓

    JP

    澳幣

    AD

    歐洲美元

    ED



    新加坡期貨交易所

    代碼:SMX

    摩根台指

    TWS



    紐約商業交易所

    代碼:NYM

    輕原油

    CL


    附件()國內當日權益數查詢( fo_get_day_info )


    回傳格式示意圖:

    Header

    Record 1

    台幣

    Record 2

    約當台幣

    Record 3

    美元

    Record 4

    約當美元







    Header ( 表頭)

    欄位

    說明

    長度

    date

    日期

    8

    time

    時間

    6

    count

    筆數(目前固定為4, 台幣、約當台幣、美元、約當美元)

    4

    字元數:


    18


    Record ( 單筆紀錄)

    欄位

    說明

    長度

    Avlamt

    下單可用保證金

    20

    ACTbal

    帳戶權益數

    20

    Tgain

    期貨平倉損益

    20

    Bgain

    未平倉損益(期貨)

    20

    OBGAIN

    未平倉損益(選擇權)

    20

    PMamt

    今日選擇權收支

    20

    APamt

    選擇權市值

    20

    TMamt

    今日存提款

    20

    FEE

    手續費

    20

    FTAX

    交易稅

    20

    OTamt

    委託保證金

    20

    COGTamt

    原始保證金

    20

    CMGTamt

    維持保證金

    20

    WARNN

    風險係數

    20

    WARNV

    清算風險係數

    20

    BidVolume

    (未啟用)

    20

    AskVolume

    (未啟用)

    20

    BidMatch

    (未啟用)

    20

    AskMatch

    (未啟用)

    20

    BEQUITY

    前日帳戶餘額

    20

    GdAmt

    抵繳金額

    20

    EQuity

    清算權益數

    20

    OGAIN

    平倉損益(選擇權)

    20

    exrate

    轉換匯率

    20

    xgdamt

    (未啟用)

    20

    agtamt

    追繳金額

    20

    yequity

    昨日清算權益數

    20

    munet

    未平倉損益(當日)

    20

    字元數:


    560




    註:20字元數值格式為13 位整數+ 6 位小數(以下皆同)


    長度

    整數部份(負數時,第一位為半形負號- )

    13

    小數點

    1

    小數部份

    6

    字元數

    20








    附件()國內歷史權益數查詢( fo_get_hist_info )


    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record N







    Header ( 表頭,必有)

    欄位

    說明

    長度

    Fee_tot

    手續費(加總)

    20

    Tax_tot

    稅金(加總)

    20

    Fcon_tot

    期貨平倉損益(加總)

    20

    Inout_tot

    本日存提(加總)

    20

    Bid_tot

    成交買進口數(加總)

    20

    Ask_tot

    成交賣出口數(加總)

    20

    Ogain_tot

    選擇權平倉損益(加總)

    20

    count

    資料筆數

    4

    字元數:


    144


    Record

    欄位

    說明

    長度

    tdate

    日期

    8

    acct

    帳戶號碼

    15

    profit_qty

    帳戶權益數

    20

    clear_qty

    清算權益數

    20

    fee

    手續費

    20

    tax

    交易稅

    20

    fcon

    期貨平倉損益

    20

    fmiss

    未平倉損益(期貨)

    20

    omiss

    未平倉損益(選擇權)

    20

    inout

    本日存提

    20

    osecu_amt

    原始保證金

    20

    usecu_amt

    維持保證金

    20

    status

    風險係數

    20

    bid_qty

    成交買進口數

    20

    ask_qty

    成交賣出口數

    20

    ogain

    選擇權平倉損益

    20

    字元數:


    303



    附件()國內期權委託查詢( fo_order_qry )

    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record N







    Header ( 表頭,必有)

    欄位

    說明

    長度

    flag

    保留

    4

    leng

    保留

    4

    next

    保留

    16

    prev

    保留

    16

    count

    資料筆數(上限200)

    3


    對齊位元

    1

    字元數:


    44


    Record

    欄位

    說明

    長度

    account

    帳號

    15

    ord_seq

    網路單號

    6

    ord_no

    委託書號(預約單無此值)

    6

    add_date

    委託日期

    8

    preord_date

    預約委託日期

    8

    add_time

    委託時間

    6

    match_time

    成交時間

    6

    stock_id

    商品代碼

    10

    ord_bs

    買賣

    1

    trade_type

    委託條件

    3

    ord_qty

    原委託數

    6

    cancel_qty

    取消數

    6

    ord_match_qty

    已成交數

    6

    ord_price

    委託價

    12

    ord_match_avg_prc

    成交均價

    12

    ord_status

    狀態

    60

    type

    委託來源

    1

    ord_type

    ord_type

    3

    octype

    倉別(0新倉, 1平倉)

    1

    preorder

    預約單(N : 非預約單, : 預約單)

    1

    chg_ord_price

    改價

    12

    err_code

    伺服器回應錯誤代碼(參考下表)

    4

    字元數:


    193


    err_code 4 個字元,分為兩部份

    意義

    2 字元

    2 字元

    HEX

    正常

    "00"

    " "

    30 30 20 20

    正常

    "00"

    "00"

    30 30 30 30

    預約單

    "80"

    "14"

    38 30 31 34

    預約單

    "PR"

    " "

    50 52 20 20

    預約單異常

    "P0"

    " "

    50 30 20 20

    後台代碼

    "99"

    xy

    39 39 xx yy








    附件()證券庫存查詢( stock_balance _qry )

    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record N







    Header ( 表頭,必有)

    欄位

    說明

    長度

    flag

    0000:無更多資料, 0002:最後一段資料(此為最後一頁)

    4

    leng

    回傳時未用

    4

    next

    查詢下筆的key

    4

    prev

    查詢上頁的key

    4

    loan_amt

    保留未用

    16

    no_amt

    保留未用

    16

    lend_stock

    保留未用

    16

    no_stock

    保留未用

    16

    order

    保留未用

    16

    no_order

    保留未用

    16

    count

    資料筆數(每頁筆數最高60 )

    16


    保留未用

    1

    字元數:


    129


    Record

    欄位

    說明

    長度

    account

    帳號

    15

    ttype

    庫存類別( 01=現股;02=融資;03=融券;04=興櫃; )

    2

    stock_id

    股票代碼

    6


    保留未用

    1

    yqty

    昨日餘額

    16

    oqty

    可下單餘額

    16

    bid_oqty

    今委買

    16

    bid_cqty

    今買成

    16

    ask_oqty

    今委賣

    16

    ask_cqty

    今賣成

    16

    loan_qty

    融資金額

    16


    保留未用

    16

    secu_qty

    資除權擔保品

    16

    mdate

    停資日

    8

    sdate

    停券日

    8

    nowqty

    即時庫存

    16


    保留

    4

    字元數:


    204



    附件()證券下單、刪單回傳(stock_orderstock_cancel)


    Record

    欄位

    說明

    長度

    trade_type

    01:/ 02:/ 03:改量 / 04:刪單

    2

    account

    交易帳號

    15

    stock_id

    股票代碼

    6

    ord_price

    下單價格

    6

    ord_qty

    交易量(張數;零股:股數)

    3

    ord_seq

    網路單號

    6

    ord_date

    送單日期

    8

    effective_date

    交易日期

    8

    ord_time

    送單時間

    6

    ord_no

    委託書號(刪單必須使用委託書號) (預約單無此值)

    5


    來源別152: API

    3

    org_ord_seq


    6

    ord_bs

    B:/ S:

    1

    ord_type1


    1

    ord_type2


    1

    market_id

    S:證券

    1

    price_type


    1

    ord_status

    委託狀態, 0 = 成功, 88=異常

    2

    msg

    伺服器回應訊息

    60

    字元數:


    141


    附件()期貨、選擇權下單回傳(future_order, option_order, future_cancel, option_cancel)


    Record

    欄位

    說明

    起點

    長度

    trade_type

    交易別 01:/02:/03:改量/04:刪單/05:改價

    1

    2

    account

    交易帳號

    3

    15

    f_futopt

    F:期貨/ O:選擇權

    18

    1

    stock_id

    商品代碼

    19

    10

    f_callput

    C:Call / P: Put

    29

    1

    ord_bs

    買賣別B:/ S:

    30

    1

    ord_price

    下單價格

    31

    12

    price_type

    LMT=限價

    43

    3

    ord_qty

    交易量

    46

    4

    ord_no

    委託書號(預約單無此值)

    50

    6

    ord_seq

    網路單號

    56

    6

    ord_type

    ROD, ICT, FOK

    62

    3

    f_octype


    65

    1

    f_mttype


    66

    1

    f_composit


    67

    2

    c_futopt


    69

    1

    c_code


    70

    10

    c_callput


    80

    1

    c_buysell


    81

    1

    c_price


    82

    12

    c_quantity


    94

    4

    ord_date

    送單日期

    98

    8

    preord_date

    預約交易日期

    106

    8

    ord_time

    送單時間

    114

    6

    type

    P: 預約單/ N:非預約單

    120

    1

    err_code

    伺服器回應錯誤代碼

    121

    4

    msg

    伺服器回應訊息

    125

    60

    字元數:



    184


    附件(十一)期權未平倉查詢( fo_unsettled_qry )


    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record N







    Header ( 表頭,必有)

    欄位

    說明

    長度

    flag

    回傳時未用

    4

    leng

    回傳時未用

    4

    next

    查詢下頁用的flag

    4

    prev

    查詢上頁用的flag

    4

    vol_total

    口數合計

    16

    set_total

    結算合計

    16

    price_total

    即時價合計

    16

    loss_total

    浮動損益合計

    16

    secu_total

    保留未用

    16

    keep_total

    保留未用

    16

    balance

    保留未用

    16

    statistic

    保留未用

    16

    risk

    保留未用

    16

    otamt_total

    原始保證金合計

    16

    mtamt_total

    維持保證金合計

    16

    count

    Record 筆數

    16

    字元數:


    208


    Record

    欄位

    說明

    長度

    account

    帳戶

    15

    tdate

    交易日

    8

    code

    商品代碼

    10

    ord_no

    委託書號

    6

    ord_bs

    買賣別

    1

    ord_type

    保留未用

    2

    currency

    幣別

    3

    fill

    保留,對齊用。

    3

    vol

    口數

    16

    avg_price

    成交均價

    16

    set_prive

    結算價

    16

    price

    即時價

    16

    loss

    浮動損益

    16

    secu

    結算原始保證金

    16

    keep

    結算維持保證金

    16

    otamt

    原始保證金

    16

    mtamt

    維持保證金

    16

    字元數:


    192


    附件(十二)國外期貨部位查詢(ff_get_position)


    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record N







    Header ( 表頭,必有)

    欄位

    說明

    起點

    長度

    count

    筆數

    1

    4

    datetime

    日期時間

    5

    14

    字元數:



    18


    Record

    欄位

    說明

    起點

    長度

    no

    序號

    19

    4

    code

    商品代碼

    23

    10

    b_nets

    淨買

    33

    4

    s_nets

    淨賣

    37

    4

    b_copt

    留倉買

    41

    4

    s_copt

    留倉賣

    45

    4

    b_match

    成交買

    49

    4

    s_match

    成交賣

    53

    4

    b_order

    委託買

    57

    4

    s_order

    委託賣

    61

    4

    currency

    幣別

    65

    3

    字元數:


    49


    註:起點為1-based,以VBA 為例,部份程式語言採用0-based,請自行減1

    註:Record 起點必須加上Record 的長度,即Record 3 的起點相當於19 + 2 x 49


    附件(十三)國外期貨權益數查詢(ff_get_info)


    回傳格式示意圖:

    Header

    Record 1

    Record 2

    Record 3

    Record 4

    Record 5

    Record 6







    Header ( 表頭,必有)

    欄位

    說明

    起點

    長度

    datetime

    日期時間

    1

    14

    filler

    保留未用

    14

    2

    count

    保留未用

    16

    4

    字元數:



    20


    Record

    欄位

    說明

    起點

    長度

    dbalne

    下單可用保證金

    1

    17

    dbaln

    帳戶權益數

    18

    17

    dtplamt

    平倉損益

    35

    17

    prtlos

    未平倉損益

    52

    17

    dimamt

    今天存提款

    69

    17

    dmfeeb

    手續費交易稅

    86

    17

    doimmrg

    委託保證金

    103

    17

    dtimmrg

    原始保證金

    120

    17

    dtmmmrg

    維持保證金

    137

    17

    dwarn

    風險係數

    154

    17

    dlbaln

    前日帳戶餘額

    171

    17

    derate

    轉換匯率

    188

    14

    dvpamt

    清算權益數

    202

    17

    dadamt

    追繳金額

    219

    17

    字元數:


    236


    註:起點為1-based,以VBA 為例,部份程式語言採用0-based,請自行減1

    註:Record 起點必須加上Record 的長度,即Record 3 的起點相當於1+20 + 2 x 235


    附件(十四)國外期貨下單回傳(ffuture_orderffuture_cancel)


    Record

    欄位

    說明

    起點

    長度

    trade_type

    交易狀態: 94=成交回報、95=委託回報

    1

    2

    account

    交易帳號

    3

    15

    f_futopt

    F:期貨/ O:選擇權

    18

    1

    code

    商品代碼

    19

    10

    f_callput

    C:Call / P: Put

    29

    1

    ord_bs

    買賣別B:/ S:

    30

    1

    ord_price

    下單價格

    31

    11

    ord_price2


    42

    3

    ord_price3


    45

    3

    price_type

    LMT=限價

    48

    3

    ord_qty

    交易量

    51

    4

    ord_no

    委託書號(預約單無此值)

    55

    6

    ord_seq

    網路單號

    61

    6

    ord_type

    ROD, ICT, FOK

    67

    3

    f_octype


    70

    1

    f_mttype


    71

    1

    f_composit


    72

    2

    c_futopt


    74

    1

    c_code


    84

    10

    c_callput


    85

    1

    c_buysell


    86

    1

    c_price


    87

    12

    c_quantity


    99

    4

    ord_date

    送單日期

    103

    8

    preord_date

    預約交易日期

    111

    8

    ord_time

    送單時間

    119

    6

    type

    P: 預約單/ N:非預約單

    125

    1

    err_code

    伺服器回應錯誤代碼

    126

    4

    msg

    伺服器回應訊息

    130

    60

    字元數:



    189


    附件(十五): 國內證券未實現損益匯總查詢 stock_balance_sum

    回傳格式為一字串,每個欄位以逗號分隔。


    例:

    [3],1,0,現股,2890,永豐金,2000,2000,0,0,27470,13.74,28974,1504,5.48%,14.55,56.38%,0,0,0,0,0.05,0.34%,2,0,現股,710934,UQ元大,30000,30000,0,0,19260,0.64,22419,3159,16.40%,0.75,43.62%,0,0,0,0,-0.01,-1.32%,合計,,,,,32000,32000,0,0,46730,,51393,4663,9.98%,,,0,0,0,0,,,0000,成功,


    正常情況會以[筆數]開頭, 接著重複以下22欄位, 最後才有結束代碼,訊息。


    欄位

    說明

    no

    資料欄位

    1

    ttype

    交易類別

    0

    ttypename

    交易類別名稱

    現股

    stock

    股票代碼

    2890

    stockname

    股票名稱

    永豐金

    real_qty

    即時庫存股數

    2000

    qty

    昨日庫存股數

    2000

    bqty

    今日交易入庫成交股數

    0

    sqty

    今日交易出庫成交股數

    0

    cost

    付出成本

    27470

    avgprice

    成本均價

    13.74

    nowamt

    現值

    28974

    unreal

    未實現損益

    1504

    urratio

    獲利率

    5.48%

    lastprice

    現價

    14.55

    holdingpercent

    持股比率

    56.38%

    bcramt

    融資金額

    0

    bdnamt

    擔保品

    0

    bgtamt

    保證金

    0

    interest

    利息

    0

    AD

    漲跌

    0.05

    ADR

    漲跌幅

    0.34%


    註:筆數為零時,僅有回傳代碼與訊息。例:5001,查無資料,

    註:筆數非零時,最後一筆為小計。



    附件(十六): 國內證券未實現損益明細 stock_balance_detail

    回傳格式為一字串,每個欄位以逗號分隔。


    例:

    [2],20130822,0,現股,2890,永豐金,I2121,1000,1000,12.95,12950,0,0,0,0,0,0,0,0,0,0,0,12950,0,7346,0,14487,1537,20140113,0,現股,2890,永豐金,I0532,1000,1000,14.50,14500,0,0,0,0,0,0,20,0,0,0,0,14520,0,7203,0,14487,-33,0000,成功,


    正常情況會以[筆數]開頭, 接著重複以下27欄位, 最後才有結束代碼,訊息。


    欄位

    說明

    tdate

    交易日期

    20130822

    ttype

    交易類別, 0, 1代理融資, 2代理融券, 3自辦融資, 4自辦融券

    0

    ttypename

    交易類別名稱(現股、融資、融券)

    現股

    stock

    股票代碼

    2890

    stockname

    股票名稱

    永豐金

    dseq

    委託書號

    I2121

    qty

    原股數

    1000

    bqty

    未償還股數

    1000

    price

    成交單價

    12.95

    mamt

    成交價金

    12950

    cramt

    原融資金額

    0

    bcramt

    未償還融資金額

    0

    dnamt

    原擔保品

    0

    bdnamt

    未償還擔保品

    0

    gtamt

    原保證金

    0

    bgtamt

    未償還保證金

    0

    fee

    手續費

    0

    tax

    交易稅

    0

    interest

    利息

    0

    dlfee

    標借費

    0

    dbfee

    融券手續費

    0

    cost

    付出成本

    12950

    wtype

    異動別

    0

    seqno

    流水號

    7346

    keeprate

    維持率

    0

    nowamt

    現值

    14487

    unreal

    損益試算

    1537


    註:筆數為零時,僅有回傳代碼與訊息。例:5001,查無資料,


    53


  • 版權說明: 檔案資源由用戶上傳,僅供學習交流使用,尊重著作權。 若您認為內容涉及侵權,請點擊「侵權舉報」提交相關資料,我們將儘快核實並處理。