
    Q-j	                     v    d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZ ddlmZ 	 	 dded	ed
edededefdZy)    )Series)DictLikeInt)Imports)v_offsetv_pos_defaultv_seriesv_talib   )emaNcloselengthtaliboffsetkwargsreturnc                    t        |d      }t        | d|z        } | yt        |      }t        |      }t        d   r|rddlm}  || |      }n8t        d| ||d|}t        d|||d|}	t        d|	||d|}
d||	z
  z  |
z   }|dk7  r|j                  |      }d|v r|j                  |d   d	
       d| |_
        d|_        |S )aT  Triple Exponential Moving Average

    This indicator attempts to be less laggy than the EMA.

    Sources:
        * [tradingtechnologies](https://www.tradingtechnologies.com/help/x-study/technical-indicator-definitions/triple-exponential-moving-average-tema/)

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

    Other Parameters:
        adjust (bool): Default: ```True```
        presma (bool): If True, uses SMA for initial value.
        fillna (value): ```pd.DataFrame.fillna(value)```

    Returns:
        (Series): 1 column

    Warning:
        TA-Lib Correlation: ```np.float64(0.9999355450605516)```

    Tip:
        Corrective contributions welcome!
    
      Nr   r   )TEMA)r   r   r   fillnaT)inplaceTEMA_overlap )r   r	   r
   r   r   r   r   r   shiftr   namecategory)r   r   r   r   r   mode_talr   temaema1ema2ema3s              d/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/overlap/tema.pyr    r    
   s    @ 62&FUAJ'E}u~HfF wHE6"HvXHHGfHGGGfHGGD4K 4' {zz&! 6F8$d3 x DIDMK    )NNN)pandasr   pandas_ta._typingr   r   pandas_ta.mapsr   pandas_ta.utilsr   r   r	   r
   r   boolr    r   r%   r$   <module>r+      sV     + " F F 
 6:???.2??"*? ?r%   