v1 working switch symbols w volume filter
This commit is contained in:
@@ -26,7 +26,7 @@ LEVERAGE_BY_EXCH: list[Asset_Leverage] = [
|
||||
Asset_Leverage('ASTER', 'LIT' , 'USDT', 50 , 2_500 ), Asset_Leverage('EXTEND', 'LIT' , 'USD', 25, 400_000 ),
|
||||
Asset_Leverage('ASTER', 'SOL' , 'USDT', 100, 50_000 ), Asset_Leverage('EXTEND', 'SOL' , 'USD', 50, 1_000_000),
|
||||
Asset_Leverage('ASTER', 'SUI' , 'USDT', 75 , 5_416 ), Asset_Leverage('EXTEND', 'SUI' , 'USD', 50, 500_000 ),
|
||||
Asset_Leverage('ASTER', 'TRUMP', 'USDT', 50 , 5_567 ), Asset_Leverage('EXTEND', 'TRUMP', 'USD', 25, 400_000 ),
|
||||
Asset_Leverage('ASTER', 'TRUMP', 'USDT', 10 , 60_000 ), Asset_Leverage('EXTEND', 'TRUMP', 'USD', 25, 400_000 ),
|
||||
Asset_Leverage('ASTER', 'WLFI' , 'USDT', 25 , 104_869), Asset_Leverage('EXTEND', 'WLFI' , 'USD', 10, 250_000 ),
|
||||
Asset_Leverage('ASTER', 'XAG' , 'USDT', 100, 50_000 ), Asset_Leverage('EXTEND', 'XAG' , 'USD', 10, 1_000_000),
|
||||
Asset_Leverage('ASTER', 'XAU' , 'USDT', 75 , 2_500 ), Asset_Leverage('EXTEND', 'XAU' , 'USD', 25, 2_000_000),
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
from rel.rel import init
|
||||
import json
|
||||
from dataclasses import dataclass, field
|
||||
from typing import Any
|
||||
@@ -11,6 +12,7 @@ class Algo_Config_Overrides(BaseModel):
|
||||
Allow_Ordering_Extend: bool
|
||||
Allow_Symbol_Change: bool
|
||||
Flatten_Open_Positions: bool
|
||||
Flatten_Open_Positions_Opportunistic: bool
|
||||
Flip_Side_For_Testing: bool
|
||||
|
||||
|
||||
@@ -21,8 +23,8 @@ class Algo_Config_Config(BaseModel):
|
||||
Max_Target_Notional: float
|
||||
Min_Time_To_Funding_Minutes: int
|
||||
Min_Fund_Rate_Pct_To_Trade: float
|
||||
Price_Worsener_Aster: float
|
||||
Price_Worsener_Extend: float
|
||||
Price_Worsener_Aster: int
|
||||
Price_Worsener_Extend: int
|
||||
Switch_To_Taker_Seconds: int
|
||||
Target_Open_Cash_Position: int
|
||||
|
||||
@@ -159,10 +161,14 @@ class Perpetual_Exchange:
|
||||
# Collateral_Updates: Collateral
|
||||
# Funding_Rate: Funding_Rate
|
||||
# Markets: Markets_Details
|
||||
mult: int
|
||||
lh_asset: str
|
||||
rh_asset: str
|
||||
symbol: str = ''
|
||||
symbol_asset_separator: str = ''
|
||||
mult: int
|
||||
initial_funding_rate: float = 0
|
||||
min_price: float = 0
|
||||
min_order_size: float = 0
|
||||
|
||||
# async def update(self):
|
||||
# await self.Collateral_Updates.update()
|
||||
|
||||
@@ -5,10 +5,10 @@ import os
|
||||
|
||||
load_dotenv()
|
||||
|
||||
def upsert_list_of_dicts_by_id(list_of_dicts, new_dict, id='id', seq_check_field: str | None = None) -> list[dict]:
|
||||
def upsert_list_of_dicts_by_id(list_of_dicts, new_dict, id='id', seq_check_field: str | None = None, reset_seq_id: bool = False) -> list[dict]:
|
||||
for index, item in enumerate(list_of_dicts):
|
||||
if item.get(id) == new_dict.get(id):
|
||||
if seq_check_field is not None:
|
||||
if ( seq_check_field is not None ) and ( not(reset_seq_id) ):
|
||||
if item.get(seq_check_field) > new_dict.get(seq_check_field):
|
||||
logging.info('Skipping out of sequence msg')
|
||||
return list_of_dicts
|
||||
@@ -40,4 +40,10 @@ def rec_set_dict(orig_dict, new_dict, allow_new_fields: bool = False) -> dict:
|
||||
else:
|
||||
logging.warning(msg=f'rec_set_dict: encountered nonexistent key: "{k}"; skipping')
|
||||
|
||||
return orig_dict
|
||||
return orig_dict
|
||||
|
||||
def symbol_to_aster_fmt(symbol: str) -> str:
|
||||
return (symbol+'T' if symbol[-1].upper()!='T' else symbol).replace('-','').upper()
|
||||
|
||||
def symbol_to_extend_fmt(symbol: str) -> str:
|
||||
return (symbol[0:-1] if symbol[-1].upper()=='T' else symbol).replace('-','').upper().split('USD')[0]+'-'+'USD'
|
||||
Reference in New Issue
Block a user