
    @v#i                     2    d dl Zd dlmZ  G d d      Zd Zy)    N)calc_trend_scorec                       e Zd Zd Zd Zy)TradingEnginec                      y N )selfs    "/var/www/html/tradingbot/engine.py__init__zTradingEngine.__init__   s        c           	         |j                  dd      }|j                  dd      }|j                  dd      }|j                  dd      }|j                  dd      }|j                  dd      }|j                  d	d      }	|j                  d
d      }
|j                  dd      }|j                  dd      }|j                  dg d      \  }}}t        ||||	|||      }|r|dk\  rdd||dS |dk  rdd||dS dd||dS |
dk  s|
dkD  rdddS |dkD  rdddS |dk  rdddS |dkD  xr |d kD  xr |d!kD  xr |dkD  xr |	d"kD  }|d#kD  xs |d$kD  xr |dkD  }|r|rd%d&||||	|
|d'S dd(dS ))Nhas_positionFpnl_pctg        	buy_ratioratio_5m	ratio_15mcvdwhaledepth_ratiog      ?smoothprice_change_pct_5monchain)r   r   r   SELLTP_hit)actionreasonr   trend_scoreg      SL_hitWAITholdingg?   depth_extreme)r   r   g?smooth_highg{Gz?momentum_lowgGz?g
ףp=
?gffffff?g333333?<   4   BUYv3_strong_entry)r   r   r   r   r   r   r   price_change_5mno_conditions)getr   )r	   statedecisionr   r   r   r   r   r   r   r   r   r)   	f_mempoolf_feef_blockr   
strong_buytrend_neededs                      r
   process_cyclezTradingEngine.process_cycle   s    yy7 ))Is+IIk3/	99Z-IIk3/	iis#		'3'iis38S)))$93?$)IIi$C!	5'&
  #~$&&#.	  $$&&#.	  !#"*	  b 0$@@ C<$>> T!$??  tO #I CK 	 " 422)d"2 	
 ,+*&*#2	 	 !O<<r   N)__name__
__module____qualname__r   r3   r   r   r
   r   r      s    i=r   r   c                 >    t               }i }|j                  | |      S r   )r   r3   )r,   enginer-   s      r
   detect_signalr9   |   s!    _FHx00r   )numpynp
indicatorsr   r   r9   r   r   r
   <module>r=      s     'p= p=l1r   