此功能允許用戶為訂閲方法設定一個回調函數。 這樣,每當訂閱的股票數據更新時,設定的自定義回調函數將被調用,即時處理股市數據。
def callback(data):
display('=====setTick=====')
display(data)
api.Quote.set_cb_tick(callback)
api.Quote.subscribe_tick('2883')
Callback for [TWStock] [tick] version[v1] set successfully.
Try to subscribe stock[2883] quoteType[qtTick] is_odd[0] version[v1]
'=====setTick====='
Tick_Stock_v1(
exchange='TWSE',
symbol='2883',
delay_time=0.0,
odd_lot=False,
datetime='20251208143000',
open=16.1,
high=16.25,
low=16.0,
close=16.2,
volume=33,
total_volume=33857.0,
chg_type=2,
price_chg=0.15,
pct_chg=0.93,
simtrade=0,
suspend=0,
amount=534.6
)
def callback(data):
display('=====setBidAsk=====')
display(data)
api.Quote.set_cb_bidask(callback)
api.Quote.subscribe_bidask('2883')
Callback for [TWStock] [BidAsk] version[v1] set successfully.
Try to subscribe stock[2883] quoteType[qtBidAsk] is_odd[0] version[v1]
'=====setBidAsk====='
BidAsk_Stock_v1(
exchange='TWSE',
symbol='2883',
delay_time=0.0,
odd_lot=False,
datetime='20251230124754',
bid_prices=[17.5, 17.45, 17.4, 17.35, 17.3],
bid_volumes=[1907, 2368, 2156, 1331, 1407],
ask_prices=[17.55, 17.6, 17.65, 17.7, 17.75],
ask_volumes=[896, 2321, 1823, 2388, 874],
diff_ask_vol=[896, 2321, 1823, 2388, 874],
diff_bid_vol=[1907, 2368, 2156, 1331, 1407],
simtrade=0,
suspend=0
)
def callback(data):
display('=====setkbar=====')
display(data)
api.Quote.set_cb_kbar(callback)
api.Quote.subscribe_kbar('0050',1)
INFO - Callback for [TWStock] [KBar] version[v0] set successfully.
'=====setkbar====='
KBar_Stock_v0(
exchange='TWSE',
symbol='0050',
datetime='202512081330',
timeframe=1,
open=63.7,
high=63.7,
low=63.7,
close=63.7,
volume=1607,
avg_price=63.43,
total_amount=4823722.65
)
callback:回調函數,當訂閲的股票數據更新時將被呼叫。
回調函數需要定義一個接收數據的參數,該參數會在股票數據更新時傳遞給函數。
此方法不直接返回值,而是在訂閲股票後,根據callback的編制邏輯,當有相關數據更新時執行回調函數,從而實現即時數據處理和反應。