
    i                         S SK Jr  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Jr  SSKJr  SSKJr  SS	KJr    SS\S\	S\S\	S\S\4S jjrg
)    )modules)sqrt)Series)DictLikeInt)v_mamodev_offsetv_pos_defaultv_series   )ema)sma)wmaNcloselengthmamodeoffsetkwargsreturnc                    [        US5      n[        XS-   5      n U c  g[        US5      n[        U5      nUS;  a  g[	        [
        [           U5      n[        US-  5      n[        [        U5      5      nU" XS9nU" XS9n	U" SU-  U	-
  U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:X  a  SOUS    SU 3U
l        SU
l        U
$ )a  Hull Moving Average

This indicator, by Alan Hull, attempts to reduce lag compared to
classical moving averages.

Sources:
    * [Alan Hull](https://alanhull.com/hull-moving-average)

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```10```
    mamode (str): One of: 'ema', 'sma', or 'wma'. Default: ```"wma"```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column

      Nr   )r   r   r   )r   )r   r   r   fillnaT)inplaceHMA _overlap)r
   r   r   r	   getattrmodule___name__intr   shiftr   namecategory)r   r   r   r   r   _mahalf_lengthsqrt_lengthmafmashmas              P/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/overlap/hma.pyr+   r+      s   2 62&FUQJ'E}fe$FfF**
'(#V
,C fqj/Kd6l#K
e
(C
e
#C
AGcM+
6C {ii 6

6(#T
2 6U?Rq	:!F8DCHCLJ    )NNN)sysr   r    numpyr   pandasr   pandas_ta._typingr   r   pandas_ta.utilsr   r	   r
   r   r   r   r   strr+    r-   r,   <module>r5      s_    "   + G G   
 6:;;;/2;;"*; ;r-   