
    Q-j'                     ^    d dl mZ d dlmZmZ d dlmZmZmZm	Z	m
Z
 	 	 ddedededed	ef
d
Zy)    )Series)DictLikeInt)symmetric_trianglev_offsetv_pos_defaultv_seriesweightsNcloselengthoffsetkwargsreturnc                 H   t        |d      }t        | |      } | yt        |      }t        |d      }| j	                  ||      j                  t        |      d      }|dk7  r|j                  |      }d|v r|j                  |d   d	       d
| |_	        d|_
        |S )a  Symmetric Weighted Moving Average

    This indicator is based on a Symmetric Weighted Moving Average where
    weights are based on a symmetric triangle.

    Source:
        * [tradingview](https://www.tradingview.com/study-script-reference/#fun_swma)

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

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

    Returns:
        (Series): 1 column

    Note:
        * ```n=3``` -> ```[1, 2, 1]```
        * ```n=4``` -> ```[1, 2, 2, 1]```
        * etc...
    
   NT)weighted)min_periods)rawr   fillna)inplaceSWMA_overlap)r   r	   r   r   rollingapplyr
   shiftr   namecategory)r   r   r   r   triangleswmas         d/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/overlap/swma.pyr   r      s    : 62&FUF#E}fF "&48H==V=4	wx d	+ 	 {zz&! 6F8$d3 x DIDMK    )NN)pandasr   pandas_ta._typingr   r   pandas_ta.utilsr   r   r   r	   r
   r    r!   r    <module>r&      sL     +  "&6666"*6 6r!   