Ë
    Q‡-j³  ã                   ó€   — d dl mZ 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mZ 	 	 	 ddeded	ed
edededefd„Zy)é    )Únan)ÚSeries)ÚDictLikeÚInt)ÚImports)Úv_boolÚv_offsetÚv_pos_defaultÚv_seriesÚv_talibNÚcloseÚlengthÚtalibÚpresmaÚoffsetÚkwargsÚreturnc                 óV  — t        |d«      }t        | |«      } | €yt        |«      }t        |d«      }t	        |«      }|j                  dd«      }t        d   r|r|dkD  rdd	lm}  || |«      }	nx|rU| j                  «       } | j                  d| j                  «       }
t        | j                  d|dz
   |
| j                  |dz
  <   | j                  ||¬
«      j                  «       }	|dk7  r|	j                  |«      }	d|v r|	j                  |d   d¬«       d|› |	_        d|	_        |	S )ab  Exponential Moving Average

    This Moving Average is more responsive than the Simple Moving
    Average (SMA).

    Sources:
        * [investopedia](https://www.investopedia.com/ask/answers/122314/what-exponential-moving-average-ema-formula-and-how-ema-calculated.asp)
        * [stockcharts](https://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:moving_averages)

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

    Other Parameters:
        adjust (bool): Default: ```False```
        fillna (value): ```pd.DataFrame.fillna(value)```

    Returns:
        (Series): 1 column
    é
   NTÚadjustFr   é   r   )ÚEMA)Úspanr   Úfillna)ÚinplaceÚEMA_Úoverlap)r
   r   r   r   r	   Ú
setdefaultr   r   r   ÚcopyÚilocÚmeanr   ÚewmÚshiftr   ÚnameÚcategory)r   r   r   r   r   r   Úmode_talr   r   ÚemaÚsma_nths              úc/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/overlap/ema.pyr'   r'      s/  € ô: ˜6 2Ó&€FÜU˜FÓ#€Eà€}Øäu‹~€HÜF˜DÓ!€FÜfÓ€FØ×Ñ˜x¨Ó/€Fô ˆwÒ™H¨°!ªÝÙ%˜Ó ‰áØ—J‘J“LˆEØ—j‘j  6Ð*×/Ñ/Ó1ˆGÜ&)ˆEJ‰J{˜ ™
Ð#Ø%,ˆEJ‰Jv ‘zÑ"Øi‰i˜V¨FˆiÓ3×8Ñ8Ó:ˆð ‚{Øi‰i˜Óˆð 6ÑØ
‰
6˜(Ñ#¨Tˆ
Ô2ð fXˆ€C„HØ€C„Là€Jó    )NNNN)Únumpyr   Úpandasr   Úpandas_ta._typingr   r   Úpandas_ta.mapsr   Úpandas_ta.utilsr   r	   r
   r   r   Úboolr'   © r*   r)   Ú<module>r2      sq   ðå Ý ß +Ý "÷õ ð "&Ø'+Øñ@Øð@Øð@àð@à $ð@ð ð@ð #+ð@ð ô	@r*   