此功能允許用戶為訂閲方法設定一個回調函數。這樣每當訂閱的股票數據更新時,設定的自定義回調函數將被調用,即時處理股市數據。
def my_cb(data:kgi.SWMarketData):
if data.data_type ==2:
display('這一筆成交')
display(data)
if data.data_type ==3:
display('累計成交更新')
display(data)
api.SWQUote.set_cb(my_cb)
'這一筆成交'
SWMarketData(exchange=TWSEOdd,
symbol=2330.Odd,
data_type=2,
datetime=12:30:00.000,
open=2390.0,
high=2390.0,
low=2360.0,
close=2395.0,
volume=184688,
total_volume=6128551,
bid_prices=[2360.0, 2355.0, 2350.0, 2345.0, 2340.0],
bid_volumes=[117514, 579761, 934205, 115509, 144738],
ask_prices=[2365.0, 2370.0, 2375.0, 2380.0, 2385.0],
ask_volumes=[14353, 17861, 11627, 13637, 13073],
simtrade=1,
status_remarks=0,
raise_fall_remarks=0,
delay_time=0.0
)
'累計成交更新'
SWMarketData(exchange=TWSEOdd,
symbol=2330.Odd,
data_type=3,
datetime=12:33:00.000,
open=2390.0,
high=2390.0,
low=2360.0,
close=2395.0,
volume=184689,
total_volume=6128552,
bid_prices=[2360.0, 2355.0, 2350.0, 2345.0, 2340.0],
bid_volumes=[117514, 579761, 934205, 115509, 144738],
ask_prices=[2365.0, 2370.0, 2375.0, 2380.0, 2385.0],
ask_volumes=[14353, 17861, 11627, 13637, 13073],
simtrade=1,
status_remarks=0,
raise_fall_remarks=0,
delay_time=0.0
)
callback:回調函數,當訂閲的股票數據更新時將被呼叫。回調函數需要定義一個接收數據的參數,該參數會在股票數據更新時傳遞給函數。
此方法不直接返回值,而是在訂閲股票後,根據callback的編制邏輯,當有相關數據更新時執行回調函數,從而實現即時數據處理和反應。