#設定事件處理
def set_event(event):
print(f"接收到事件:{event.task}, 狀態:{event.status}")
api.FutOrder.set_event(set_event)
#建立新委託
api.FutOrder.create_order(
action =kgi.Action.Buy ,
symbol='M1FB5' ,
qty= 1 ,
price =19507 ,
time_in_force=kgi.TimeInForce.ROD)
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')]
)
接收到事件:Task.NewOrder, 狀態:Status.Pending
接收到事件:Task.NewOrder, 狀態:Status.Success
接收到事件:Task.Deal, 狀態:
設定事件回調函數,用於處理交易過程中產生的即時事件(如新單、改單、刪單、成交)。
此方法允許使用者自定義事件回調函數,系統在接收到交易相關事件時,會將事件資料物件傳遞給該回調函數進行處理。
| 參數 | 資料型態 | 說明 |
|---|---|---|
| event | callable | 回調函數,需接收一個Event事件資料物件。 該事件task可能為以下五種類型之一: NewOrder -新單 UpdatePrice -改價 UpdateQty -改量 CancelOrder -取消委託 Deal -成交 |
此方法不回傳任何值,僅設定回調函數。
該函數會返回一dataframe,包含以下欄位資訊。