Ví dụ về việc truy cập thị trường Websocket của đồng tiền Binance - Python

Tác giả:Scottliyq, Tạo: 2021-06-15 20:16:47, Cập nhật:

Với FMZ gần 2 tháng, chạy một số chiến lược thu nhập vẫn tốt, cảm thấy cần thiết để đóng góp một chút cho cộng đồng, xem ví dụ Websocket hiện tại là không nhiều, hãy đóng góp ví dụ về đăng ký đa luồng truy cập đa đồng tiền Websocket thị trường, đơn giản hơn, truy cập thị trường, in thị trường trong vòng lặp json.

Các giao diện được sử dụng trong các chiến lược mảng lãi suất lãi suất đa đồng tiền phản ứng nhanh hơn so với phần còn lại, và nếu nhiều đồng tiền được giao dịch cùng một lúc, sự khác biệt vẫn khá lớn, hy vọng sẽ hữu ích.

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



Thêm nữa

Khả năng định lượngDial (("wss://stream.binance.com:9443/stream?streams=btcusdt@aggTrade/ethusdt@aggTrade/axsusdt@aggTrade/ltcusdt@aggTrade/dogeusdt@aggTrade để kết nối lại=true");

ScottliyqBắt đầu bằng cách viết theo cách này, rất thuận tiện, nhưng tất cả các dấu chấm tiền xu đều nằm trong một hàng, không phù hợp với chiến lược của riêng tôi.

Cỏ nhỏĐăng ký WSS của Binance có thể được thực hiện bằng một url, giữa sử dụng / kết nối

WusanXin hỏi: Có cách nào đơn giản để Binh An có thể truy cập trực tiếp hơn 100 hồ sơ đăng ký về độ sâu giá?