
    iz                         S SK JrJr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  S SKJrJrJrJr    SS\	S\S	\S
\S\S\	4S jjrg)    )averagelognansqrt
zeros_like)power)Series)DictLikeIntIntFloat)v_floatv_offsetv_pos_defaultv_seriesNcloselengthphaseoffsetkwargsreturnc                    [        US5      n[        X5      n U c  g[        US5      n[        U5      n[	        U 5      n[	        U 5      n[	        U 5      nS=n	=n
=pU R
                  S   =US'   =n=pSnSUS-
  -  nUS:  a  SOUS	:  a  S
OSUS-  -   n[        [        [        U5      5      [        S5      -  S-   S5      n[        US-
  S5      nU[        U5      -  nUUS-   -  nSUS-
  -  SUS-
  -  S-   -  nU R                  S   n[        SU5       GH}  nU R
                  U   nUU-
  nUU-
  n[        U5      [        U5      :w  a  [        [        U5      [        U5      5      OSUU'   UUS-
     UU   U[        UU-
  S5         -
  U-  -   UU'   [        U[        US-
  S5      US-    5      nUS:X  a  SOUU   U-  n[        S[        [        USU-  5      U5      5      n[        UU5      n[        U[        U5      5      n	US:  a  UOUU	U-  -
  nUS:  a  UOUU	U-  -
  n[        UU5      n [        UU 5      n!SU!-
  U-  U!U-  -   nSU-
  UU-
  -  UU
-  -   n
UUU
-  -   nXUS-
     -
  SU!-
  -  SU!-
  -  U!U!-  U-  -   nUUS-
     U-   UU'   GM     [        X`R                   S9n["        UR
                  SUS-
  & US:w  a  UR%                  U5      nSU;   a  UR'                  US   SS9  SU SU 3Ul        SUl        U$ )a  Jurik Moving Average Average

This indicator, by Mark Jurik, attempts to eliminate noise. It claims
to have extremely low lag, is very smooth and is responsive to gaps.

Sources:
    * [mql5](https://c.mql5.com/forextsd/forum/164/jurik_1.pdf)
    * [prorealcode](https://www.prorealcode.com/prorealtime-indicators/jurik-volatility-bands/)

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```7```
    phase (float): Phase value between [-100, 100]. Default: ```0```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column
   Ng        r   
   g      ?   id   g      @g      ?g{Gz?g       @g?A   g      ?)indexfillnaT)inplaceJMA__overlap)r   r   r   r   r   ilocmaxr   r   shaperangeabsr   minnp_powerr	   r   r   shiftr   namecategory)"r   r   r   r   r   _lengthjmavoltyv_sumkvdet0det1ma2ma1uBandlBand
sum_lengthprlength1pow1length2betbetamipricedel1del2	avg_voltyd_voltyr_voltypow2r   alphas"                                     P/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/overlap/jma.pyr.   r.   
   s   4 FA&GU$E}E3EfF U
CuEuE  B  #(::a=0CF0S05 JGaK F##:LB3tF|$s3x/36:Gw}c"DV$G
Wq[
!C7Q;47Q;#7##=>DAA1a[

1 u}u}03D	SY0F3s4y#d),Aa Q<1Xc!j.!455CDaE#a"fa.Q78	 A~!58i+?c3xT:GDE &c4:&("t))<("t))< $'u% 5yE!ECK/ DUS[)D4K7BIo 1q5z!a%i0U % 46QUd"AI L KK
(C!CHHQw{ {ii 6

6(#T
2 gYaw'CHCLJ    )NNN)numpyr   r   r   r   r   r   r)   pandasr	   pandas_ta._typingr
   r   r   pandas_ta.utilsr   r   r   r   r.    rJ   rI   <module>rP      sd    5 5 #  5 5 F F
 ?Ckk#k3;kk"*k krJ   