小编Dro*_*id 的帖子

如何处理来自binance websocket的多个流数据?

我正在使用 unicorn_binance_websocket_api 传输 100 个加密货币和 2 个不同时间范围的价格数据,我想处理这些数据以存储不同加密货币相对于其时间范围的收盘价,然后执行我的策略以查看我需要哪个加密货币和时间范围交易

我将分享关于如何为单个加密货币和单个时间范围编写策略的代码

from unicorn_binance_websocket_api.unicorn_binance_websocket_api_manager import
BinanceWebSocketApiManager
import json, numpy, talib

binance_websocket_api_manager = BinanceWebSocketApiManager(exchange="binance.com-futures")

binance_websocket_api_manager.create_stream('kline_1m', 'btcusdt')


closes =[]

RSI_PERIOD = 14
RSI_OVERBOUGHT = 70
RSI_OVERSOLD = 30

while True:
received_stream_data_json = binance_websocket_api_manager.pop_stream_data_from_stream_buffer()
if received_stream_data_json:
    json_data = json.loads(received_stream_data_json)
    candle_data = json_data.get('data',{})
    candle = candle_data.get('k', {})

    symboll = candle.get('s',{})
    timeframe = candle.get('i',{})
    close_prices = candle.get('c',{})
    open_prices = candle.get('o',{})
    is_candle_closed = candle.get('x',{})

    if is_candle_closed:
        closes.append(float(close_prices))

    if len(closes) > RSI_PERIOD:
        np_closes = numpy.array(closes)
        rsi = talib.RSI(np_closes,RSI_PERIOD)
        
    if (rsi[-1] > …
Run Code Online (Sandbox Code Playgroud)

python json algorithmic-trading websocket binance

3
推荐指数
1
解决办法
3830
查看次数

标签 统计

algorithmic-trading ×1

binance ×1

json ×1

python ×1

websocket ×1