''' Description: Capture stream; store it temporarily; delete it after certain time interval/99/100 values. Stream Name: @kline_ ''' from matplotlib.pyplot import close from constants import CURRENT_SYMBOL import websocket, json
class BinanceDataStream:
stream_url = 'wss://stream.binance.com:9443/ws/#@kline_1m'
def __init__(self, symbol):
self.stream_close = []
BinanceDataStream.stream_url = BinanceDataStream.stream_url.replace('#', CURRENT_SYMBOL.lower())
ws = websocket.WebSocketApp(BinanceDataStream.stream_url, on_open=print("->opened!"), on_close=print("->closed!"),on_message=self.get_stream)
ws.run_forever()
def get_stream(self, data):
_data = json.loads(data)
_klines = _data.get('k')
is_closed= _klines.get('x')
close_price = _klines.get('c')
if is_closed:
self.stream_close.append(close_price)
def delete_stream(self):
self.stream_close = list()