o
    _çh“%  ã                   @   s  d Z dZdZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZddddœZdZdZdZdZdd„ Zdd„ Zeƒ \ZZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$dZ%dZ&dZ'dd„ Z(dZ)d Z*dZ+d!Z,d"Z-d#Z.dZ/d$e0d%e0d&e1fd'd(„Z2e3d)kre(ƒ  dS dS )*u&   
Configuration du systÃ¨me de trading
Ú	LIVE_AUTOTg     ˆÃ@é   g     €K@g      I@Ng     €A@é(   g\�Âõ(\ï?é   )ÚATOMÚPROVEÚHEMIg       @g      .@c               
   C   s†   t stƒ S zddlm}  | ƒ }| ¡ \}}t|ƒt|ƒfW S  tyB } zddl}| t	¡ 
d|› d�¡ tƒ W  Y d}~S d}~ww )u=   RÃ©cupÃ¨re les listes de qualitÃ© mises Ã  jour dynamiquementé    )ÚDynamicMarketClassifierNz!Erreur classification dynamique: z, fallback statique)Ú!USE_DYNAMIC_MARKET_CLASSIFICATIONÚ_get_static_quality_listsÚdynamic_market_classifierr	   Úget_updated_classificationÚlistÚ	ExceptionÚloggingÚ	getLoggerÚ__name__Úwarning)r	   Ú
classifierÚhigh_qualityÚmedium_qualityÚer   © r   ú9/var/www/html/HyperOracle/crypto_trader/trading_config.pyÚget_dynamic_quality_listsH   s   €ýr   c                  C   s   g d¢} g d¢}| |fS )zListes statiques de fallback)$ÚBTCÚETHÚBNBÚXRPÚADAÚSOLÚDOGEÚDOTÚMATICÚAVAXÚUNIÚAAVEÚCOMPÚLINKÚSUSHIÚCRVÚYFIÚMKRÚSNXr   ÚFTMÚALGOÚNEARÚFLOWÚICPÚEOSÚTRXÚXTZÚRENDERÚFILÚGRTÚENSÚLDOÚRPLÚOPÚARB)ÚPEPEÚSHIBÚWIFÚBONKÚFLOKIÚBRETTÚPOPCATÚPENDLEÚJUPÚWLDÚSTXÚSEIÚSUIÚAPTÚTIAÚINJÚTAOÚTHETAÚVETÚHBARÚLTCÚBCHÚETCÚLINEAÚPENGUÚWÚPROMPTr   )ÚhighÚmediumr   r   r   r   W   s   r   gš™™™™™É?ÚEXCLUDEg      ð?r   é   ÚINFOzlogs/trading_engine.logg      $@Fg      .Àc                  C   sœ   g d¢} t | vrtdt › d| › �ƒ‚t dkrtdƒ tdƒ t dv r.tdt › �ƒ td	ƒ ntd
td›�ƒ tdtd›dt› �ƒ tdt› dt› d�ƒ dS )uD   Valide la configuration et affiche des avertissements si nÃ©cessaire)Ú
SIMULATIONÚLIVE_MANUALr   zMode invalide: z. Modes valides: r   zMATTENTION: Mode LIVE_AUTO active - Trading automatique avec de l'argent reel!z3Assurez-vous que tous les parametres sont corrects.)r_   r   u   [LIVE] Mode LIVE activÃ©: u@   [LIVE] Le trading se fera avec de l'argent rÃ©el via Hyperliquidu$   [SIM] Mode SIMULATION activÃ© avec $z,.2fz![CONFIG] Position sizing: Fixed $z.0fz minimum | Max positions: z[CONFIG] Take profit: zx | Trailing stop: ú%N)ÚTRADING_MODEÚ
ValueErrorÚprintÚSIMULATION_INITIAL_BALANCEÚMIN_POSITION_SIZE_USDÚMAX_SIMULTANEOUS_POSITIONSÚPROFIT_TARGET_MULTIPLIERÚTRAILING_STOP_DISTANCE)Úvalid_modesr   r   r   Úvalidate_config“   s   
rj   Ú	localhostiA  iB  gffffffÖ?g333333Ó?Úactive_positions_countÚrecent_signals_countÚreturnc                 C   s<   | dko|dk}t r|rt}t}||dfS t}t}||dfS )u  
    Calcule les seuils adaptatifs selon l'activitÃ© du marchÃ©

    Args:
        active_positions_count: Nombre de positions actives
        recent_signals_count: Nombre de signaux des derniÃ¨res 2 heures

    Returns:
        tuple: (confidence_threshold, quality_threshold)
    é   é   ÚLOW_ACTIVITYÚNORMAL_ACTIVITY)ÚADAPTIVE_CONFIDENCE_ENABLEDÚMIN_CONFIDENCE_THRESHOLD_LOWÚMIN_SIGNAL_QUALITY_SCORE_LOWÚMIN_CONFIDENCE_THRESHOLDÚMIN_SIGNAL_QUALITY_SCORE)rl   rm   Úis_low_activityÚconfidence_thresholdÚquality_thresholdr   r   r   Úget_adaptive_thresholdsÂ   s   

r{   Ú__main__)4Ú__doc__ra   ÚAUTO_TRADING_ENABLEDrd   rf   rv   rt   rs   ÚUSE_FIXED_POSITION_SIZEÚFIXED_POSITION_SIZE_USDre   ÚMAX_LEVERAGEÚLEVERAGE_SAFETY_FACTORÚMIN_LEVERAGE_THRESHOLDÚLEVERAGE_EXCEPTIONSrg   rh   ÚUSE_QUALITY_FILTERr
   r   r   ÚHIGH_QUALITY_CRYPTOSÚMEDIUM_QUALITY_CRYPTOSÚMAX_MEDIUM_QUALITY_RATIOÚSHITCOIN_STRATEGYÚSHITCOIN_SHORT_BIAS_STRENGTHÚSHITCOIN_MAX_POSITIONSÚSIGNAL_REFRESH_INTERVALÚENABLE_BINANCE_ORACLEÚENABLE_HYPERLIQUID_ORACLEÚENABLE_SENTIMENT_ORACLEÚ	LOG_LEVELÚLOG_TO_FILEÚLOG_FILE_PATHÚENABLE_SAFETY_CHECKSÚMAX_DAILY_LOSS_PERCENTÚEMERGENCY_STOPÚ!DISABLE_AUTO_CLOSE_TO_HYPERLIQUIDÚALLOW_EMERGENCY_CLOSEÚEMERGENCY_STOP_LOSS_PERCENTrj   ÚSIGNAL_SERVER_HOSTÚSIGNAL_SERVER_PORTÚBIAS_SERVER_HOSTÚBIAS_SERVER_PORTrw   ru   ÚADAPTIVE_QUALITY_ENABLEDÚintÚtupler{   r   r   r   r   r   Ú<module>   sl   ý

ÿ