
    i                     (   d Z ddlZddlZ ej                  dddddd      Z edd	      5 Z ej                  e      Zddd        ed
d	      5 Z ej                  e      Zddd       i Z	eD ]  Z
e
j                  d      Zese
j                  d      xs e
j                  d      Ze
j                  d      Ze
j                  d      Zes`	 ej                  j!                   ee      j%                  dd            Zer1ej                  j!                   ee      j%                  dd            ndZe	j+                  eg       j-                  eeef        g ZeD ]`  Zej                  d      Zes	 ej                  j!                   ee      j%                  dd            Zeek\  rej-                  eef       b ej9                  d         ee      Z ed eD              Z ee z
  Z!i Z"eD ]  \  Z#Zej                  d      rej                  dd      Z$e$jK                  d      d   jM                         jK                  d      d   jM                         Z'e"j                  e'd      dz   e"e'<     e(dejR                  jU                          d        e(de de  de!         e(         e(d         e+e"jY                         d!       D ]  \  Z$Z- e(d"e-d#d$e$          e(         e(d%        e(d&        e(        g Z.eD ]  \  ZZej                  d      rej                  d'i       Z/e/j                  d(e/j                  d)d            xs dZ0e/j                  d*e/j                  d+d            xs dZ1ej                  dd      Z2ej                  d,d      xs dZ3e0d-k\  se1d.k\  se3d/k\  se.j-                  eee0e1e3e2f        e.j9                  d0        e.D ]  \  ZZZ0Z1Z3Z2ej                  dd1      Zej                  d2d1      Z4ejk                  d3      Z6e	j                  eg       Z7dZ8e7D ]5  \  ZZZeez
  js                         d/z  Z:de:cxk  rd/k  s)n ,d4e:d5d6e Z8 n  e(d"e6 d"ed7d8e3d9d:e0d;d<e1d=d>e4         e(d?e2dd@  e8          e(         e(dA        e(dB       g Z;eD ]  \  ZZej                  d      rej                  dd      Z2dCe2vr/ej                  d'i       Z/e/j                  d(e/j                  d)d            xs dZ0e/j                  d*e/j                  d+d            xs dZ1dZ<	  e=e2jK                  dD      d   jK                  dE      d         Z<ej                  d,d      xs dZ3e0dFk\  se1d-k\  se;j-                  eee0e1e<e3f        e;j9                  dG         e(dH ee;              e;ddI D ]`  \  ZZZ0Z1Z<Z3ej                  dd1      Zej                  d2d1      Z4ejk                  d3      Z6 e(d"e6 d"ed7d:e0d;d<e1d=dJe<d5dKe3d5dLe4        b  e(         e(dM       g Z>eD ]Z  \  ZZej                  dd      Z2dCe2vr	  e=e2jK                  dD      d   jK                  dE      d         Z?e>j-                  e?       \ e>re>j9                           ee>      Z@ e(dNe@         e(dOe>d   d=dPe>dQ   d=dE        e(dRe>e@dSz     d=dE       g dTZAeAD ])  ZB edU e>D              ZC e(dVeB dWeC dXd@eCz  e@z   dY       +  e(         e(dZ       i ZDeD ]  \  ZZej                  d      rej                  dd      Z2d[e2vr0ej                  d'i       Z/e/j                  d(e/j                  d)d            xs dZ0	 e2jK                  d\      d   jK                  d]      d   ZE e=eEjK                  d^      d         ZF e=eEjK                  d_      d   j%                  d^d            ZGd`eG d^Z'e'eDvrdg daeDe'<   eDe'   dbxx   dz  cc<   eDe'   dc   j-                  e0         e+eDjY                               D ]G  \  ZHZIeIdc   ZJeJr eeJ       eeJ      z  ndZK edd eJD              ZL e(d"eH deeIdb    dfeKd;dgeL d^	       I y# 1 sw Y   xY w# 1 sw Y   ixY w# e$ r Y pw xY w# e$ r Y w xY w# e$ r Y uw xY w# e$ r Y w xY w# e$ r Y w xY w)hu:   Analyse approfondie des opportunités ratées aujourd'hui.    Ni           zespion_opportunities.jsonzutf-8)encodingzespion_history.jsonsymbol
entry_time	timestamp	exit_timepnl_pctZ c                     | d   S )Nr    xs    ./_analyze_missed_opps.py<lambda>r   +   s
    ad     )keyc              #   J   K   | ]  \  }}|j                  d       sd  yw)executed   N)get).0_os      r   	<genexpr>r   -   s     =TQ155+<q=s   ##r   reasonunknown(,r   z=== RESUME JOURNEE z ===zTotal detections: u    | Exécutés: u    | Rejetés: u   Raisons de rejet (résumées):c                     | d    S )Nr   r   r   s    r   r   r   <   s    1Q4% r   z  4dzx  z0=== OPPORTUNITES REJETEES AVEC SIGNAUX FORTS ===z>(surge >= 2.0% OU vol >= 5x OU already_pumped avec surge fort)
indicatorssurge_strengthchange_1scanvolume_spike	vol_ratioscoreg       @g      @<   c                     | d    S )N   r   r   s    r   r   r   S   s    1Q4 r   ?patternz%H:%Mu     → bot a acheté z.0fu   min après: pnl=z<14sz  score=z<6.1fz  surge=z.2fz%  vol=z.1fzx  pat=z         raison: d   z"=== ANALYSE already_pumped_24h ===uD   (cibles rejetées pour déjà pumpé mais avec signal fort ce matin)already_pumpedzalready_pumped_24h(%      ?c                     | d    S )N   r   r   s    r   r   r   |   s    !A$ r   u7   Rejetés 'already_pumped' avec surge>=1.5% ET vol>=2x:    zx  24h=z	%  score=z  pat=z:=== SEUIL already_pumped_24h: est-il trop restrictif ? ===u"     Nb rejetés par already_pumped: z  Min: z%  Max: u     Médiane: r4   )2   r*   F   P   r/   x      c              #   4   K   | ]  }|t         k  sd   yw)r   N)bp)r   ps     r   r   r      s     0R!0s   z  < z%: zx (z%)z/=== SEUIL vol_low: est-il trop restrictif ? ===vol_lowzvol_low()r   <seuil_)count
surge_valsrC   rD   c              #   ,   K   | ]  }|d k\  s	d  yw)r2   r   Nr   )r   ss     r   r   r      s     /qa3h/s   
z: u   x rejetés | surge moyen=z% | surge>=1.5%: )M__doc__jsondatetimecutoffopenfloadoppstradesexecuted_windowstr   symetimextimepnlfromisoformatstrreplaceedtxdt
setdefaultappend	Exception
today_oppsr   tsdtsortlentotalsumr   rejectedreasonsr   rsplitstripr   printdatetodaysorteditemscstrong_missedindsurgevolr   r)   patstrftimehourrelated
trade_notetotal_secondsdeltapumped_strongpct_24hfloatpct_valspctnbreakpointsr=   cntvol_thresholdspartactual	thresholdkvsurgesavgstrongr   r   r   <module>r      sD
   @  			4Aq!Q	/	
%8 A499Q<D 

'2 aTYYq\F  	 A
%%/CEE,5155#5EEE+E
%%	
C	##11#e*2D2DS"2MNCRW(##11#e*2D2DS"2MN]aC''R077c3H  
	 	A	
{	B,,SW__S"-EF<r1g&	 N #J=Z==8  /DAq55EE(I&ggcl1o##%++C0399;{{3*Q.	/ HMM//12$7 8 5'
-zR S  & '7==?8 DAq	BqfCs
  8 9 F G  AEBuuZ
%%b
!CGG$cggna&@AFQE
''.#''+q"9
:
?aCUU8R FEE'1"E |sczUb[b!UC?@A   (  )(5 :$B5#uf
%%#
C
%%	3
C;;wD""3+GJ  S#r((*R/u>r>/c{:J3%PJ	
 
BtfBs4juXeC[PSTWyX_`c_d
ef	fTcl^J<
89:   * + L M BEBuuZUU8R Fv%
%%b
!CGG$cggna&@AFQE
''.#''+q"9
:
?aCG%:;A>DDSI!LM EE'1"E|s
b!UC%@A#B&     ' ?M@R?ST U)6s); y%B5#w
%%#
C
%%	3
C;;wD	BtfBs4js73s)77SV-W`afgj`kkqruqv
wx	y  B C EBUU8R Fv%FLL!67:@@EaHI MMOHA	.qc
23	GHQK$HXb\#,>a
@A	L!Q$,A
./1K 40X00RDC5CGQJ<r234
  7 8 EBuuZUU8R F
%%b
!CGG$cggna&@AFQE
||J'*005a8tzz#q)*$**S/!,44S"=>	yk#n$,-R"@N3sG$)$sL)007#* >'')* ^DAq|_F'-#f+F
#1C/F//F	BqcAgJ<8S	ARSYRZZ[
\]	^_  "  		  \  2  H  st   b>cB
c9A	c$,c0;=c<7B#d>ccc! c!$c-,c-0c98c9<dddd