C#

class spdOrderAPI

連線與登入

連線交易主機
/*
  IP         下單主機IP(字串)
  Port           下單主機Port(數值)
  TimeoutSec 設定連線逾時秒數(數值)

*/
public void Connect(string IP, int Port, int TimeoutSec)
登入交易主機
/*
  ID       主機帳號(字串) 
  Password 主機帳號的密碼(字串)
  Account  交易帳號(字串)       
  回傳值   true  表示帳號檢查成功,開始交易主機登入程序
          false 表示帳號檢查失敗,可以使用 GetLastErrorMessage() 取得錯誤原因。
*/
public bool LogonProxy(string ID, string Password, string Account)
檢查連線狀態
/*
  回傳值 true 表示連線成功, False 表示連線中斷

*/
public bool IsConnected()
中斷主機連線
public void Disconnect()

憑證與帳號設定

設定憑證
/*
  pfx_path 憑證所在的路徑與檔名  
  pfx_id   憑證使用者的代碼
  pfx_pwd  憑證密碼 
  回傳值   true 設定成功
          false 設定失敗,可以使用 GetLastErrorMessage() 取得錯誤原因。              

*/
public bool EnableMEGACA(string pfx_path, string pfx_id, string pfx_pwd)
設定交易帳號
/*
  Exchange   交易所 
            "TAIFEX":期交所
            "TWSE":  證交所
            "OTC":   櫃買
            ※需為大寫字母 
  BrokerID   券商或期商代號
  Account    交易帳號
  回傳值     true 設定成功
            false 設定失敗,可以使用 GetLastErrorMessage() 取得錯誤原因。

*/
public bool SetAccount(string Exchange, string BrokerID, string Account)

下單

新單
/*
  Market         市場別
                 "fut":期貨
                 "opt":選擇權
                 "tse":集中市場(證交所)
                 "otc":櫃買市場(OTC), ※需為小寫字母.
  UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                      OnOrderReplyNewOrder 
                      OnOrderRejectOrder
                      OnOrderFill
                 長度:15位英數字. 長度超過部分會被截除,含非英數字則整串UDD內容都不會被送出。
  Symbol         商品代碼
  Price          價格
  Side           買賣別
                 "B":買
                 "S":賣, ※需為大寫字母.
  OrderQty       委託數量
  OrderType      委託方式 
                 "L":限價
                 "M":市價
                 "P":Market with protection ※需為大寫字母.
  TimeInForce    委託條件
                 "R":ROD
                 "I":IOC
                 "F":FOK, ※需為大寫字母.
  TradingSession 交易種類
                 "N":普通
                 "I":盤中零股
                 "O":盤後零股
                 "A":盤後定價, ※需為大寫字母, 期權商品請用 "N".
  PositionEffect 期貨倉別
                 "A":Auto(證券用A、期貨自動)
                 "D":DayTrade(期貨當沖)
  TWSEOrdType    TWSE/OTC Order type.
                  "":期貨下單
                  "0":證券一般
                  "3":證券融資
                  "4":證券融劵
                  "A":證券當沖
  回傳值         NID
                 NID是當日唯一的ID,收到新單回報時請透過NID對應回原單。
                 若 NID 回 0 表示帶入欄位有誤或驗章失敗,請用 GetLastErrorMessage() 取得錯誤原因。
 
 */
 public Int64 SendNewOrderEx(string Market,
                             string UDD,
                             string Symbol,
                             double Price,
                             string Side,
                             int OrderQty,
                             string OrderType,
                             string TimeInForce,
                             string TradingSession,
                             string PositionEffect,
                             string TWSEOrdType)
海外股票新單
/*
Exchange       交易所
                "US"  美股
                "USS" 美國每股
UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                    OnOrderReplyNewOrder 
                    OnOrderRejectOrder
                    OnOrderFill
                長度:15位英數字. 長度超過部分會被截除,含非英數字則整串UDD內容都不會被送出。
Symbol         商品代碼
Price          價格
StopPrice      停損價格. OrderType 非停損限價時請填 0 
Side           買賣別
                "B":買
                "S":賣, ※需為大寫字母.
OrderQty       委託數量
OrderType      委託方式 
                "L": 限價
                "M": 市價
                "SL": 停損限價
                "OL": 開盤 LMT
                "CL": 收盤 LMT
                "OM": 開盤 MKT
                "CM": 收盤 MKT
                "VL": VWAP LMT
                "TL": TWAP LMT
                "VM": VWAP MKT
                "TM": TWAP MKT
TimeInForce    委託條件
                "R":ROD
                "I":IOC
                "F":FOK
                "C":GTC
                "D":GTD, ※需為大寫字母.
Currency       幣別
                "1":TWD
                "2":非TWD
ExecInst       成交條件
                "G": All or none (AON) 全部成交或是不要
                "" or NULL 不設定成交條件 
回傳值         NID
                NID是當日唯一的ID,收到新單回報時請透過NID對應回原單。
                若 NID 回 0 表示帶入欄位有誤或驗章失敗,請用 GetLastErrorMessage() 取得錯誤原因。 

*/
public Int64 SendNewForeignOrder(string Exchange,
                                string UDD,
                                string Symbol,
                                double Price,
                                double StopPrice,
                                string Side,
                                int    OrderQty,
                                string OrderType,
                                string TimeInForce,
                                string Currency,
                                string ExecInst);

