
    iF                     t    d Z ddlZddlZddlZddlmZ ddlmZ dZdZd Z	d Z
dd	Zd
 Zedk(  r e        yy)uT   
Surveillance silencieuse des trades et patterns
Affiche un résumé toutes les 30s
    N)datetime)defaultdictz)http://localhost:8889/api/ai-surveillance   c                      	 t        dd      5 } t        j                  |       }|j                         D ci c]  \  }}|s	|| c}}cddd       S c c}}w # 1 sw Y   yxY w#  i cY S xY w)zLit positions.jsonzpositions.jsonrN)openjsonloaditems)fdatakvs       ./monitor_silent.pyget_positionsr      sg    "C( 	8A99Q<D%)ZZ\7TQQAqD7	8 	87	8 	8	s?   A& )A
AAA
	A& AA#A& #A& &A,c                  h    	 t        j                  t        d      } | j                         S #  Y yxY w)u   Récupère données API   )timeoutN)requestsgetAPI_URLr	   )r   s    r   get_api_datar      s,    LL!,vvxs   *- 1c                 ~   g }g }g }	 t        ddd      5 }|j                         |  d }ddd       D ]  }d|v rL|j                  d      }t        |      dkD  s(|d   j	                         }|dd }	|j                  |	|f       Td	|v rd
|v rd|v sa|j                         }t        |      D ]  \  }
}|j                  d      s|j                  dd      }d}t        |
t        |
dz   t        |                  D ]3  }d	||   v s||   j                  d      d   j                         d   } n |s|j                  |t        |      df        $d|v s*|j                         }t        |      D ]  \  }
}|j                  d      s|j                  dd      }dx}}t        |
t        |
dz   t        |                  D ]?  }d||   v r||   j                  d      d   }d||   v s)||   j                  d      d   }A |j                  |||f         	 |||fS # 1 sw Y   xY w#  Y xY w)u/   Parse les logs récents pour trades et blocagesztrading_bot.logr   zutf-8)encodingNzPOSITION OUVERTE:      zBB_position=u   BLOQUÉSymbolzUSDT:: 
   =r   BB_highu   PULLBACK en zone haute BLOQUÉ   zBB=zRSI=)r   	readlinessplitlenstripappend	enumerateendswithreplacerangeminfloat)linestradesblockspullback_blocksr   recentlinepartssymbol	timestampipbbjrsis                  r   parse_recent_logsr=      st   FFO*#S7; 	,q[[]E67+F	,  $	BD"d*

#67u:>"1X^^-F $RaIMM9f"56  4'I,=t# JJLE )% 0 	N1::g.%&YYsB%7F!%B%*1c!B$E
.C%D *#1U1X#=).q)<Q)?)E)E)G)JB$)*  " &vuRy).L M	N 2T9

%e, 	BDAqzz'*!"3!3#'S!&q#adCJ*?!@ =A$a0%*1X^^C%8%;%q1&+AhnnS&9!&<	=
 (..C/@A	B7$	BP 6?**W	, 	,PsS   H8 H+1H8 8H8 2H8 	A H8 
-H8 8%H8 2H8 A H8 32H8 +H50H8 8H<c                     t        d       t        d       t        d       t        d       d} t               }	 	 t        j                         j	                  d      }t               }t        |      }t        |j                               }||z
  }||z
  }t               }d}	t        t              }
|rRd|v rN|d   j                  d	d      }	|d   j                  d
g       D ]!  }|j                  dd      }|
|xx   dz  cc<   # t        d      \  }}}t        d| dd       t        d|dd|	ddd       |r!t        ddj                  |       dd       n0|r!t        ddj                  |       dd       nt        dd       |
rHdj                  |
j                         D cg c]  \  }}| d|  c}}      }t        d| dd       |r|dd  ng }|r|d d  ng }|rt        d!t        |       d       |rt        d"t        |       d       t        d#dd$       t        t        j                               d%z  d&k  r|s|rt        d'       |r>t        d(t        |       d)dj                  |d*d  D cg c]  }|d   	 c}       d+       |r9t        d,t        |              |dd  D ]  \  }}}t        d-| d.| d/|         t                |}t        j                   t"               c c}}w c c}w # t$        $ r t        d0       Y y t&        $ r5}t        d1| d#dd$       t        j                   t"               Y d }~[d }~ww xY w)2Nz=
============================================================u1   🔍 SURVEILLANCE SILENCIEUSE - Trades & Patternsz<============================================================u.   Rafraîchissement: 30s | Ctrl+C pour arrêter
r   Tz%H:%M:%Sr   ready_to_buyready_signalspatternUNKNOWNr      z[z] r   )endzPos: 2dz
 | Ready: z | u   🟢 NOUVEAUX: z, u   🔴 FERMÉS: u   ⚪ Stable |  r   []u    🚫PB:u    🚫BB:z   )rD   flushi,  r   u%   

📊 Résumé 5 dernières minutes:z   Trades: z ()u"      PULLBACK bloqués (fin cycle): z      z: BB=z RSI=u   

🛑 Surveillance arrêtéeu   ⚠️ Erreur: )printsetr   nowstrftimer   r&   keysr   r   intr   r=   joinr   timesleepINTERVALKeyboardInterrupt	Exception)last_trade_countlast_positionsrP   	positions	pos_countcurrent_symbols
new_tradesclosed_tradesapi_datar@   patterns_readysigrA   r0   r1   r2   r9   cpattern_strrecent_blocksrecent_pullbacktsymr:   r<   es                             r   mainrk   S   sl   	-	
=>	&M	
;<UN
H	!,,.))*5C &III!).."23O )>9J*_<M $~HM(-NFh. ( 0 4 4^Q G#F+//D 1C!ggi;G"7+q0+1
 /@.D+FFO CuB-R(E)Bz-1C3GRP		*(='>cBKtyy'?&@D"Mo2. !hh~?S?S?U'Vtq!1#Qqc
'VW+a(b1 ,2F23KrM6Eobc22O_!5 67R@]!3 452>%Rt, 499;#%*_CECK=499TZ[][^T_E`qadE`;a:bbcde& B3CWBXYZ,;BC,@ ELCS!F3%uRDcU"CDEG,NJJx E N (W& Fa ! 	34 	!%aS,"DAJJx  	!s>   E3L .L
?CL LA.L L M #M ++MM __main__)rC   )__doc__r	   rU   r   r   collectionsr   r   rW   r   r   r=   rk   __name__     r   <module>rr      sP        #
52+hR!h zF rq   