v1 working switch symbols w volume filter
This commit is contained in:
36
ws_aster.py
36
ws_aster.py
@@ -45,7 +45,7 @@ STREAM_TRADES: str = f'{SYMBOL.lower()}@aggTrade'
|
||||
|
||||
### Globals ###
|
||||
WSS_URL: str = f"wss://fstream.asterdex.com/stream?streams={STREAM_MARKPRICE}/{STREAM_BOOKTICKER}/{STREAM_TRADES}"
|
||||
ALLOW_SYMBOL_CHG: bool = False
|
||||
ALLOW_SYMBOL_CHG: bool = True
|
||||
|
||||
### Funcs ###
|
||||
async def subscribe_streams(websocket, streams: list[str]) -> None:
|
||||
@@ -84,7 +84,7 @@ async def ws_stream():
|
||||
### Update Symbol if Algo Outputs Change ###
|
||||
if ALLOW_SYMBOL_CHG:
|
||||
best_symbol_by_exchange: dict = json.loads(s=VAL_KEY.get(name='fr_algo_working_symbol')) # ty:ignore[invalid-argument-type]
|
||||
best_symbol: str = f'{best_symbol_by_exchange['ASTER']['lh_asset']}{best_symbol_by_exchange['ASTER']['rh_asset']}'
|
||||
best_symbol: str = best_symbol_by_exchange['ASTER']['symbol']
|
||||
if best_symbol != SYMBOL:
|
||||
logging.info(f'Symbol Change: {SYMBOL} -> {best_symbol}')
|
||||
SYMBOL = best_symbol
|
||||
@@ -133,22 +133,22 @@ async def ws_stream():
|
||||
VAL_KEY.set(VK_TICKER, VAL_KEY_OBJ)
|
||||
continue
|
||||
case c if c == STREAM_TRADES:
|
||||
# print(f'MKT_TRADE: {data}')
|
||||
trade_obj = {
|
||||
'timestamp_arrival': ts_arrival,
|
||||
'timestamp_msg': data['data']['E'],
|
||||
'timestamp_trade': data['data']['T'],
|
||||
'symbol': data['data']['s'],
|
||||
'aggregate_trade_id': data['data']['a'],
|
||||
'price': float(data['data']['p']),
|
||||
'qty': float(data['data']['q']),
|
||||
'first_trade_id': data['data']['f'],
|
||||
'last_trade_id': data['data']['l'],
|
||||
'is_buyer_mkt_maker': bool(data['data']['m']),
|
||||
}
|
||||
# VAL_KEY.set(VK_LAST_TRADE, json.dumps(trade_obj))
|
||||
if USE_DB:
|
||||
await db.insert_df_to_mysql(table_name='fr_aster_mkt_trades', params=trade_obj, CON=CON)
|
||||
# # print(f'MKT_TRADE: {data}')
|
||||
# trade_obj = {
|
||||
# 'timestamp_arrival': ts_arrival,
|
||||
# 'timestamp_msg': data['data']['E'],
|
||||
# 'timestamp_trade': data['data']['T'],
|
||||
# 'symbol': data['data']['s'],
|
||||
# 'aggregate_trade_id': data['data']['a'],
|
||||
# 'price': float(data['data']['p']),
|
||||
# 'qty': float(data['data']['q']),
|
||||
# 'first_trade_id': data['data']['f'],
|
||||
# 'last_trade_id': data['data']['l'],
|
||||
# 'is_buyer_mkt_maker': bool(data['data']['m']),
|
||||
# }
|
||||
# # VAL_KEY.set(VK_LAST_TRADE, json.dumps(trade_obj))
|
||||
# if USE_DB:
|
||||
# await db.insert_df_to_mysql(table_name='fr_aster_mkt_trades', params=trade_obj, CON=CON)
|
||||
continue
|
||||
case _:
|
||||
logging.warning(f'UNMATCHED OTHER MSG: {data}')
|
||||
|
||||
Reference in New Issue
Block a user