創建一個新的交易委託。這個方法允許用戶對特定商品執行買入或賣出操作。
trade =api.FutOrder.create_order(
action =kgi.Action.Buy ,
symbol='M1FH5' ,
qty= 1 ,
price =19507 ,
time_in_force=kgi.TimeInForce.ROD)
trade
Trade(
order=Order(
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='M1FH5',
quantity=1,
price=19507,
time_in_force=<TimeInForce.ROD: 0>,
price_type=<PriceType.LMT: 0>),
order_status=OrderStatus(
nid=None,
status=None,
modified_time='',
modified_quantity=None,
modified_price=None,
deals=[]),
operations=[
Operation(
nid=1753766222457335001,
task=<Task.NewOrder>,
status=<Status.Pending>,
op_time='131702')]
)
#陸續收到系統主動回報:新委託事件-系統處理中
Event(
task=<Task.NewOrder>,
status=<Status.Pending>,
order_id='',
seqno=1753766222457335001,
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='M1FH5',
quantity=1,
price=19507,
time_in_force=<TimeInForce.ROD: 0>,
ts='131702'
)
#陸續收到系統主動回報:新委託事件-委託成功
Event(
task=<Task.NewOrder>,
status=<Status.Success>,
order_id='wAaa7',
seqno='00009840',
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='M1FH5',
quantity=1,
price=19507.0,
time_in_force=<TimeInForce.ROD: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>,
ts='131702'
)
「*」表示為必要輸入欄位
| 參數 | 資料型態 | 說明 |
|---|---|---|
| action* | kgi.Action |
買賣交易方向。 可導入參數: - kgi.Action.BUY:為做多 - kgi.Action.SELL:為做空 |
| symbol* | str | 商品代碼,可為期貨或選擇權。 |
| qty* | int | 口數 |
| price* | kgi.PriceType 或 float |
股票的價格,提供多種物件調用。 可導入參數: - 若為數值(float/int),表示限價,如 "100.5" 等數值價格必須為有效的股票或期貨價格。 - kgi.PriceType.MKT:市價 - kgi.PriceType.StopLossMarket:停損市價 - kgi.PriceType.RangeMarket:範圍市價 |
| time_in_force | kgi.TimeInForce |
委託類型,默認值為 kgi.TimeInForce.ROD。 可導入參數: - kgi.TimeInForce.ROD:委託當日有效(只有限價單可以使用 ROD 單) - kgi.TimeInForce.IOC:立即成交,未成交部分將被取消 - kgi.TimeInForce.FOK:立即全部成交,否則全部將被取消 |
當用戶提交一個交易委託後,系統將創建並返回一個 Trade 物件。
並可從查閲交易功能"get_trades"查找到該筆委託,以便用戶追蹤委託狀態。
此外,每當該委託狀態發生變化(如成交、刪單、改單),系統會主動推送對應的 Event 物件,以提供即時的狀態更新。