C++

class spdOrderAPI

連線與登入

連線交易主機
/*
IP           下單主機IP
Port         下單主機Port
TimeoutSec   設定連線逾時秒數
*/ 
void ConnectSpeedy(const char* IP, int Port, intTimeoutSec)
登入交易主機
/*
  ID       主機帳號 
  Password 主機帳號的密碼
  Account  交易帳號       
  回傳值   true  表示帳號檢查成功,開始交易主機登入程序
            false 表示帳號檢查失敗,可以使用 GetOrderAPILastErrorMessage() 取得錯誤原因。
  */
  bool LogonSpeedy(const char* ID, const char* Password, const char* Account)
檢查連線狀態
/*
回傳值 true 表示與交易主機連線中, false 表示連線中斷

*/
bool IsSpeedyConnected()
中斷主機連線
void DisconnectSpeedy()

憑證與帳號設定

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

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

*/
bool SetAccount(const char* Exchange, const char* BrokerID, const char* Account)

下單

新單
/*
Market         市場別
                "fut":期貨
                "opt":選擇權
                "tse":集中市場(證交所)
                "otc":櫃買市場(OTC), ※需為小寫字母.
UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                    OnNewOrderReport 
                    OnOrderRejectedReport
                    OnOrderMatchReport
                長度: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 表示帶入欄位有誤或驗章失敗,請用 GetOrderAPILastErrorMessage() 取得錯誤原因。 

*/
long long SendNewOrder(const char* Market,
                      const char* UDD,
                      const char* Symbol,
                      double      Price,
                      cosnt char* Side,
                      int         OrderQty,
                      const char* OrderType,
                      const char* TimeInForce,
                      const char* TradingSession,
                      const char* PositionEffect,
                      const char* TWSEOrdType)
海外股票新單
/*
Exchange       交易所
                "US"  美股
                "USS" 美國每股
UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                    OnNewOrderReport 
                    OnOrderRejectedReport
                    OnOrderMatchReport
                長度: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 表示帶入欄位有誤或驗章失敗,請用 GetOrderAPILastErrorMessage() 取得錯誤原因。 

*/
long long SendNewForeignOrder(const char* Exchange,
                              const char* UDD,
                              const char* Symbol,
                              double      Price,
                              double      StopPrice,
                              const char* Side,
                              int         OrderQty,
                              const char* OrderType,
                              const char* TimeInForce,
                              const char* Currency,
                              const char* ExecInst);

刪單

刪單
/*
  Market         市場別
                  "fut":期貨
                  "opt":選擇權
                  "tse":集中市場(證交所)
                  "otc":櫃買市場(OTC), ※需為小寫字母.
  UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                      OnCancelOrderReport
                      OnOrderRejectedReport                   
                  長度: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 表示帶入欄位有誤或驗章失敗,請用 GetOrderAPILastErrorMessage() 取得錯誤原因。
  
  */
  long long SendCancelOrder(const char* Market,
                            const char* UDD,
                            const char* Symbol,
                            double      Price,
                            const char* Side,
                            const char* OrderID,
                            const char* TradingSession,
                            const char* TWSEOrdType)
海外股票刪單
/*
Exchange       交易所
                "US"  美股
                "USS" 美國每股
UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                    OnCancelOrderReport
                    OnOrderRejectedReport                   
                長度:15位英數字. 長度超過部分會被截除,含非英數字則整串UDD內容都不會被送出。
Symbol         商品代碼
Side           買賣別
                "B":買
                "S":賣, ※需為大寫字母.
OrderID        新單委託單時的 ClOrdID 或是 OnNewOrderReport callback時所回傳的 OrderID 
回傳值         NID
                NID是當日唯一的ID,收到新單回報時請透過NID對應回原單。
                若 NID 回 0 表示帶入欄位有誤或驗章失敗,請用 GetOrderAPILastErrorMessage() 取得錯誤原因。

*/
long long SendCancelForeignOrder(const char* Exchange,
                                const char* UDD,
                                const char* Symbol,
                                const char* Side,
                                const char* OrderID);

改單

改單
/*
Market         市場別
                "fut":期貨
                "opt":選擇權
                "tse":集中市場(證交所)
                "otc":櫃買市場(OTC), ※需為小寫字母.
UDD            使用者運用的字串, 在以下 virtual function callback 時會帶回:
                    OnReplaceOrderReport
                    OnOrderRejectedReport                   
                長度: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 表示帶入欄位有誤或驗章失敗,請用 GetOrderAPILastErrorMessage() 取得錯誤原因。

*/
long long SendReplaceOrder(const char* Market,
                          const char* UDD,
                          const char* Symbol,
                          const char* OrderID,
                          const char* Side,
                          double      Price,
                          int         OrderQty,
                          const char* OrderType,
                          const char* TimeInForce,
                          const char* TradingSession,
                          const char* TWSEOrdType)