對交易訂單進行價格或數量修改。
trade= api.FutOrder.update_order('wAaa8',price=23100)
trade
Trade(
order=Order(
order_id='wAaa8',
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='TXFH5',
quantity=3,
price=23300.0,
time_in_force=<TimeInForce.ROD: 0>,
price_type=<PriceType.LMT: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>),
order_status=OrderStatus(
nid='00009841',
status=<Status.Submitted>,
modified_time='134014',
modified_quantity=3,
modified_price=23100.0,
deals=[]),
operations=[Operation(
nid='00009841',
task=<Task.NewOrder>,
status=<Status.Success>,
op_time='133952'),
Operation(
nid='00009841',
task=<Task.UpdatePrice>,
status=<Status.Success>,
op_time='134014',
msg='NewPrice_23100.0')]
)
#陸續收到系統主動回報:改價事件-系統處理中
Event(
task=<Task.UpdatePrice>,
status=<Status.Pending>,
order_id='wAaa8',
seqno=1753767613491402002,
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='TXFH5',
quantity='23100',
price=23300.0,
time_in_force=<TimeInForce.ROD: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>,
ts='134013',
msg='NewPrice_23100'
)
#陸續收到系統主動回報:改價事件-成功執行
Event(
task=<Task.UpdatePrice>,
status=<Status.Success>,
order_id='wAaa8',
seqno='00009841',
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='TXFH5',
quantity=3,
price=23100.0,
time_in_force=<TimeInForce.ROD: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>,
ts='134013',
msg='NewPrice_23100.0'
)
trade= api.FutOrder.update_order('wAaa8',qty=1)
trade
Trade(
order=Order(
order_id='wAaa8',
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='TXFH5',
quantity=3,
price=23300.0,
time_in_force=<TimeInForce.ROD: 0>,
price_type=<PriceType.LMT: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>),
order_status=OrderStatus(
nid='00009842',
status=<Status.Submitted>,
modified_time='134114',
modified_quantity=2,
modified_price=23100.0,
deals=[]),
operations=[Operation(
nid='00009841',
task=<Task.NewOrder>,
status=<Status.Success>,
op_time='133952'),
Operation(
nid='00009842',
task=<Task.UpdateQty>,
status=<Status.Success>,
op_time='134114',
msg='NewQty_2')]
)
#陸續收到系統主動回報:改量事件-系統處理中
Event(
task=<Task.UpdateQty>,
status=<Status.Pending>,
order_id='wAaa8',
seqno=1753767591724963001,
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='TXFH5',
quantity='23100',
price=23300.0,
time_in_force=<TimeInForce.ROD: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>,
ts='134013',
msg='NewQty_1'
)
#陸續收到系統主動回報:改量事件-成功執行
Event(
task=<Task.UpdateQty>,
status=<Status.Success>,
order_id='wAaa8',
seqno='00009842',
action=<Action.Buy: 'B'>,
category=<Category.FUTURE: 0>,
symbol='TXFH5',
quantity=1,
price=23100.0,
time_in_force=<TimeInForce.ROD: 0>,
trade_hour=<TradeHour.REGULAR: 'R'>,
ts='134013',
msg='NewQty_1'
)
| 參數 | 資料型態 | 說明 |
|---|---|---|
| order_id | str | 需要修改訂單的orderId。 |
| price | float | 欲改變的新價格。 |
| qty | int | 欲減少的數量。 |
※注意,price和qty僅能輸入其中一個,不可同時修改兩者。qty僅能設定不超過當前剩餘待成交數量。
當用戶提交一個交易委託後,系統將創建並返回一個 Trade 物件。
並可從查閲交易功能"get_trades"查找到該筆委託,以便用戶追蹤委託狀態。
此外,每當該委託狀態發生變化(如成交、刪單、改單),系統會主動推送對應的 Event 物件,以提供即時的狀態更新。