Ejemplo de acceso al mercado del Websocket de la moneda Bitcoin - Python

El autor:- ¿ Qué?, Creado: 2021-06-15 20:16:47, Actualizado:

Con FMZ casi 2 meses, ejecutar algunas estrategias de ganancias son buenas, se siente necesario hacer una pequeña contribución a la comunidad, a continuación, ver los ejemplos de Websocket no son muchos, contribuir a la suscripción de múltiples corrientes de acceso a la moneda de múltiples Websocket mercado ejemplo, más simple, obtener el mercado, en el ciclo de impresión de mercado json.

La respuesta de la interfaz es más rápida que la del resto en las estrategias de cobertura de interés multicurrency, aunque la diferencia es considerable si se negocian varias monedas al mismo tiempo, y espero que sea útil.

#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)



Más.

El esfuerzo por cuantificarDial (("wss://stream.binance.com:9443/stream?streams=btcusdt@aggTrade/ethusdt@aggTrade/axsusdt@aggTrade/ltcusdt@aggTrade/dogeusdt@aggTrade para conectar de nuevo=verdad");

- ¿ Qué?Comenzó por escribirlo de esta manera, y fue muy fácil, pero todos los ticks de las monedas en una cola, no era muy adecuado para mi propia estrategia.

Las hierbasLa suscripción a WSS de Binance puede realizarse con una URL y / en el medio de la conexión.

VossumPregunta: ¿Hay alguna forma sencilla de obtener más de 100 archivos de precios de profundidad en tiempo real?