
    i	                         S SK JrJrJrJrJrJrJr  S SKJ	r
  S SKJrJrJr  S SKJr  S SKJrJrJrJr     SS\S\S	\S
\S\S\S\4S jjrg)    )appendarangearrayexpfloornan	tensordot)version)DictLikeIntIntFloat)Series)strided_windowv_offsetv_pos_defaultv_seriesNcloselengthsigmadist_offsetoffsetkwargsreturnc           	         [        US5      n[        X5      n U c  g[        US5      n[        U[        5      (       a  SUs=::  a  S::  a  O  O[        U5      nOSn[	        U5      nU R                  5       n[        U5      n[        XaS-
  -  5      n	[        SX!-  X-
  -  S-  -  5      n
XR                  5       -  n
[        S	:  a  SS
KJn  U" Xq5      nO[        Xq5      n[        [        [         /US-
  -  5      [#        XSS9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 SU SU 3Ul        SUl        U$ )a  Arnaud Legoux Moving Average

This indicator attempts to reduce lag with Gaussian smoothing.

Sources:
    * [prorealcode](https://www.prorealcode.com/prorealtime-indicators/alma-arnaud-legoux-moving-average/)
    * [sierrachart](https://www.sierrachart.com/index.php?page=doc/StudiesReference.php&ID=475&Name=Moving_Average_-_Arnaud_Legoux)

Parameters:
    close (Series): ```close``` Series
    length (int): The period. Default: ```9```
    sigma (float): Smoothing value. Default ```6.0```
    dist_offset (float): Distribution offset, range ```[0, 1]```.
        Default ```0.85```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column
	   Ng      @r      g333333?g         z1.20.0)sliding_window_view)axes)indexfillnaT)inplaceALMA__overlap)r   r   
isinstancefloatr   to_numpyr   r   r   sum
np_versionnumpy.lib.stride_tricksr   r   r   r   r   r	   r   r    shiftr!   namecategory)r   r   r   r   r   r   offset_np_closexkweightsr   windowresultalmas                  Q/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/overlap/alma.pyr6   r6   
   sd   8 61%FU#E}%%E+u%%!{*?a*?$fF ~~HvAg!$%A$5>ae4::;G{{}GX?$X61E3%6A:./fA68F&,D {zz&! 6F8$d3 xqq	2DIDMK    )NNNN)numpyr   r   r   r   r   r   r	   numpy.versionr
   r*   pandas_ta._typingr   r   r   pandasr   pandas_ta.utilsr   r   r   r   r6    r8   r7   <module>r?      sv    C C C / 5 5  M M
 "&48GGGG)1G G #+G 	Gr8   