Order.set_event 設定事件處理

設定事件回調函數,用於處理交易過程中產生的即時事件(如新單、改單、刪單、成交)。
此方法允許使用者自定義事件回調函數,系統在接收到交易相關事件時,會將事件資料物件傳遞給該回調函數進行處理。

Example

input
#設定事件處理 
event_counter = 0 

def my_event_handler(event): 
    global event_counter 
    event_counter += 1  # 每次事件進來 +1 
    print(f"[{event_counter}] 接收到事件:{event.task}, 狀態:{event.status}") 
     
api.Order.set_event(my_event_handler) 
 
#建立新委託 
trade = api.Order.create_order(action =kgi.Action.Buy, 
	symbol= '1234', 
	qty= 5, 
	price= kgi.PriceType.MKT, 
	time_in_force= kgi.TimeInForce.ROD, 
	order_cond= kgi.OrderCond.CASH, 
	odd_lot = kgi.OddLot.Common 
) 
output
[1] 接收到事件:Task.NewOrder, 狀態:Status.Pending 
[2] 接收到事件:Task.NewOrder, 狀態:Status.Success 

Attribute

參數 資料型態 說明
event callable 回調函數,需接收一個Event事件資料物件。
該事件task可能為以下五種類型之一:
NewOrder -新單
UpdatePrice -改價
UpdateQty -改量
CancelOrder -取消委託
Deal -成交

Return Attribute

此方法不回傳任何值,僅設定回調函數。
在未設置set event情況下,默認印出完整event。