
    i                         S SK Jr  S SKJrJrJr  S SKJr  S SKJ	r	  S SK
JrJrJrJrJrJrJrJr      SS\S\S	\S
\S\S\S\S\S\S\4S jjrg)    )Series)DictLikeIntIntFloat)Imports)rsi)consecutive_streakpercent_rankv_driftv_offsetv_pos_defaultv_scalarv_seriesv_talibNclose
rsi_lengthstreak_lengthrank_lengthscalartalibdriftoffsetkwargsreturnc           	         [        US5      n[        US5      n[        US5      n[        XU5      n	[        X	5      n SU;   a  UR                  S5        U c  g[	        US5      n[        U5      n
[        U5      n[        U5      nU R                  5       n[        [        U5      U R                  S9n[        S   (       a  U
(       a  SS	KJn  U" X5      nU" X5      nO [        U 4XUXgS
.UD6n[        U4X$UXgS
.UD6nX-   [!        X5      -   S-  n[        UU R                  S9nUS:w  a  UR#                  U5      nSU;   a  UR%                  US   SS9  SU SU SU 3Ul        SUl        U$ )a  Connors Relative Strength Index

This indicator attempts to identify momentum and potential reversals at
"overbought" or "oversold" conditions.

Sources:
    * [alvarezquanttrading](https://alvarezquanttrading.com/blog/connorsrsi-analysis/)
    * [tradingview](https://www.tradingview.com/support/solutions/43000502017-connors-rsi-crsi/)
    * An Introduction to ConnorsRSI. Connors Research Trading Strategy Series.
      Connors, L., Alvarez, C., & Radtke, M. (2012). ISBN 978-0-9853072-9-5.

Parameters:
    close (Series): ```close``` Series
    rsi_length (int): The RSI period. Default: ```3```
    streak_length (int): Streak RSI period. Default: ```2```
    rank_length (int): Percent Rank length. Default: ```100```
    scalar (float): Scalar. Default: ```100```
    talib (bool): If installed, use TA Lib. Default: ```True```
    drift (int): Difference amount. Default: ```1```
    offset (int): Post shift. Default: ```0```

Other Parameters:
    fillna (value): ```pd.DataFrame.fillna(value)```

Returns:
    (Series): 1 column
      d   lengthN)indexr   r   )RSI)r   r   r   r   r   g      @fillnaT)inplaceCRSI__momentum)r   maxr   popr   r   r   r   to_numpyr   r	   r    r   r   r!   r   r
   shiftr"   namecategory)r   r   r   r   r   r   r   r   r   _lengthmode_talnp_closestreakr!   _rsi_streak_rsi_crsicrsis                     R/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/momentum/crsi.pyr4   r4      s   D z1-J!-3MS1K*[9GU$E6

8}fc"Fu~HENEfF ~~H&x0DFwH5%&0 
$5
*0

 
(u
*0

 ,u"BBcIE%u{{+D {zz&! 6F8$d3 
|1]O1[MBDIDMK    )NNNNNNN)pandasr   pandas_ta._typingr   r   r   pandas_ta.mapsr   pandas_ta.momentum.rsir   pandas_ta.utilsr	   r
   r   r   r   r   r   r   boolr4    r6   r5   <module>r>      s     5 5 " &	 	 	 AE04%)	WW"W:=WW%-W W  #W 	W #+	W
 Wr6   