비엔앤도 화폐 웹소켓의 시장 접근 예제 - 파이썬

저자:스코틀리크, 2021-06-15 20:16:47, 업데이트:

FMZ에서 거의 2 개월, 몇 가지 전략을 실행 수익은 좋은, 커뮤니티에 약간의 기여를 할 필요가 있다고 생각, 아래 웹소켓의 예는 많이 볼 수 없습니다, 웹소켓 시장의 예를 추가하십시오, 더 간단, 시장의 접근, 순환에 인쇄 시장의 json.

다화폐 헤지프리트 클래스의 전략에서 사용된 rest보다 인터페이스 반응이 빠르다. 동시에 거래되는 많은 화폐가 있다면 차이는 크다.

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



더 많은

노력하는 양성전화번호: (wss://stream.binance.com:9443/stream?streams=btcusdt@aggTrade/ethusdt@aggTrade/axsusdt@aggTrade/ltcusdt@aggTrade/dogeusdt@aggTrade에 대한 연결=진짜)

스코틀리크처음엔 이런 식으로 쓰였는데, 편리하지만, 모든 동전의 틱이 한 줄에 있는 것은 제 자신의 전략에 적합하지 않습니다.

초목위안의 WSS 구독은 url, 중간 / 연결을 통해 가능합니다.

우산대신에게 물어보세요: Bin An은 실시간으로 100개 이상의 게시물 가격 깊이를 얻을 수 있는 간단한 방법이 있나요?