0
fokus pada
2
Pengikut

Contoh Petikan Soket Web Berbilang Mata Wang Binance - Python

Dicipta dalam: 2021-06-15 20:16:47, dikemas kini pada:
comments   4
hits   3985

Sudah hampir 2 bulan menggunakan FMZ, telah menjalankan beberapa strategi dan mendapat keuntungan yang baik, merasa perlu untuk memberi sumbangan kecil kepada komuniti, melihat contoh Websocket sekarang tidak banyak, menyumbang contoh langganan multistream untuk mendapatkan pelbagai jenis Websocket, lebih mudah, mendapatkan keadaan, cetak keadaan dalam kitaran json.

Antara muka yang digunakan dalam pelbagai jenis mata wang untuk melakukan penarikan nilai lebih cepat daripada rest, dan jika terdapat banyak mata wang yang diperdagangkan pada masa yang sama, perbezaannya 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)