
    i                     t    S SK Jr  S SKJr  S SKJrJr  S SKJrJ	r	J
r
  S\4S jr  SS\S	\S
\S\S\4
S jjrg)    )fabs)Series)DictLikeInt)v_offsetv_pos_defaultv_seriesseriesc                 T    [        X R                  5       -
  5      R                  5       $ )zMean Absolute Deviation)r   mean)r
   s    S/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/statistics/mad.py_madr   	   s    &',,..    Ncloselengthoffsetkwargsreturnc                 d   [        US5      nSU;   a  US   b  [        US   5      nOUn[        U [        X5      5      n U c  g[	        U5      nU R                  XS9R                  [        SS9nUS:w  a  UR                  U5      nSU;   a  UR                  US   SS	9  S
U 3Ul
        SUl        U$ )aQ  Rolling Mean Absolute Deviation

Calculates a rolling Mean Absolute Deviation (MAD).

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```30```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column
   min_periodsN)r   T)rawr   fillna)inplaceMAD_
statistics)r   intr	   maxr   rollingapplyr   shiftr   namecategory)r   r   r   r   r   mads         r   r$   r$      s    ( 62&F6-#8#D&/0UC45E}fF ---
8
>
>t
>
NC {ii 6

6(#T
2 fXCHCLJr   )NN)numpyr   pandasr   pandas_ta._typingr   r   pandas_ta.utilsr   r   r	   r   r$    r   r   <module>r*      sW      + = =/ / "&////"*/ /r   