Contoh akses websocket ke pasar mata uang Binance - Python

Penulis:Scottliyq, Dibuat: 2021-06-15 20:16:47, Diperbarui:

Dengan FMZ hampir 2 bulan, berjalan beberapa keuntungan strategi yang baik, merasa perlu untuk memberikan kontribusi kecil untuk masyarakat, melihat contoh Websocket sekarang tidak banyak, memberikan kontribusi contoh berlangganan multistream mendapatkan multi mata uang pasar Websocket, lebih sederhana, mendapatkan pasar, mencetak pasar dalam lingkaran json.

Interface yang digunakan dalam strategi multi-currency hedging leverage lebih cepat dari rest, dan jika banyak mata uang yang diperdagangkan pada saat yang sama, perbedaannya masih cukup besar, semoga dapat membantu.

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



Lebih banyak

Kekuatan KuantitasMengetuk (("wss://stream.binance.com:9443/stream?streams=btcusdt@aggTrade/ethusdt@aggTrade/axsusdt@aggTrade/ltcusdt@aggTrade/dogeusdt@aggTrade untuk terhubung kembali=benar");

ScottliyqAwalnya ditulis dengan cara ini, mudah dan nyaman, tetapi semua koin dititik di satu antrian, tidak cocok untuk strategi saya sendiri.

RumputLangganan WSS di Binance dapat dilakukan dengan satu url, di tengahnya menggunakan / koneksi

WusanTeman-teman, apakah ada cara mudah untuk mendapatkan lebih dari 100 daftar harga dalam waktu nyata?