
    'iv                     f    d dl mZmZmZmZ d dlZddlmZm	Z	 ddgZ
 G d dej                        Zy)    )absolute_importdivisionprint_functionunicode_literalsN   )MovAvAwesomeOscillator"AccelerationDecelerationOscillatorAccDeOscc                   n     e Zd ZdZdZdZddej                  ffZ e	 e	ddd	            Z
 fd
Z xZS )r
   a2  
    Acceleration/Deceleration Technical Indicator (AC) measures acceleration
    and deceleration of the current driving force. This indicator will change
    direction before any changes in the driving force, which, it its turn, will
    change its direction before the price.

    Formula:
     - AcdDecOsc = AwesomeOscillator - SMA(AwesomeOscillator, period)

    See:
      - https://www.metatrader5.com/en/terminal/help/indicators/bw_indicators/ao
      - https://www.ifcmarkets.com/en/ntx-indicators/ntx-indicators-accelerator-decelerator-oscillator

    )r   )accde)period   movavbarg      ?g      ?)_methodalphawidthc                     t               }|| j                  j                  || j                  j                        z
  | j                  _        t        t        | #          y )N)r   )	r	   pr   r   lr   superr
   __init__)selfao	__class__s     d/var/www/app/trading-bot/venv/lib/python3.12/site-packages/backtrader/indicators/accdecoscillator.pyr   z+AccelerationDecelerationOscillator.__init__8   sB     DFFLLDFFMMLBB0$@B    )__name__
__module____qualname____doc__aliaslinesr   SMAparamsdict	plotlinesr   __classcell__)r   s   @r   r
   r
      sM     EE 		%))F
 4TEFIC Cr   )
__future__r   r   r   r   
backtraderbt r   r	   __all__	Indicatorr
    r   r   <module>r1      s5   ** *  & 0
<C Cr   