SubOrder.set_event 設定事件處理

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

Example

input
#設定事件處理 
def set_event(event): 
    print(f"接收到事件:{event.task}, 狀態:{event.status}") 
    print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~') 
     
api.SubOrder.set_event(set_event) 
 
#建立新委託 
api.SubOrder.create_order( 
	action= kgi.Action.Buy, 
	symbol= 'AAPL', 
	qty= 4, 
	price= 230 ) 
output
Trade( 
	order= 
		Order( 
		org_seqnum='1003923', 
		order_id='250702000024',  
		action=<Action.Buy: 'B'>, 
		market=<Market.US: 1>,  
		symbol='AAPL', 
		quantity=4, 
		price=230.0),  
	order_status= 
		OrderStatus( 
		nid='1003923', 
		status=<Status.Submitted>,  
		modified_time='', 
		modified_quantity=4,  
		modified_price=230.0,  
		deals=[]),  
	operations=[ 
		Operation( 
		nid='1003923', 
		task=<Task.NewOrder >,  
		status='委託成功') 
]) 
 
接收到事件:Task.NewOrder, 狀態:處理中 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
接收到事件:Task.NewOrder, 狀態:已下單至交易室 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
接收到事件:Task.NewOrder, 狀態:委託上手中 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
接收到事件:Task.NewOrder, 狀態:委託成功 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 

Attribute

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

Return Attribute

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