
    j	              
          d Z ddlZddlZddlmZ ddlmZ  ed          Z eed          5 Z ej	        e          Z
ddd           n# 1 swxY w Y   e
d         Zd eD             Z ej        e          Z ed	            ed
            ed	            eded           dZd eD             Z ede             ed ee                       ed ee           ee          z
   d            ed            ed            ed	           d eD             Ze                    d d            eedd         d          D ]\  ZZ ede ded          ded                                                      ed ed!          d"ed#          d$ed%                      ed&ed'          d(ed)                      ed*ed+                     ej        d,z  Z ej                                                     ee          ee ee           ee          z
  d-d.ed/Z eed0          5 Z ej        eed12           ddd           n# 1 swxY w Y    ed3e             ed4 ee           d5            ed6 ee           ee          z
   d            ed           dS )7zv
Filter and show only tradeable signals (near current price).

This removes stale signals from old order book levels.
    N)Path)datetimezR/home/ubuntu/.hermes/workspace/projects/ORDER_FLOW_GRAPH/data/signals_binance.jsonrsignalsc                     g | ]
}|d          S entry_price .0ss     \/home/ubuntu/.hermes/workspace/projects/ORDER_FLOW_GRAPH/scripts/filter_tradeable_signals.py
<listcomp>r      s    222Q- 222    zP================================================================================z&TRADEABLE SIGNALS (Near Current Price)u   
📊 Current Market Price: $z.2f   c                 ^    g | ]*}t          |d          t          z
            t          k    (|+S r   )abscurrent_priceprice_tolerancer   s     r   r   r       s?       

1]m+,,?? ???r   u   📌 Price Tolerance: ±$u   ✅ Tradeable signals: u   ❌ Filtered out: z stale signalszQ
================================================================================u9   🎯 BEST TRADEABLE SIGNALS (Confidence > 0.8, R:R > 2.0)c                 B    g | ]}|d          dk    |d         dk    |S )
confidenceg?risk_rewardg       @r
   r   s     r   r   r   .   s@       
=!1C!7!7 !7!7!7r   c                 $    | d         | d         z  S )Nr   r   r
   )xs    r   <lambda>r   3   s    ,!M2B B r   T)keyreverse
      
z. typez - 	directionz   Entry: $r	   z, Target: $target_pricez	, Stop: $
stop_pricez   Confidence: r   z, R:R: r   z   reasonzsignals_tradeable.jsonz#Filtered for tradeable signals only)generated_atsignal_countr   r   filtered_stalesource)metadatar   w   )indentu!   
✓ Saved tradeable signals to: z	  Total: z signalsz  Removed: )__doc__json
statisticspathlibr   r   signals_fileopenfloaddatar   entry_pricesmedianr   printr   tradeable_signalslenbest_signalssort	enumerateisigupperparentoutput_filenow	isoformatoutput_datadumpr
   r   r   <module>rH      s                     thii	T, 49Q<<D               y/ 32'222!
!,// f . / / / f :}::: ; ; ;     
 3/33 4 4 4 8$5 6 688 9 9 9 P33w<<##.?*@*@@PPP Q Q Q m    A B B B f    
   BBD  Q Q QiSbS)1-- ! !FAs	E
>q
>
>CK
>
>C$4$:$:$<$<
>
>???	E
hM*
h
hs>7J
h
hUXYeUf
h
hiii	E
JC-
J
Jc-6H
J
JKKK	E
H

     !$<< %0022-..&*#g,,->)?)??7  !
 
 
T+s (qDIk1Q''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( 8;88 9 9 9 2##'((222 3 3 3 ICCLL33'8#9#99III J J J m     s#   AAAI((I,/I,