刪單

刪單
/*
  Market          市場別
                  "fut":期貨
                  "opt":選擇權
                  "tse":集中市場(證交所)
                  "otc":櫃買市場(OTC), ※需為小寫字母.
  UDD             使用者運用的字串, 在以下 virtual function callback 時會帶回:
                      OnOrderReplyCancelOrder 
                      OnOrderRejectedOrder
                  長度:15位英數字. 長度超過部分會被截除,含非英數字則整串UDD內容都不會被送出。
  Symbol          商品代碼
  Price           價格
  Side            買賣別
                  "B":買
                  "S":賣, ※需為大寫字母.
  OrderID         委託書號 
  TradingSession  交易種類
                  "N":普通
                  "I":盤中零股
                  "O":盤後零股
                  "A":盤後定價, ※需為大寫字母, 期權商品請用 "N".
  TWSEOrdType     TWSE/OTC Order type.
                  "":期貨下單
                  "0":證券一般
                  "3":證券融資
                  "4":證券融劵
                  "A":證券當沖
  回傳值         NID
                 NID是當日唯一的ID,收到新單回報時請透過NID對應回原單。
                 若 NID 回 0 表示帶入欄位有誤或驗章失敗,請用 GetLastErrorMessage() 取得錯誤原因。
 
 */
 public Int64 SendCancelOrderEx(string Market,
                                string UDD,
                                string Symbol,
                                double Price,
                                string Side,
                                string OrderID,
                                string TradingSession,
                                string TWSEOrdType)
海外股票刪單
/*
Exchange       交易所
                "US"  美股
                "USS" 美國每股
UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                    OnOrderReplyCancelOrder 
                    OnOrderRejectedOrder                    
                長度:15位英數字. 長度超過部分會被截除,含非英數字則整串UDD內容都不會被送出。
Symbol         商品代碼
Side           買賣別
                "B":買
                "S":賣, ※需為大寫字母.
OrderID        新單委託單時的 ClOrdID 或是 OnOrderReplyNewOrder callback時所回傳的 OrderID 
回傳值         NID
                NID是當日唯一的ID,收到新單回報時請透過NID對應回原單。
                若 NID 回 0 表示帶入欄位有誤或驗章失敗,請用 GetLastErrorMessage() 取得錯誤原因。

*/
public Int64 SendCancelForeignOrder(string Exchange,
                                    string UDD,
                                    string Symbol,
                                    string Side,
                                    string OrderID);

改單

改單
/*
Market         市場別
                "fut":期貨
                "opt":選擇權
                "tse":集中市場(證交所)
                "otc":櫃買市場(OTC), ※需為小寫字母.
UDD            使用者運用的字串, 在以下 event 時會帶回:
                    OnOrderReplyReplaceOrder 
                    OnOrderRejectOrder
                長度:15位英數字. 長度超過部分會被截除,含非英數字則整串UDD內容都不會被送出。
Symbol         商品代碼
OrderID        委託書號
Side           買賣別
                "B":買
                "S":賣, ※需為大寫字母.
Price          價格 欲改價的價錢(減量時填0)
OrderQty       委託數量 欲減的量(改價時填0)
OrderType      委託方式 
                "L":限價
                "M":市價
                "P":Market with protection ※需為大寫字母.
TimeInForce    委託條件
                "R":ROD
                "I":IOC
                "F":FOK, ※需為大寫字母.
TradingSession 交易種類
                "N":普通
                "I":盤中零股
                "O":盤後零股
                "A":盤後定價, ※需為大寫字母, 期權商品請用 "N".
TWSEOrdType    TWSE/OTC Order type.
                "":期貨下單
                "0":證券一般
                "3":證券融資
                "4":證券融劵
                "A":證券當沖
回傳值         NID
                NID是當日唯一的ID,收到新單回報時請透過NID對應回原單。
                若 NID 回 0 表示帶入欄位有誤或驗章失敗,請用 GetLastErrorMessage() 取得錯誤原因。

*/
public Int64 SendReplaceOrderEx(string Market,
                                string UDD,
                                string Symbol,
                                string OrderID,
                                string Side,
                                double Price,
                                int OrderQty,
                                string OrderType,
                                string TimeInForce,
                                string TradingSession,
                                string TWSEOrdType)