
    =_j                     4   d Z ddlmZ i ddddddd	d
dddddddddddddddddddddd d!d d"d#d$d%d&d'd(i dd)dd*dd+d	d
dddd,dddddddddd-dddddddd d!d d"d#d$d%d&d'd(i dd.dd/dd0d	d
dddd1dddddddddd-dddddddd d!d d"d#d$d%d&d'd(gZeD  ci c]  } | d   | 
 c} ZeD  ci c]  } | d   | 
 c} Zded2efd3Zd4ed2efd5Z	i d6d7dddddddddd8d!d d9d:d;d<d=d$ddddddddd>d?d@d&Z
d2efdAZd$Zg dBZ ee      j                         j                   j                   ZedCz  ZedDz  ZedEz  ZdFZdGZedHz  ZedIz  ZdJZdKZdLZeeeeeeeeeeeeedMZyNc c} w c c} w )Oa  
charter_config
==============

Configurazione Charter centralizzata per il Trading Engine AI.

Contiene:
  - SETUPS: dict per-setup live (mask CD, size, leva, TP/SL, max_bars)
  - CHARTER: dict backtest (commission_pct Pine IMPLICITA 0.06%, slippage)
  - GLOBAL_CONSTANTS: costanti condivise (MAX_OPEN_TRADES, ENV_FILE, ecc.)
  - CLOSING_HOURS: schedule loop 4H [2,6,10,14,18,22] Europe/Rome
  - Helper: get_setup(name), get_charter()

FONTE DI VERITA' UNICA per il Charter. Qualsiasi modifica ai parametri
qui si propaga ai 3 sub-repo della famiglia (mavis, solver, verifier)
via import.

Documentazione completa: AGENTS.md (root workspace) + charter_core/AGENTS.md
    )PathnameZEC_4Hsymbol_bybitZECUSDTsymbol_ccxtzZEC/USDT:USDTtf4hinterval   mask10001011	bb_length7   bb_multg      ?
roc_length$   
atr_length   margin_usdtg     @@tp1_pctgQ?tp2_pctg?sl_atr_multg       @sl_clamp_mingQsl_clamp_maxtrailing_stop_pctg                 T)max_barsmin_bars_betweenleverage
is_primaryAERO_4HAEROUSDTzAERO/USDT:USDT01010101g     @o@DASH_4HDASHUSDTzDASH/USDT:USDT10000111returnc                     t         |    S )zGRitorna il dict SETUP per nome (es. 'ZEC_4H'). KeyError se non trovato.)SETUPS_BY_NAME)r   s    0/opt/charter-live/charter_core/charter_config.py	get_setupr.   p   s    $    bybit_symbolc                     t         |    S )zQRitorna il dict SETUP per simbolo Bybit (es. 'ZECUSDT'). KeyError se non trovato.)SETUPS_BY_SYMBOL)r0   s    r-   get_setup_by_symbolr3   u   s    L))r/   initial_capitalg     p@gcommission_pctga2U0*C?slippage_pctgMb@?r    naive_fee_pctgMbP?naive_max_exitc                      t         S )z#Ritorna il dict CHARTER (backtest).)CHARTER r/   r-   get_charterr<      s    Nr/   )      
            live_deploymarket_intelligence
web_solverzstate_live.jsonztrades_log_live.csvzBybit_new.envzmil_report_latest.jsonzhttps://api-demo.bybit.com5000v5)MAX_OPEN_TRADES_PORTFOLIOCLOSING_HOURSWORKSPACE_ROOTLIVE_DEPLOY_DIRMARKET_INTEL_DIRWEB_SOLVER_DIRSTATE_FILE_NAMELOG_FILE_NAMEENV_FILE_PATHMIL_REPORT_PATHBYBIT_DEMO_BASEBYBIT_RECV_WINDOWBYBIT_API_VERSIONN)__doc__pathlibr   SETUPSr,   r2   strdictr.   r3   r:   r<   rH   rI   __file__resolveparentrJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   GLOBAL_CONSTANTS)ss   0r-   <module>r_      s  ( 	 	 	d	
 	C 	
 	R 	3 	b 	b 	u" 	4#$ 	4%& 	s'( 	)* 	+, 	S-0 9<	
 	' 	d	
 	C 	
 	R 	3 	b 	b 	u 	4 	4 	s 	  	!" 	S#$ +.	
 	' 	d	
 	C 	
 	R 	3 	b 	b 	u 	4 	4 	s 	  	!" 	S#$ +mM
` )//1!F)Q,/289QAn%q(9  C  D  
*c *d *v 5
 t t 3 E E f F  !$ %& s'( ")* "+. V/0 a18T    ' h'')0077 =0!$99 ,. $%0"%== /   ";"$&($&""&&** e 09s    FF