如何通过websocket监听全市场合约交易对的kline

我想通过websocket监听全市场合约交易对的实时k线,我看了一下python给的样例:

def message_handler(message):
print(message)

my_client = UMFuturesWebsocketClient()
my_client.start()

my_client.kline(
symbol=“btcusdt”,
id=12,
interval=“1d”,
callback=message_handler,
)

我能想到的方案,就是将市场上合约交易对落地到数据库中, 然后从数据库中查出交易对的symbol,然后一个个初始化client,但是这种初始化方案比较费力,成交较高,请问一下有没有更好的监听方案。比如可以批量监听全市场所有交易对的k线数据,谢谢~

如果需要所有市场的kline, 需要一个个的订阅的。

有上限的,不能全部订阅

我就是订阅了全部的合约交易对的kline,操作步骤如下
1、通过接口https://fapi.binance.com/fapi/v1/exchangeInfo可以获取合约的所有交易对 当然我只取了USDT的交易对 大概180+,存入全局的hashmap
2、遍历hashmap间隔300ms进行websock订阅 这里要注意 按不同的interval 建立不同的进程
3、合并所有数据流进入内部队列,并统一存入kafka(各种消息队列都行)
4、启用单独的消费进程存入数据库或进入其他的策略服务

1 Like