输入/搜索内容
0
关注
2
关注者
币安多币种Websocket获取行情的例子-Python
经验交流
创建于 2021-06-15 20:16:47  
 4
 4500

用FMZ快2个月了,跑了几个策略收益还不错,觉得有必要为社区做点小贡献,看了下现在Websocket的例子还不多,贡献一下订阅多stream获取多币种Websocket行情的例子,比较简单,获取行情,循环里打印行情的json。

用在多币种对冲套利类的策略里比rest的接口反应更快,如果同时交易的币多的话,差异还是挺大的,希望能有帮助。

python
#websocket 更新 行情 # { # "e":"bookTicker", // 事件类型 # "u":400900217, // 更新ID # "E": 1568014460893, // 事件推送时间 # "T": 1568014460891, // 撮合时间 # "s":"BNBUSDT", // 交易对 # "b":"25.35190000", // 买单最优挂单价格 # "B":"31.21000000", // 买单最优挂单数量 # "a":"25.36520000", // 卖单最优挂单价格 # "A":"40.66000000" // 卖单最优挂单数量 # } def on_msg(msg) : #更新行情 if msg is not None and len(msg)>0: bookTicker = json.loads(msg) else: # Log('book tick msg is none') return Log(bookTicker) def main(): SetErrorFilter("502:|503:|tcp|character|unexpected|network|timeout|WSARecv|Connect|GetAddr|no such|reset|http|received|EOF|reused|Unknown") trade_symbols = 'TRX,ZEC,DENT,BLZ,ENJ,ZIL,MANA,ONT,XMR,ICX,SC,THETA,CVC,BAT,STMX,VET,IOST,NEO,MTL,DASH,KNC,ZRX,IOTA'.split(',') ary_symbol_streams = [] for i in range(len(trade_symbols)): symbol = trade_symbols[i].lower() stream_client = Dial(f"wss://fstream.binance.com/ws/{symbol}usdt@bookTicker|reconnect=true") ary_symbol_streams.append(stream_client) while (true): for item in ary_symbol_streams: #-2读取最新数据 msg = item.read(-2) on_msg(msg)
相关推荐
评论
全部评论 (4)

    Dial("wss://stream.binance.com:9443/stream?streams=btcusdt@aggTrade/ethusdt@aggTrade/axsusdt@aggTrade/ltcusdt@aggTrade/dogeusdt@aggTrade|reconnect=true");

    5 年前

    开始是用这个方法写的,方便是方便,不过所有币的tick都在一个队列里,不太适合我自己的策略。

    5 年前

    币安的wss订阅可以用一条url,中间用/连接就行

    5 年前

    请问大神:币安想实时获取100档以上挂单价格深度有什么简单办法吗

    5 年前
  • 1
社区
回测系统
APP 下载
iPhone 下载
© 2015 - ∞ INVENTOR PTE LTD (SG)