
    i                     N    d Z ddlmZ ddlZddlmZ d Zd Zedk(  r e        yy)ue   
Diagnostic du régime de marché
Affiche toutes les informations utiles pour déboguer les blocages
    )MarketRegimeDetectorN)datetimec                 F    | dk  r| ddS | dk  r	| dz  ddS | dz  ddS )z&Formate les secondes en format lisible<   z.0fsi  .1fminh )secondss    ./diagnostic_regime.pyformat_timer   
   sG    |#a  	4"*S!%%$,s#1%%    c                     t        d       t        d       t        d       t               } t        d       t        d| j                   dt        | j                         d       t        d| j                   dt        | j                         d       | j
                  rt        j                         }|| j
                  z
  j                         }t        d	| j
                  j                  d
              t        dt        |              || j                  kD  r#t        dt        | j                         d       n2|| j                  k  rt        d       nt        d       nt        d       t        d       | j                  d      \  }}t        dd        t        d|        t        d        t        d|d           t        d|d           t        d|d           t        d|d    d       t        d|d           | j                  }t        d |d!   d"    d#       |d!   }t        d$|d%   d&d'       t        d(|d)   d&d*|d+   d&d,|d-           t        d.|d/   d0       t        d1|d2   d3d4|d2   d5kD  rd6nd7        t        d8|d9   d3d4|d9   d5kD  rd6nd7        t        d:|d;   d3d4|d;   d5kD  rd6nd7        |d2   d<z  |d9   d=z  z   |d;   d>z  z   }t        d?|d3d4|d5kD  rd6nd7        t        d@|dA   dB    d#       |dA   }t        dC|dD           t        dE|dF    dG|dH   d0dI|dH   dJk\  rd6nd7        t        dK|dL           t        dM|dN           t        d1|dO   d3d4|dO   d5kD  rd6nd7        t        d8|dP   d3d4|dP   d5kD  rd6nd7        t        d:|dQ   d3d4|dQ   d5kD  rd6nd7        t        d?|dR   d3d4|dR   d5kD  rd6nd7        t        dS|dT   d0dU       | j                  rjt        dV       | j                  dWd  D ]M  }	t        j                  |	dX         j                  d
      }
t        dY|
 dZ|	d[   d\d]|	d^   d\d_|	d`   d0d	       O t        da       |d5k\  }|dH   dJk\  xr |dR   dbk\  }|rdcndd|d&de}|rdcndd|dH   d0df|dR   d&de}t        dg| dh|        t        di| dh|        t        dj       t        dk|dT   dlk\  r|r|rdcndm        t        dn|dT   dok\  r|r|rdcndm        t        dp|dT   dqk\  rdcndm        t        dr|dT   dsk\  rdcndm        t        dt|dT   dsk  rdcndm        t        dd d       y )uNzG
======================================================================u     DIAGNOSTIC RÉGIME DE MARCHÉzF======================================================================u   
⚙️  CONFIGURATION:z   Update interval: zs ()z   Max cache time: u      Dernière update: z%H:%M:%Su      Âge du cache: u      ⚠️  Cache EXPIRÉ (> u      ✅ Cache VALIDEu      🔄 Cache ACTUALISABLEu      Aucune update précédenteu   
🔄 DÉTECTION EN COURS...T)force_update
u   📊 RÉGIME DÉTECTÉ: z   Description: descriptionz   Max positions: max_positionsz   Score IA minimum: 	min_scorez   Taille position: position_size_pct%z   TP multiplier: take_profit_multiplieru   
💰 BITCOIN (score=btcsentiment_scorez):z	   Prix: pricez.2fz USDTz	   EMA9: ema9z  |  EMA21: ema21z  |  Tendance: 	ema_trendz   RSI: rsir   z   Momentum 3h:  momentum_3hz+.2fz%  r   u   🟢u   🔴z   Momentum 5h:  momentum_5hz   Momentum 24h: momentum_24hg      ?gffffff?g333333?u      Momentum pondéré: u   
🪙  ALTCOINS (score=altcoinsaltcoin_scoreu      Analysés: analyzedz   Bullish: bullish_countz (bullish_pctz%)  (   z   Bearish: bearish_countz   Neutral: neutral_countavg_momentum_3havg_momentum_5havg_momentumweighted_momentumu   
🎯 SCORE GLOBAL: global_scorez/100u*   
📜 HISTORIQUE (5 derniers changements):	timestampz   z: from12u    → toz	  (score=scoreu   
✅ CONDITIONS POUR BULL:g      u   ✅u   ❌ (actuel: z%)z%, momentum: u"      BTC momentum pondéré ≥ 0%: z  u       Altcoins ≥ 40% bullish:    u   
📏 SEUILS DE RÉGIME:u3      BULL_STRONG:  score ≥ 75  ET conditions BULL  K   u   ❌u3      BULL_WEAK:    score ≥ 60  ET conditions BULL  r   u3      NEUTRAL:      score ≥ 45                      -   u3      CORRECTION:   score ≥ 30                         z1   BEAR:         score < 30                      )printr   update_intervalr   max_cache_timelast_updater   nowtotal_secondsstrftimedetect_regimemarket_dataregime_historyfromisoformat)detectorr>   elapsedregimeconfigrB   r   btc_weightedaltchanger2   
btc_allows
alt_allows
btc_status
alt_statuss                  r   mainrP      s   	-	
+,	&M#%H 
$&	 !9!9 :#k(JbJb>c=dde
fg	 7 78KH_H_<`;aab
cd lln---<<>%h&:&:&C&CJ&O%PQR";w#7"89:X,,,0X=T=T1U0VVWXYx///').0-.	)++++>NFF 
Bvh-	$VH
-.	VH	VM23
45	vo67
89	!&"5!6
78	 (;!< =Q
?@	v&>?@
AB &&K	";u#56G#H"I
LM
e
C	Ic'l3'u
-.	Ic&k#&l3w<2DOTWXcTdSe
fg	HSZ$
%&	c-06cCDVYZDZ&`f9g
hi	c-06cCDVYZDZ&`f9g
hi	c.1$7sSEX[\E\6bh:i
jk &,]1Cd1JKsSaObeiOijL	#L#6cLSTDT&Z`9a
bc	$[%<_%M$Nb
QR
j
!C	N3z?+
,-	L_-.b]1CC0HWZ[hWimoWoVu{L|
}~	L_-.
/0	L_-.
/0	c"34T:#L]H^abHbfhn=o
pq	c"34T:#L]H^abHbfhn=o
pq	c.1$7sSEX[\E\6bh:i
jk	#C(;$<T#B#PSTgPhklPlfrxEy
z{	!+n"=c!B$
GH ;=--bc2 	oF ..vk/BCLLZXIC	{"VF^B$7uVD\"<MYW]^eWfgjVkklmn	o
 
')"J]#r)Nc2E.F$.NJ$M,s9K2*NJ$M#m:LS9QQ^_bcv_wx{^||~*J	.zl"ZL
IJ	,ZL:,
GH 
%'	?UcIdhjIjoy  I  OT  @U  V  W	?UcIdhjIjoy  I  OT  @U  V  W	?UcIdhjIjpu?v
wx	?UcIdhjIjpu?v
wx	={SaGbegGgemr=s
tu	Bvhb/r   __main__)__doc__market_regimer   jsonr   r   rP   __name__r   r   r   <module>rV      s5   
 /  &\| zF r   