
    i                         S SK Jr  S SKJrJrJrJr  S SKJr  S SK	J
r
Jr  S SKJr  S SKJrJrJrJrJr  \" SS9S	 5       r   SS\S\S\S\S\S\
S\4S jjrg
)    )njit)arangefloat64nan
zeros_like)Series)DictLikeInt)Imports)v_ascendingv_offsetv_pos_defaultv_seriesv_talibT)cachec                 &   U R                   n[        SUS-   [        S9n[        U [        S9nU(       d  US S S2   n[	        US-
  U5       H"  nXPXq-
  S-   US-    -  R                  5       Xg'   M$     USX-  U-   -  -  nU(       a  [        US US-
  & U$ )N   )dtype   )sizer   r   r   rangesumr   )xnascprenanmwresultis           P/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/overlap/wma.pynb_wmar#      s    	Aq!a%w'A)FddG1q5!_1519QU++002	 
a1519oFvAM    Ncloselengthr   taliboffsetkwargsreturnc                    [        US5      n[        X5      n U c  g[        U5      n[        U5      n[	        U5      n[
        S   (       a  U(       a  SSKJn  U" X5      nO0U R                  5       n	[        XUS5      n
[        XR                  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$ )at  Weighted Moving Average

This indicator is a Moving Average where the weights are linearly
increasing and the most recent data has the heaviest weight.

Sources:
    * [wikipedia](https://en.wikipedia.org/wiki/Moving_average#Weighted_moving_average)

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```10```
    asc (bool): Recent values weigh more. Default: ```True```
    talib (bool): If installed, use TA Lib. Default: ```True```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column

   Nr'   r   )WMAT)indexfillna)inplaceWMA_overlap)r   r   r   r   r   r   r'   r-   to_numpyr#   r   r.   shiftr/   namecategory)r%   r&   r   r'   r(   r)   mode_talr-   wmanp_closewma_s              r"   r8   r8   $   s    6 62&FU#E}
c
Cu~HfF wH% >>#hT2T- {ii 6

6(#T
2 fXCHCLJr$   )NNNN)numbar   numpyr   r   r   r   pandasr   pandas_ta._typingr	   r
   pandas_ta.mapsr   pandas_ta.utilsr   r   r   r   r   r#   boolr8    r$   r"   <module>rC      s     2 2  + "  D & "&$(:::	:!: : #+: 	:r$   