
    Q-jt                         d dl mZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
mZmZ d dl	mZmZmZ 	 	 	 dded	ed
edededededefdZy)    )Series)DictLikeInt)ma)Imports)tal_mav_mamodev_offset)v_pos_defaultv_seriesv_talibNclosefastslowmamodetaliboffsetkwargsreturnc                    t        |d      }t        |d      }||k  r||}}t        | t        ||            } | yt        |d      }t	        |      }t        |      }t        d   r|rddlm}  || ||t        |            }	n#t        || ||      }
t        || ||      }|
|z
  }	|dk7  r|	j                  |      }	d	|v r|	j                  |d	   d
       d| d| |	_        d|	_        |	S )a;  Absolute Price Oscillator

    This indicator attempts to quantify momentum.

    Sources:
        * [tradingtechnologies](https://www.tradingtechnologies.com/xtrader-help/x-study/technical-indicator-definitions/absolute-price-oscillator-apo/)

    Parameters:
        close (Series): ```close``` Series
        fast (int): Fast period. Default: ```12```
        slow (int): Slow period. Default: ```26```
        mamode (str): See ```help(ta.ma)```. Default: ```"sma"```
        talib (bool): If installed, use TA Lib. Default: ```True```
        offset (int): Post shift. Default: ```0```

    Other Parameters:
        fillna (value): ```pd.DataFrame.fillna(value)```

    Returns:
        (Series): 1 column

    Note:
        * Simply the difference of two different EMAs.
        * APO and MACD lines are equivalent.
          Nsmar   r   )APO)lengthr   fillnaT)inplaceAPO__momentum)r   r   maxr	   r   r
   r   r   r   r   r   shiftr   namecategory)r   r   r   r   r   r   r   mode_talr   apofastmaslowmas               d/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/momentum/apo.pyr&   r&      s   > r"Dr"Dd{4dUCdO,E}fe$Fu~HfF wH%tVF^4FE$h?FE$h?vo {ii 6

6(#T
2dV1TF#CHCLJ    )NNNNN)pandasr   pandas_ta._typingr   r   pandas_ta.mar   pandas_ta.mapsr   pandas_ta.utilsr   r	   r
   r   r   r   strboolr&    r*   r)   <module>r3      s|     +  " 6 6 < <
 26&*@@@+.@@#@ @ #+@ 	@r*   