Với FMZ gần 2 tháng, chạy một số chiến lược thu nhập khá tốt, cảm thấy cần thiết để đóng góp cho cộng đồng một chút, nhìn vào ví dụ của Websocket hiện tại là không có nhiều, đóng góp một ví dụ của đăng ký nhiều luồng để có được nhiều loại tiền tệ Websocket giao dịch, đơn giản hơn, để có được giao dịch, in giao dịch trong vòng lặp json.
Các giao diện của Rest có phản ứng nhanh hơn trong các chiến lược của các loại rủi ro đa đồng tiền, và nếu có nhiều đồng tiền được giao dịch cùng một lúc, thì sự khác biệt là khá lớn, hy vọng sẽ có í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)