
    'i                     B    d dl mZmZmZmZ ddlmZmZ  G d de      Zy)    )absolute_importdivisionprint_functionunicode_literals   )MovingAverageBaseExponentialSmoothingc                   *     e Zd ZdZdZdZ fdZ xZS )SmoothedMovingAveragea)  
    Smoothing Moving Average used by Wilder in his 1978 book `New Concepts in
    Technical Trading`

    Defined in his book originally as:

      - new_value = (old_value * (period - 1) + new_data) / period

    Can be expressed as a SmoothingMovingAverage with the following factors:

      - self.smfactor -> 1.0 / period
      - self.smfactor1 -> `1.0 - self.smfactor`

    Formula:
      - movav = prev * (1.0 - smoothfactor) + newdata * smoothfactor

    See also:
      - http://en.wikipedia.org/wiki/Moving_average#Modified_moving_average
    )SMMAWilderMAMovingAverageSmoothedMovingAverageWilderModifiedMovingAverage)smmac                     t        | j                  | j                  j                  d| j                  j                  z        | j                  d<   t
        t        |           y )Ng      ?)periodalphar   )r	   datapr   linessuperr   __init__)self	__class__s    X/var/www/app/trading-bot/venv/lib/python3.12/site-packages/backtrader/indicators/smma.pyr   zSmoothedMovingAverage.__init__3   sI     -II66==%'

1 	#T35    )__name__
__module____qualname____doc__aliasr   r   __classcell__)r   s   @r   r   r      s    &>EE6 6r   r   N)	
__future__r   r   r   r    r   r	   r    r   r   <module>r'      s!   ** * 66- 6r   