Skip to content

Instantly share code, notes, and snippets.

@algo2t
Created October 27, 2020 21:29
Show Gist options
  • Save algo2t/34f4462f6e8670249f7c58545eb83db4 to your computer and use it in GitHub Desktop.
Save algo2t/34f4462f6e8670249f7c58545eb83db4 to your computer and use it in GitHub Desktop.
Live Streaming Data from Trading View
import websocket
import time
import threading
import json
import string
import random
import re
SOCKET = "wss://data.tradingview.com/socket.io/websocket"
symbols = ["NSE:SBIN", "NSE:INDUSINDBK", "NSE:AXISBANK", "MCX:GOLDMX2020"]
symbols = ["BINANCE:BTCUSDT"]
symbols = ["BINANCE:BTCUSDT", "BINANCE:BNBUSDT", "BINANCE:XRPUSDT", "BINANCE:ETHUSDT", "BINANCE:LTCUSDT"]
headers = {
"Accept-Encoding": "gzip, deflate, br",
# "Accept-Language": "en-US,en;q=0.9",
# "Cache-Control": "no-cache",
# "Connection": "Upgrade",
"Host": "data.tradingview.com",
"Origin": "https://www.tradingview.com",
# "Pragma": "no-cache",
# "Sec-WebSocket-Extensions": "permessage-deflate; client_max_window_bits",
# "Sec-WebSocket-Key": "Qf9IDRKqcgNBrNs7X4FK9w==",
# "Sec-WebSocket-Version": 13,
# "Upgrade": "websocket",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36"
}
"""
~m~55~m~{"m":"chart_create_session","p":["cs_zEcm9GqyQdK0",""]}
'~m~52~m~{"m":"quote_create_session","p":["qs_dl0OygXkO4uu"]}'
~m~98~m~{"m":"quote_add_symbols","p":["qs_dl0OygXkO4uu","BINANCE:BTCUSDT",{"flags":["force_permission"]}]}
~m~68~m~{"m":"quote_fast_symbols","p":["qs_dl0OygXkO4uu","BINANCE:BTCUSDT"]}
~m~6~m~~h~157
~m~411~m~{"m":"quote_fast_symbols","p":["qs_34aGlNwcrn81","MCX:GOLDGUINEAN2020","NSE:NIFTY","MCX:GOLDPETALN2020","NSE:BAJFINANCE","MCX:SILVERMQ2020","NSE:SBIN","NSE:BANKNIFTY","NSE:RBLBANK","NSE:INDIAVIX","NSE:INDUSINDBK","NSE:CIPLA","NSE:SUNTV","MCX:NATURALGAS1!","MCX:SILVERMIC1!","MCX:CRUDEOIL1!","MCX:GOLDM1!","NSE:BANKNIFTY1!","SGX:IN1!","OANDA:USDINR","NSE:DABUR","NSE:BERGEPAINT","NASDAQ:TSLA","BINANCE:BTCUSDT"]}
~m~68~m~{"m":"quote_fast_symbols","p":["qs_dl0OygXkO4uu","BINANCE:BTCUSDT"]}
~m~98~m~{"m":"quote_add_symbols","p":["qs_34aGlNwcrn81","BINANCE:BTCUSDT",{"flags":["force_permission"]}]}
"""
def filter_raw_message(text):
try:
found1 = re.search('"m":"(.+?)",', text).group(1)
found2 = re.search('"p":(.+?"}"])}', text).group(1)
print(found1)
print(found2)
return found1, found2
except AttributeError:
print("error")
def generateSession():
stringLength = 12
letters = string.ascii_lowercase
random_string = ''.join(random.choice(letters)
for i in range(stringLength))
return "qs_" + random_string
def generateChartSession():
stringLength = 12
letters = string.ascii_lowercase
random_string = ''.join(random.choice(letters)
for i in range(stringLength))
return "cs_" + random_string
def prependHeader(st):
return "~m~" + str(len(st)) + "~m~" + st
def constructMessage(func, paramList):
#json_mylist = json.dumps(mylist, separators=(',', ':'))
return json.dumps({
"m": func,
"p": paramList
}, separators=(',', ':'))
def createMessage(func, paramList):
return prependHeader(constructMessage(func, paramList))
def sendRawMessage(ws, message):
ws.send(prependHeader(message))
def sendMessage(ws, func, args):
ws.send(createMessage(func, args))
def on_open(ws):
global symbols
print('opened connection')
# def run(*args):
# for i in range(30):
# time.sleep(1)
# ws.send("Hello %d" % i)
# time.sleep(1)
# ws.close()
# print("thread terminating...")
# threading.start_new_thread(run, ())
time.sleep(2)
session = generateSession()
print("session generated {}".format(session))
chart_session = generateChartSession()
print("chart_session generated {}".format(chart_session))
# sendMessage(ws, "set_auth_token", ["eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzUxMiJ9.eyJ1c2VyX2lkIjoxMjY1MDE0OSwiZXhwIjoxNjAzODExMjU2LCJpYXQiOjE2MDM3OTY4NTYsInBsYW4iOiJwcm9fcHJlbWl1bV90cmlhbCIsImV4dF9ob3VycyI6MSwicGVybSI6IiIsInN0dWR5X3Blcm0iOiJ0di1wcm9zdHVkaWVzLHR2LXZvbHVtZWJ5cHJpY2UiLCJtYXhfc3R1ZGllcyI6MjUsIm1heF9mdW5kYW1lbnRhbHMiOjB9.dh5FSJ6W1nQ734Wn1uTFpHlRyyaRutJo0mUGmvBs_2_7fW7rpbBsExtTiKgWTsrjv7dqutIh02IqJpUFg1YVEyUSud9kdUJXLU0_1CIoKM1Z7v-xALTYucY66KxeGtO4C9xaBhfDAF62bSJNYR2M7bo5hpY1vvlghovpClO6bx8"])
# NOTE Use above token for MCX Scripts
sendMessage(ws, "set_auth_token", ["unauthorized_user_token"])
sendMessage(ws, "chart_create_session", [chart_session, ""])
sendMessage(ws, "quote_create_session", [session])
sendMessage(ws, "quote_set_fields", [session, "ch", "chp", "current_session", "description", "local_description",
"language", "exchange", "fractional", "is_tradable", "lp", "lp_time", "minmov", "minmove2",
"original_name", "pricescale", "pro_name", "short_name", "type", "update_mode", "volume",
"currency_code", "logoid", "currency-logoid", "base-currency-logoid"])
# sendMessage(ws, "quote_add_symbols", [
# session, "BINANCE:BTCUSDT", {"flags": ['force_permission']}])
# for symbol in symbols:
# sendMessage(ws, "quote_add_symbols", [ session, symbol, {"flags": ['force_permission']}])
symbols.insert(0, session)
sendMessage(ws, "quote_add_symbols", symbols)
def on_close(ws):
print('closed connection')
def on_message(ws, message):
# p = message.split('~', -1)[4]
# data = json.loads(p)
# print(data)
# print(f'received message :: {message}')
if 'lp' in message:
p = message.split('~', -1)[4]
data = json.loads(p)
# print(data)
timestamp = time.strftime("%Y-%m-%d %H:%M:%S")
symbol = data['p'][1]['n']
ltp = data['p'][1]['v']['lp']
volume = data['p'][1]['v']['volume']
if symbol.upper() == symbol:
print(
f'tick :timestamp: {timestamp} :symbol: {symbol} :last_price: {ltp} :volume: {volume}')
# ws = websocket.WebSocketApp(SOCKET, on_open=on_open, on_data=on_data,
# on_close=on_close, on_message=on_message, header=headers)
# ws.run_forever()
# Below is not actual way to calculate seconds
# keep it 60 as default, kept it as 30 so as to run for 30 seconds only
number_of_seconds = 30
# kept default as 1, cannot multiply by 0, when hours is greater than 1 this must be 60 :)
number_of_minutes = 1
# kept default as 1, cannot multiple by 0, when this is more than 1 make seconds and minutes 60
number_of_hours = 1
if __name__ == "__main__":
websocket.enableTrace(False)
ws = websocket.WebSocketApp(
SOCKET, on_message=on_message, on_open=on_open, on_close=on_close)
wst = threading.Thread(target=ws.run_forever)
wst.daemon = True
wst.start()
conn_timeout = number_of_seconds * number_of_minutes * number_of_hours
while not ws.sock.connected and conn_timeout:
# sleep for a sec, it doesn't matter if you loose some ticks see the bigger picture
time.sleep(1)
conn_timeout -= 1
while ws.sock is not None:
time.sleep(5)
"""
```output
opened connection
tick :: 2020-10-26 15:16:44 :: NSE:SBIN :: 196.65 :: 43263601
tick :: 2020-10-26 15:16:47 :: NSE:SBIN :: 196.55 :: 43281572
tick :: 2020-10-26 15:16:48 :: NSE:SBIN :: 196.5 :: 43284530
tick :: 2020-10-26 15:16:49 :: NSE:SBIN :: 196.65 :: 43284705
tick :: 2020-10-26 15:16:50 :: NSE:SBIN :: 196.55 :: 43289608
tick :: 2020-10-26 15:16:53 :: NSE:SBIN :: 196.65 :: 43302304
tick :: 2020-10-26 15:16:58 :: NSE:SBIN :: 196.6 :: 43306025
tick :: 2020-10-26 15:16:59 :: NSE:SBIN :: 196.55 :: 43310465
tick :: 2020-10-26 15:17:00 :: NSE:SBIN :: 196.65 :: 43313272
tick :: 2020-10-26 15:17:04 :: NSE:SBIN :: 196.6 :: 43324023
tick :: 2020-10-26 15:17:05 :: NSE:SBIN :: 196.7 :: 43327660
tick :: 2020-10-26 15:17:06 :: NSE:SBIN :: 196.65 :: 43327834
tick :: 2020-10-26 15:17:07 :: NSE:SBIN :: 196.6 :: 43329298
tick :: 2020-10-26 15:17:09 :: NSE:SBIN :: 196.65 :: 43329746
tick :: 2020-10-26 15:17:10 :: NSE:SBIN :: 196.6 :: 43332710
tick :: 2020-10-26 15:17:12 :: NSE:SBIN :: 196.65 :: 43334585
tick :: 2020-10-26 15:17:15 :: NSE:SBIN :: 196.55 :: 43336631
tick :: 2020-10-26 15:17:16 :: NSE:SBIN :: 196.6 :: 43337236
tick :: 2020-10-26 15:17:18 :: NSE:SBIN :: 196.7 :: 43352825
tick :: 2020-10-26 15:17:20 :: NSE:SBIN :: 196.55 :: 43359141
tick :: 2020-10-26 15:17:22 :: NSE:SBIN :: 196.65 :: 43362175
tick :: 2020-10-26 15:17:23 :: NSE:SBIN :: 196.55 :: 43364062
tick :: 2020-10-26 15:17:25 :: NSE:SBIN :: 196.6 :: 43364601
tick :: 2020-10-26 15:17:27 :: NSE:SBIN :: 196.55 :: 43371410
tick :: 2020-10-26 15:17:28 :: NSE:SBIN :: 196.7 :: 43384268
tick :: 2020-10-26 15:17:30 :: NSE:SBIN :: 196.6 :: 43385580
tick :: 2020-10-26 15:17:32 :: NSE:SBIN :: 196.7 :: 43388415
tick :: 2020-10-26 15:17:33 :: NSE:SBIN :: 196.6 :: 43390152
tick :: 2020-10-26 15:17:35 :: NSE:SBIN :: 196.65 :: 43392443
tick :: 2020-10-26 15:17:36 :: NSE:SBIN :: 196.7 :: 43392859
tick :: 2020-10-26 15:17:37 :: NSE:SBIN :: 196.65 :: 43395097
tick :: 2020-10-26 15:17:39 :: NSE:SBIN :: 196.6 :: 43395708
tick :: 2020-10-26 15:17:40 :: NSE:SBIN :: 196.65 :: 43395846
tick :: 2020-10-26 15:17:43 :: NSE:SBIN :: 196.5 :: 43419135
tick :: 2020-10-26 15:17:46 :: NSE:SBIN :: 196.65 :: 43424576
tick :: 2020-10-26 15:17:47 :: NSE:SBIN :: 196.6 :: 43426038
tick :: 2020-10-26 15:17:52 :: NSE:SBIN :: 196.5 :: 43436492
tick :: 2020-10-26 15:17:53 :: NSE:SBIN :: 196.6 :: 43437217
tick :: 2020-10-26 15:17:55 :: NSE:SBIN :: 196.5 :: 43439284
tick :: 2020-10-26 15:17:56 :: NSE:SBIN :: 196.6 :: 43442305
tick :: 2020-10-26 15:17:57 :: NSE:SBIN :: 196.65 :: 43444488
tick :: 2020-10-26 15:17:58 :: NSE:SBIN :: 196.5 :: 43454282
tick :: 2020-10-26 15:17:59 :: NSE:SBIN :: 196.65 :: 43458267
tick :: 2020-10-26 15:18:01 :: NSE:SBIN :: 196.5 :: 43461217
closed connection
```
```
python websocket_tv.py
opened connection
session generated qs_unlwnvjbyfqw
chart_session generated cs_sdcoqswwhgku
tick :timestamp: 2020-10-28 02:56:36 :symbol: BINANCE:BTCUSDT :last_price: 13668.6 :volume: 72099.273754
tick :timestamp: 2020-10-28 02:56:37 :symbol: BINANCE:BNBUSDT :last_price: 31.6147 :volume: 2607959.759
tick :timestamp: 2020-10-28 02:56:37 :symbol: BINANCE:BTCUSDT :last_price: 13668.61 :volume: 72099.309234
tick :timestamp: 2020-10-28 02:56:38 :symbol: BINANCE:BTCUSDT :last_price: 13668.6 :volume: 72099.386845
tick :timestamp: 2020-10-28 02:56:39 :symbol: BINANCE:ETHUSDT :last_price: 404.5 :volume: 701823.36997
tick :timestamp: 2020-10-28 02:56:39 :symbol: BINANCE:BNBUSDT :last_price: 31.6498 :volume: 2610252.3
tick :timestamp: 2020-10-28 02:56:40 :symbol: BINANCE:LTCUSDT :last_price: 57.87 :volume: 757121.84053
tick :timestamp: 2020-10-28 02:56:40 :symbol: BINANCE:XRPUSDT :last_price: 0.25105 :volume: 113953670.50000122
tick :timestamp: 2020-10-28 02:56:42 :symbol: BINANCE:BNBUSDT :last_price: 31.644 :volume: 2610254.52
tick :timestamp: 2020-10-28 02:56:44 :symbol: BINANCE:ETHUSDT :last_price: 404.49 :volume: 701823.4689
tick :timestamp: 2020-10-28 02:56:46 :symbol: BINANCE:BTCUSDT :last_price: 13668.61 :volume: 72099.974131
tick :timestamp: 2020-10-28 02:56:47 :symbol: BINANCE:ETHUSDT :last_price: 404.5 :volume: 701823.49634
tick :timestamp: 2020-10-28 02:56:47 :symbol: BINANCE:BTCUSDT :last_price: 13668.68 :volume: 72100.062556
tick :timestamp: 2020-10-28 02:56:49 :symbol: BINANCE:BTCUSDT :last_price: 13668.93 :volume: 72100.381741
tick :timestamp: 2020-10-28 02:56:49 :symbol: BINANCE:ETHUSDT :last_price: 404.54 :volume: 701827.6377
tick :timestamp: 2020-10-28 02:56:50 :symbol: BINANCE:XRPUSDT :last_price: 0.25113 :volume: 113961068.2000012
tick :timestamp: 2020-10-28 02:56:51 :symbol: BINANCE:BTCUSDT :last_price: 13669.61 :volume: 72100.760983
tick :timestamp: 2020-10-28 02:56:51 :symbol: BINANCE:XRPUSDT :last_price: 0.2511 :volume: 113961180.50000122
tick :timestamp: 2020-10-28 02:56:52 :symbol: BINANCE:BNBUSDT :last_price: 31.6555 :volume: 2610269.167
tick :timestamp: 2020-10-28 02:56:53 :symbol: BINANCE:BNBUSDT :last_price: 31.6571 :volume: 2610280.366
tick :timestamp: 2020-10-28 02:56:55 :symbol: BINANCE:BNBUSDT :last_price: 31.6503 :volume: 2610282.031
tick :timestamp: 2020-10-28 02:56:56 :symbol: BINANCE:ETHUSDT :last_price: 404.58 :volume: 701831.03813
tick :timestamp: 2020-10-28 02:56:58 :symbol: BINANCE:XRPUSDT :last_price: 0.25114 :volume: 113961293.10000122
tick :timestamp: 2020-10-28 02:56:59 :symbol: BINANCE:BTCUSDT :last_price: 13669.6 :volume: 72101.253258
tick :timestamp: 2020-10-28 02:57:01 :symbol: BINANCE:ETHUSDT :last_price: 404.57 :volume: 701834.86075
tick :timestamp: 2020-10-28 02:57:03 :symbol: BINANCE:BNBUSDT :last_price: 31.6587 :volume: 2610283.445
tick :timestamp: 2020-10-28 02:57:05 :symbol: BINANCE:ETHUSDT :last_price: 404.57 :volume: 701844.57211
tick :timestamp: 2020-10-28 02:57:06 :symbol: BINANCE:BTCUSDT :last_price: 13669.6 :volume: 72102.407542
tick :timestamp: 2020-10-28 02:57:07 :symbol: BINANCE:ETHUSDT :last_price: 404.58 :volume: 701845.57211
tick :timestamp: 2020-10-28 02:57:08 :symbol: BINANCE:XRPUSDT :last_price: 0.25111 :volume: 113961487.10000122
tick :timestamp: 2020-10-28 02:57:08 :symbol: BINANCE:BTCUSDT :last_price: 13669.59 :volume: 72102.53541
tick :timestamp: 2020-10-28 02:57:10 :symbol: BINANCE:BTCUSDT :last_price: 13669.61 :volume: 72105.741138
tick :timestamp: 2020-10-28 02:57:10 :symbol: BINANCE:XRPUSDT :last_price: 0.25114 :volume: 113961529.7000012
tick :timestamp: 2020-10-28 02:57:10 :symbol: BINANCE:BNBUSDT :last_price: 31.66 :volume: 2610289.776
tick :timestamp: 2020-10-28 02:57:11 :symbol: BINANCE:BTCUSDT :last_price: 13669.62 :volume: 72105.741953
tick :timestamp: 2020-10-28 02:57:12 :symbol: BINANCE:BTCUSDT :last_price: 13669.61 :volume: 72105.80223
tick :timestamp: 2020-10-28 02:57:12 :symbol: BINANCE:LTCUSDT :last_price: 57.85 :volume: 757285.47074
tick :timestamp: 2020-10-28 02:57:14 :symbol: BINANCE:BNBUSDT :last_price: 31.66 :volume: 2610292.219
tick :timestamp: 2020-10-28 02:57:15 :symbol: BINANCE:BTCUSDT :last_price: 13669.6 :volume: 72108.100997
tick :timestamp: 2020-10-28 02:57:17 :symbol: BINANCE:BTCUSDT :last_price: 13669.62 :volume: 72108.198457
tick :timestamp: 2020-10-28 02:57:17 :symbol: BINANCE:BNBUSDT :last_price: 31.6601 :volume: 2610322.783
tick :timestamp: 2020-10-28 02:57:17 :symbol: BINANCE:LTCUSDT :last_price: 57.87 :volume: 757286.33444
tick :timestamp: 2020-10-28 02:57:18 :symbol: BINANCE:BTCUSDT :last_price: 13669.61 :volume: 72108.258768
tick :timestamp: 2020-10-28 02:57:21 :symbol: BINANCE:BTCUSDT :last_price: 13669.73 :volume: 72109.258555
tick :timestamp: 2020-10-28 02:57:21 :symbol: BINANCE:ETHUSDT :last_price: 404.59 :volume: 701867.39518
tick :timestamp: 2020-10-28 02:57:22 :symbol: BINANCE:BNBUSDT :last_price: 31.6693 :volume: 2610330.669
tick :timestamp: 2020-10-28 02:57:23 :symbol: BINANCE:BTCUSDT :last_price: 13670.89 :volume: 72110.278414
tick :timestamp: 2020-10-28 02:57:23 :symbol: BINANCE:XRPUSDT :last_price: 0.2511 :volume: 113961687.60000122
tick :timestamp: 2020-10-28 02:57:24 :symbol: BINANCE:ETHUSDT :last_price: 404.6 :volume: 701870.89014
tick :timestamp: 2020-10-28 02:57:24 :symbol: BINANCE:BTCUSDT :last_price: 13669.85 :volume: 72110.343925
tick :timestamp: 2020-10-28 02:57:26 :symbol: BINANCE:ETHUSDT :last_price: 404.59 :volume: 701871.16414
tick :timestamp: 2020-10-28 02:57:27 :symbol: BINANCE:BTCUSDT :last_price: 13670.86 :volume: 72110.639772
tick :timestamp: 2020-10-28 02:57:28 :symbol: BINANCE:BNBUSDT :last_price: 31.6705 :volume: 2610331.974
tick :timestamp: 2020-10-28 02:57:28 :symbol: BINANCE:BTCUSDT :last_price: 13670.87 :volume: 72110.677218
tick :timestamp: 2020-10-28 02:57:29 :symbol: BINANCE:BNBUSDT :last_price: 31.6648 :volume: 2610333.502
tick :timestamp: 2020-10-28 02:57:29 :symbol: BINANCE:BTCUSDT :last_price: 13670.86 :volume: 72110.831584
tick :timestamp: 2020-10-28 02:57:31 :symbol: BINANCE:BTCUSDT :last_price: 13670.83 :volume: 72111.190342
tick :timestamp: 2020-10-28 02:57:34 :symbol: BINANCE:BNBUSDT :last_price: 31.6602 :volume: 2610424.546
tick :timestamp: 2020-10-28 02:57:36 :symbol: BINANCE:XRPUSDT :last_price: 0.25112 :volume: 113961915.60000122
tick :timestamp: 2020-10-28 02:57:37 :symbol: BINANCE:BTCUSDT :last_price: 13670.81 :volume: 72111.967021
tick :timestamp: 2020-10-28 02:57:37 :symbol: BINANCE:BNBUSDT :last_price: 31.6677 :volume: 2610425.784
tick :timestamp: 2020-10-28 02:57:39 :symbol: BINANCE:BTCUSDT :last_price: 13670.8 :volume: 72112.132146
tick :timestamp: 2020-10-28 02:57:39 :symbol: BINANCE:ETHUSDT :last_price: 404.59 :volume: 701911.11871
tick :timestamp: 2020-10-28 02:57:40 :symbol: BINANCE:LTCUSDT :last_price: 57.88 :volume: 757288.45985
tick :timestamp: 2020-10-28 02:57:41 :symbol: BINANCE:ETHUSDT :last_price: 404.6 :volume: 701911.72427
tick :timestamp: 2020-10-28 02:57:41 :symbol: BINANCE:BTCUSDT :last_price: 13670.84 :volume: 72112.719598
tick :timestamp: 2020-10-28 02:57:42 :symbol: BINANCE:BTCUSDT :last_price: 13670.83 :volume: 72112.81188
tick :timestamp: 2020-10-28 02:57:44 :symbol: BINANCE:ETHUSDT :last_price: 404.59 :volume: 701912.58359
tick :timestamp: 2020-10-28 02:57:45 :symbol: BINANCE:BTCUSDT :last_price: 13670.84 :volume: 72113.283762
tick :timestamp: 2020-10-28 02:57:46 :symbol: BINANCE:BNBUSDT :last_price: 31.6601 :volume: 2610432.526
tick :timestamp: 2020-10-28 02:57:46 :symbol: BINANCE:BTCUSDT :last_price: 13671.05 :volume: 72113.985181
tick :timestamp: 2020-10-28 02:57:47 :symbol: BINANCE:BTCUSDT :last_price: 13671.12 :volume: 72114.223688
tick :timestamp: 2020-10-28 02:57:48 :symbol: BINANCE:BNBUSDT :last_price: 31.6681 :volume: 2610435.986
tick :timestamp: 2020-10-28 02:57:49 :symbol: BINANCE:XRPUSDT :last_price: 0.25115 :volume: 113965580.40000121
tick :timestamp: 2020-10-28 02:57:49 :symbol: BINANCE:ETHUSDT :last_price: 404.6 :volume: 701912.9123
tick :timestamp: 2020-10-28 02:57:49 :symbol: BINANCE:BTCUSDT :last_price: 13671.11 :volume: 72114.761483
tick :timestamp: 2020-10-28 02:57:51 :symbol: BINANCE:BNBUSDT :last_price: 31.6652 :volume: 2610436.645
tick :timestamp: 2020-10-28 02:57:51 :symbol: BINANCE:BTCUSDT :last_price: 13671.08 :volume: 72114.821734
closed connection
```
"""
@cyppper
Copy link

cyppper commented Oct 16, 2022

thanks! it helped me a lot

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment