
    Jjc                     V    S SK rS SKrS\R                  S\R                  4S jr/ SQrg)    Ndfreturnc                    U R                  5       n U S   U S   U S   U S   4u  pp4X!-
  R                  5       nX4-
  nUSU-  :  R                  [        5      U S'   SU S'   UR	                  S	5      UR	                  S	5      :  X!:  -  X!R	                  S	5      :  -  XR	                  S	5      :*  -  nUR	                  S	5      UR	                  S	5      :  X!:  -  X!R	                  S	5      :*  -  XR	                  S	5      :  -  nS	U R
                  US4'   S
U R
                  US4'   X3R	                  S	5      :  R                  [        5      n	XDR	                  S	5      :  R                  [        5      n
SU S'   SU S'   Sn[        S	[        U 5      5       HU  nU	R                  U   (       a  U	R                  US	-
     (       a  US	-   OS	nOSnXR
                  U R                  U   S4'   MW     Sn[        S	[        U 5      5       HU  nU
R                  U   (       a  U
R                  US	-
     (       a  US	-   OS	nOSnXR
                  U R                  U   S4'   MW     S H1  nXR                  ;   d  M  X   X   R	                  S5      -
  X S3'   M3     SU R                  ;   a%  U S   R                  S5      R                  5       U S'   U $ )NOpenCloseHighLowg?dojir   	engulfing   	hh_streak	ll_streak)
rsi_signalmacd_signaldirectional_bias   _accelsignal_strength   strength_trend)copyabsastypefloatshiftlocintrangelenilocindexcolumnsrollingmean)r   ochlbodycandle_rangebullish_engbearish_enghigher_high	lower_lowstreakicols                 1/home/ai/projects/AI_Strategy/features/context.pyadd_curated_contextr4      s   	BFR["V*bi?JA!E;;=D5L|++33E:BvJB{O771:
*qu5ggajIQRYRYZ[R\_]K771:
*qu5ggajIQRYRYZ[R\_]K'(BFF;#$')BFF;#$wwqz>))#.KWWQZ'',IB{OB{OF1c"gA#.#3#3AaC#8VaZaFF+1rxx{K'(  F1c"g>>!#,>>!A##6VaZAFF+1rxx{K'(  A**!#27==+;!;Bf~ A BJJ&!"34<<Q?DDFI    )r
   r   r   r   rsi_signal_accelmacd_signal_acceldirectional_bias_accelr   )numpynppandaspd	DataFramer4   CONTEXT_COLS r5   r3   <module>r@      s.     (BLL (R\\ (Vr5   