
    Q-j                         d dl mZmZ d dlmZmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZmZ 	 	 ddededed	ed
edededefdZy)    )	DataFrameSeries)DictLikeIntIntFloat)Imports)recent_maximum_indexrecent_minimum_indexv_offsetv_pos_defaultv_scalarv_seriesv_talibNhighlowlengthscalartaliboffsetkwargsreturnc                    t        |d      }t        | |dz         } t        ||dz         }| |yt        |d      }t        |      }t	        |      }t
        d   r"|r ddlm}m}	  || ||      \  }
} |	| ||      }nq| j                  |dz         j                  t        d	      }|j                  |dz         j                  t        d	      }|x}}
|d||z  z
  z  }|
d||z  z
  z  }
||
z
  }|dk7  r3|j                  |      }|
j                  |      }
|j                  |      }d
|v rB|j                  |d
   d       |
j                  |d
   d       |j                  |d
   d       d| |_        d| |
_        d| |_        dx|
_        x|_        |_        |
j                  |
|j                  ||j                  |i}t#        || j$                        }d| |_        |
j                   |_        |S )a  Aroon & Aroon Oscillator

    This indicator attempts to identify trends and their magnitude.

    Sources:
        * [tradingtechnologies](https://www.tradingtechnologies.com/help/x-study/technical-indicator-definitions/aroon-ar/)
        * [tradingview](https://www.tradingview.com/wiki/Aroon)

    Parameters:
        high (Series): ```high``` Series
        low (Series): ```low``` Series
        length (int): The period. Default: ```14```
        scalar (float): Scalar. Default: ```100```
        talib (bool): If installed, use TA Lib. Default: ```True```
        offset (int): Post shift. Default: ```0```

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

    Returns:
        (DataFrame): 3 columns
          Nd   r   r   )AROONAROONOSCT)rawfillna)inplaceAROONU_AROOND_	AROONOSC_trend)indexAROON_)r   r   r   r   r   r   r   r   r   rollingapplyr	   r
   shiftr   namecategoryr   r%   )r   r   r   r   r   r   r   mode_talr   r   
aroon_downaroon_up	aroon_oscperiods_from_hhperiods_from_lldatadfs                    c/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/trend/aroon.pyaroonr5      s/   8 62&FD&1*%D
3

#C|s{fc"Fu~HfF wH)$T37
HT3/	,,vz2U'DU1 	++fqj1U'DU1 	 !'&:A6122a?V344
z)	 {>>&)%%f-
OOF+	 6x($7&*D9)48 fX&HMx(JO )INCJJJJ(+i.@ 	x	D
 
4tzz	*BvhBG%%BKI    )NNNN)pandasr   r   pandas_ta._typingr   r   r   pandas_ta.mapsr   pandas_ta.utilsr	   r
   r   r   r   r   r   boolr5    r6   r4   <module>r=      s~    $ 5 5 "   @DS
SSS (S8<S S #+S 	Sr6   