
    i|                         S SK JrJr  S SKJr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Jr  S SKJr      SS	\S
\S\S\S\S\S\	S\S\S\S\S\S\S\4S jjrg)    )isnannan)	DataFrameSeries)DictLikeIntIntFloat)ma)Imports)	v_boolv_driftv_mamodev_offsetv_pos_defaultv_scalarv_seriesv_talibzero)atrNhighlowcloselengthsignal_lengthadxr_lengthscalartalibtvmodemamodedriftoffsetkwargsreturnc           
         [        US5      n[        XC5      n[        US5      n[        X4U5      n[        X5      n [        X5      n[        X-5      nU b  Ub  Uc  g[        US5      n[	        U	S5      n	[        U5      n[        US5      n[        U
5      n
[        U5      n[        XUX<R                  SS5      S	9nUb  [        [        U5      5      (       a  gUU-  nX R                  U
5      -
  nUR                  U
5      U-
  nUU:  US
:  -  U-  nUU:  US
:  -  U-  nUR                  [        5      nUR                  [        5      nU(       dB  [         S   (       a4  U(       a-  US:  a'  S
SKJnJnJn  U" XX#5      nU" XU5      nU" XU5      nGOlU(       Ga!  USU R+                  5       UR,                  US-
  '   S
USUS-
  & USU R+                  5       UR,                  US-
  '   S
USUS-
  & SU-  nUUR/                  USUS9R1                  5       -  nUUR/                  USUS9R1                  5       -  nUUU-
  R3                  5       -  UU-   -  nUR                  U* 5      nUSU R+                  5       UR,                  US-
  '   S
USUS-
  & [5        U	UUS9n[6        USUS-
  & UR                  U5      nOCU[5        U	UUS9-  nU[5        U	UUS9-  nUUU-
  R3                  5       -  UU-   -  n[5        U	UUS9nSUUR                  U5      -   -  nUS
:w  aD  UR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nSU;   aL  UR9                  US   SS9  UR9                  US   SS9  UR9                  US   SS9  UR9                  US   SS9  SU 3Ul        SU SU 3Ul        SU 3Ul        SU 3Ul        S=Ul        =Ul        Ul        UR:                  UUR:                  UUR:                  UUR:                  U0n[?        UUR@                  S9n SU 3U l        SU l        U $ )a;  Average Directional Movement

This indicator attempts to quantify trend strength by measuring the
amount of movement in a single direction.

Sources:
    * [tradingtechnologies](https://www.tradingtechnologies.com/help/x-study/technical-indicator-definitions/average-directional-movement-adx/)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    length (int): The period. Default: ```14```
    signal_length (int): Signal period. Default: ```length```
    adxr_length (int): ADXR period. Default: ```2```
    scalar (float): Scalar. Default: ```100```
    talib (bool): If installed, use TA Lib. Default: ```True```
    tvmode (bool): Trading View. Default: ```False```
    mamode (str): See ```help(ta.ma)```. Default: ```"rma"```
    drift (int): Difference amount. Default: ```1```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (DataFrame): 4 columns

Note:
    ```signal_length``` is like TradingView's default ADX.
      Nd   rmaFprenanT)r   r   r   r   r)   r   r      )ADXMINUS_DMPLUS_DM)alphaadjustmin_periods)r   g      ?fillna)inplaceADX_ADXR__DMP_DMN_trend)index)!r   maxr   r   r   r   r   r   r   r   popallr   shiftapplyr   r   r   r+   r,   r-   sumilocewmmeanabsr
   r   r1   namecategoryr   r9   )!r   r   r   r   r   r   r   r   r   r   r    r!   r"   _lengthmode_talmode_tvatr_kupdnposnegr+   r,   r-   adxdmpdmnr.   dxadxrdatadfs!                                    N/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/trend/adx.pyrO   rO      su   L 62&F!-8MQ/K&5GD"D
3
 CU$E|s{emfc"Ffe$Fu~HVU#GENEfF %jj48D |s5;''A	

5!	!B	5	C	BGQ2
%CGQ2
%C ))D/C
))D/Cww'H!00$U+d(t&)	  #7F|//1!KVaZ"7F|//1!KVaZF
#''e'HMMOO#''e'HMMOO sSyoo''395XXvg &koo/
;FQJM2KVaZii"VS00"VS00sSyoo''395M2#		+../D {iizz&!iiii 6

6(#T
2F8$d3

6(#T
2

6(#T
2 m_%CHa}5DIfXCHfXCH188CL83<#,HHc499dCHHc388SID	4u{{	+B]O$BGBKI    )	NNNNNNNNN)numpyr   r   pandasr   r   pandas_ta._typingr   r   r	   pandas_ta.mar
   pandas_ta.mapsr   pandas_ta.utilsr   r   r   r   r   r   r   r   r   pandas_ta.volatilityr   boolstrrO    rW   rV   <module>rb      s     $ 5 5  "
 
 
 %
 =AKO;?%)	R
RR&,R69RR,/R@HR R !%R 69R 	R  #	R 6>	R
 RrW   