
    Q-j	                     ~    d dl mZ d dlmZ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defdZy)    )Series)DictLikeIntIntFloat)Imports)v_offsetv_pos_defaultv_seriesv_talib   )emaNcloselengthataliboffsetkwargsreturnc                    t        |d      }t        | d|dz   z        } | yt        |t              rd|cxk  rdk  rn nt        |      nd}t	        |      }t        |      }t        d   r|rddlm}  || ||      }n| |d	z  z  }	d
|d	z  z  d
|d
z  z  z   }
d|d	z  z  d
|z  z
  d
|d
z  z  z
  }|d
z  d
|d	z  z  z   d
|z  z   dz   }t        d| ||d|}t        d|||d|}t        d|||d|}t        d|||d|}t        d|||d|}t        d|||d|}|	|z  |
|z  z   ||z  z   ||z  z   }|dk7  r|j                  |      }d|v r|j                  |d   d       d| d| |_        d|_        |S )a~  T3

    This indicator, by Tim Tillson, attempts to be smoother and more
    responsive relative to other moving averages.

    Sources:
        * [binarytribune](http://www.binarytribune.com/forex-trading-indicators/t3-moving-average-indicator/)

    Parameters:
        close (Series): ```close``` Series
        length (int): The period. Default: ```10```
        a (float): The a factor, 0 < a < 1. Default: ```0.7```
        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.9999994265973177)```

    Tip:
        Corrective contributions welcome!
    
      r   Nr   gffffff?r   )T3      i)r   r   r   fillnaT)inplaceT3__overlap )r	   r
   
isinstancefloatr   r   r   r   r   r   shiftr   namecategory)r   r   r   r   r   r   mode_talr   t3c1c2c3c4e1e2e3e4e5e6s                      b/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/overlap/t3.pyr'   r'   
   s   D 62&FUA!,-E}q%(QYQYaCAu~HfF wHvq!R!Q$YAXAqD !Q$YQQT)TA1H_q1u$q(FuV8FvFCr&CFCCr&CFCCr&CFCCr&CFCCr&CFC"WrBwb(272 {XXf 6
		&"D	1 F81QC BGBKI    )NNNN)pandasr   pandas_ta._typingr   r   r   pandas_ta.mapsr   pandas_ta.utilsr   r	   r
   r   r   boolr'   r    r3   r2   <module>r9      sk     5 5 " F F 
 JNJJJ*2JBFJJ"*J Jr3   