Python

class spdOrderAPI

連線與登入

連線交易主機
# IP            下單主機IP(字串)
# Port          下單主機Port(數值)
# TimeoutSec    設定連線逾時秒數(數值)
# 
def Connect(IP, Port, TimeoutSec):
登入交易主機
# ID       主機帳號(字串) 
# Password 主機帳號的密碼(字串)
# Account  交易帳號(字串)       
#
def LogonProxy(ID, Password, Account):
檢查連線狀態
# 回傳值 TRUE 表示連線成功, FALSE 表示連線中斷
#
def IsConnected():
中斷主機連線
def Disconnect():

憑證與帳號設定

設定憑證
# pfx_path 憑證所在的路徑與檔名  
# pfx_id   憑證使用者的代碼
# pfx_pwd  憑證密碼 
# 回傳值   TRUE 設定成功
#          FALSE 設定失敗              
#
def EnableMEGACA(pfx_path, pfx_id, pfx_pwd):
設定交易帳號
# Exchange  交易所 
#           'TAIFEX':期交所
#           'TWSE':證交所
#           'OTC':櫃買
#           ※需為大寫字母 
# BrokerID  券商或期商代號
# Account   交易帳號
#
def SetAccount(Exchange, BrokerID, Account):

下單

新單
# Market         市場別
#                'fut':期貨
#                'opt':選擇權
#                'tse':集中市場(證交所)
#                'otc':櫃買市場(OTC), ※需為小寫字母.
# UDD            使用者運用的字串, 在以下Event 發生時會帶回, OnReplyNewOrder, OnRejectOrder, OnFill, 長度:15位英數字.
# 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表示帶入欄位有誤或驗章失敗 
#
def SendNewOrderEx(Market, UDD, Symbol, Price, Side, OrderQty, OrderType, TimeInForce, TradingSession, PositionEffect, TWSEOrdType ):
海外股票新單
# Exchange       交易所
#                "US"  美股
#                "USS" 美國每股
# UDD            使用者運用的字串, 在以下 event 發生時會帶回:
#                     OnReplyNewOrder 
#                     OnRejectOrder
#                     OnFill
#                長度: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) 全部成交或是不要
#                非"G" 不設定成交條件 
# 回傳值         NID
#                NID是當日唯一的ID,收到新單回報時請透過NID對應回原單。若NID回0表示帶入欄位有誤或驗章失敗,請用 GetLastErrorMsg 取得錯誤原因
#                若 NID 回 0 表示帶入欄位有誤或驗章失敗,請用 GetLastErrorMsg() 取得錯誤原因。
def SendNewForeignOrder(self, Exchange, UDD, Symbol, Price, StopPrice, Side, OrderQty, OrderType, TimeInForce, Currency, ExecInst):

刪單

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

改單

改單
# Market         市場別
#                'fut':期貨
#                'opt':選擇權
#                'tse':集中市場(證交所)
#                'otc':櫃買市場(OTC), ※需為小寫字母.
# UDD            使用者運用的字串, 在以下Event 發生時會帶回, OnReplaceOrder, OnRejectOrder. 長度:15位英數字.
# 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表示帶入欄位有誤或驗章失敗.
#
def SendReplaceOrderEx(Market, UDD, Symbol, OrderID, Side, Price, OrderQty, OrderType, TimeInForce, TradingSession, TWSEOrdType):