FutOrder.set_event 設定事件處理

Example

input
#設定事件處理 
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) 
output
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, 狀態: 

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

Attribute

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

Return Attribute

此方法不回傳任何值,僅設定回調函數。
該函數會返回一dataframe,包含以下欄位資訊。