此功能允許用戶為訂閲方法設定一個回調函數。這樣每當訂閱的股票數據更新時,設定的自定義回調函數將被調用,即時處理股市數據。
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=TAIFEX,
symbol=TXFF6,
data_type=2,
datetime=16:43:29.656,
open=45101.0,
high=45285.0,
low=44911.0,
close=45115.0,
volume=1,
total_volume=12046,
bid_prices=[45111.0, 45110.0, 45109.0, 45108.0, 45106.0],
bid_volumes=[2, 2, 5, 6, 2],
ask_prices=[45116.0, 45117.0, 45118.0, 45121.0, 45122.0],
ask_volumes=[1, 1, 4, 4, 4],
simtrade=0,
status_remarks=0,
raise_fall_remarks=0,
delay_time=0.0
)
'這一筆成交'
SWMarketData(exchange=TAIFEX,
symbol=TXFF6,
data_type=2,
datetime=16:43:29.656,
open=45101.0,
high=45285.0,
low=44911.0,
close=45116.0,
volume=1,
total_volume=12046,
bid_prices=[45111.0, 45110.0, 45109.0, 45108.0, 45106.0],
bid_volumes=[2, 2, 5, 6, 2],
ask_prices=[45116.0, 45117.0, 45118.0, 45121.0, 45122.0],
ask_volumes=[1, 1, 4, 4, 4],
simtrade=0,
status_remarks=0,
raise_fall_remarks=0,
delay_time=0.005
)
'累計成交更新'
SWMarketData(exchange=TAIFEX,
symbol=TXFF6, data_type=3,
datetime=16:43:29.682,
open=45101.0,
high=45285.0,
low=44911.0,
close=45116.0,
volume=1,
total_volume=12048,
bid_prices=[45111.0, 45110.0, 45109.0, 45108.0, 45106.0],
bid_volumes=[2, 2, 5, 6, 2],
ask_prices=[45116.0, 45117.0, 45118.0, 45121.0, 45122.0],
ask_volumes=[1, 1, 4, 4, 4],
simtrade=0,
status_remarks=0,
raise_fall_remarks=0,
delay_time=0.008
)
callback:回調函數,當訂閲的股票數據更新時將被呼叫。回調函數需要定義一個接收數據的參數,該參數會在股票數據更新時傳遞給函數。
此方法不直接返回值,而是在訂閲股票後,根據callback的編制邏輯,當有相關數據更新時執行回調函數,從而實現即時數據處理和反應。