
    i                     ^   d dl mZ d dlZd dlZd[dZd\dZ e       Zej                  ddd	      Z	 e
d
        e
d       g dZg Z ee	      D ]  \  ZZej                  j!                  ed    dz        Zej%                  d      Zeev s= ej(                  e	dedz    D  cg c]  }  e| d          c}       Z ee      dk\  sx e ee      dk\  redd ne      Z ee      \  ZZZZ eed         Z eed         Z eed         Z ee      dk\  red   ed   z
  ed   z  dz  Z nd Z ejC                  eeeeeeeeee d
        eD ]-  Z" e
de"d    de"d   dd        e
de"d   dd e"d!   dd"e"d#   dd$        e
d%e"d&   d'        e
d(e"d)   dd*        e
d+e"d,   dd-e"d.   dd/e"d0   dd        e
d1e"d2   d3d4        e
d5       e"d&   d6kD  r e
d7e"d&   d'd8       nKe"d&   d9k  r e
d7e"d&   d'd:       n2d;e"d&   cxk  rd<k  rn n e
d7e"d&   d'd=       n e
d7e"d&   d'd>       e"d)   d?kD  r e
d@e"d)   ddA       nKe"d)   dBk  r e
d@e"d)   ddC       n2dDe"d)   cxk  rdEk  rn n e
d@e"d)   ddF       n e
d@e"d)   dd>       e"d2   dGkD  r e
dHe"d2   d3dI       n)e"d2   dJk  r e
dHe"d2   d3dK       n e
dHe"d2   d3dL        e
dM       d Z#d Z$d9e"d&   cxk  rd<k  r	n ne#dz  Z#ne"d&   dNkD  re$dz  Z$dOe"d)   cxk  rdPk  r	n ne#dz  Z#ne"d)   d?kD  re$dz  Z$e"d2   d kD  re#dz  Z#e$dk\  r e
dQe$ dR        e
dS       e#dk\  r e
dTe# dU       & e
dV       0  e
dW        e
dX        e
dY        e
dZ        e
d       yc c} w )]    )ClientNc                    t        j                  |       }t        j                  |dkD  |d      }t        j                  |dk  | d      }t        j                  |d|       }t        j                  |d|       }t	        |t        |            D ]$  }||dz
  z  ||   z   |z  }||dz
  z  ||   z   |z  }& |dk(  ry||z  }ddd|z   z  z
  }	|	S )zCalcule le RSIr   N   d   )npdiffwheremeanrangelen)
pricesperioddeltasgainslossesavg_gainavg_lossirsrsis
             ./analyze_eth_920_full.pycalculate_rsir      s    WWV_FHHVaZ+EXXfqj6'1-FwwuWf~&Hwwvgv'H63u:& B
+eAh6&@
+fQi76AB 1}	H	B
B
 CJ       c                     t        j                  | | d       }t        j                  | | d       }|d|z  z   }|d|z  z
  }| d   }||z
  dkD  r||z
  ||z
  z  nd}||||fS )zCalcule les Bollinger BandsN   r         ?)r   r
   std)r   r   smar   upperlowercurrentbb_poss           r   calculate_bbr%      s    
''&&"
#C
&&!
"C1s7OE1s7OERjG5:U]a4Ggo%%-0SF5%$$r   ETHUSDT5m   )symbolintervallimitu.   
📊 ETH - ANALYSE DÉTAILLÉE AUTOUR DE 9h20zP================================================================================)z09:15z09:20z09:25z09:30i  z%H:%Mr      2   ir      r   r   )
timepricehighlowr   r$   bb_upperbb_lowerbb_midmomentumu   
⏰ r0   u
    - ETH à r1   z.2fu   €z	   Prix: u   €  (High: r2   u
   €, Low: r3   u   €)z   RSI: r   z.1fz   BB Position: r$   z (0=bas, 1=haut)z   BB: Lower=r5   u
   € | Mid=r6   u   € | Upper=r4   z   Momentum 15min: r7   z+.2f%u   
   🔍 ÉVALUATION:F   z
      RSI u    = ⚠️ SURACHAT (dangereux)   u    = ✅ SURVENTE (opportunité)(   <   u    = ✅ ZONE NEUTRE (idéal)u    = 🟡 Acceptableg333333?z	      BB u,    = ⚠️ PROCHE DU HAUT (risque correction)g333333?u%    = ✅ BAS DE BANDE (rebond probable)g333333?gffffff?u    = ✅ MILIEU DE BANDE (sain)r   z      Momentum u   % = ✅ Positifg      u   % = ⚠️ Négatifu   % = 🟡 Faibleu   
   📋 VERDICT:K   g?g      ?u         ❌ ACHAT DÉCONSEILLÉ (u    signaux négatifs)u:            Raison: Surachat technique (RSI/BB trop élevés)u         ✅ BON MOMENT D'ACHAT (z signaux positifs)u3         🟡 NEUTRE (attendre meilleure opportunité)zQ
================================================================================u(   📊 COMPARAISON avec logs précédents:u?      ETH a été bloqué récemment avec: RSI 87-91, BB 0.86-0.96zE   Le bot refuse d'acheter quand RSI > 85 ET BB > 0.85 (FIN_DE_CYCLE))   )r   )%binance.clientr   datetimenumpyr   r   r%   c
get_klinesklinesprinttarget_timesanalyses	enumerater   kfromtimestamptsstrftimets_strarrayfloatclosesr   r   r$   r4   r5   r6   r1   r2   r3   r7   appendagood_signalsbad_signals)kls   0r   <module>rV      s	   !  &% H	
YS	A 7 8 f 4f !DAq				(	(1d	3B[[!F&!A#,?B5A<?@v;"Fr0AstvNC1=f1E.FHh!A$KE1;D!+C 6{a#BZ&*4r
BcIOO $$ $ -!H 
 AFA	F1V9+Z'
3'7s
;<	Iaj%\!F)C
1U8TW.X\
]^	HQuXcN
#$	Qx[--=
>?	M!J-,Jq{36G|TUV`TabeSffi
jk	*d31
56 
"$ 	x"}
1U8C.(FGH	
5B
1U8C.(FGH	qx	2	
1U8C.(CDE
1U8C.(:;< 	{T	!H+c**VWX	
8t		!H+c**OPQ	(	"s	"	!H+c**GHI	!H+c**<=> 	}s*d3?CD	
:	*d33FGH*d3?CD 
  LK	QuX	
5Bq
ak!T!	
8t	q}qa/}<OPQJL		.|n<NOPCECAFF m  0 1 G H N O fK @s   #N*
