本文說明如何進行刪單作業。
# 設定交易標的
# 以台股上市股票:長榮
contract_2603_TW = api.Contracts.Stocks["2603"]
# 設定買單
order = api.Order(
price=128, #委託價
quantity=1, #委託量:1張=1000股
action="Buy", #買賣:買單
price_type="LMT", #價格條件:限價
order_type="ROD", #下單條件:ROD :當日有效(Rest of Day)
# IOC:立即成交否則取消(Immediate-or-Cancel)
# FOK:全部成交否則取消(Fill-or-Kill)
order_lot="Common",
account=api.stock_account, #股票帳戶
)
# 下單
trade = api.place_order(contract_2603_TW, order)
# 取消委託
api.update_status(api.stock_account)
print()
cancel_order = api.cancel_order(trade)
if(cancel_order):
print (" 委託單取消成功")
api.update_status(api.stock_account)
# 查看訂單狀態
print(cancel_order)
Status of Trade交易狀態包括如下:
PendingSubmit: 傳送中
PreSubmitted: 預約單
Submitted: 傳送成功
Failed: 失敗
Cancelled: 已刪除
Filled: 完全成交
Filling: 部分成交
利用shioaji函式庫之Order設定訂單、place_order進行下單及cancel_order進行取消委託單作業。