
    it                         S SK Jr  S SKJrJr  S SKJr  S SKJr  S SK	J
r
JrJr  S SK	JrJrJr     SS\S	\S
\S\S\S\S\S\4S jjrg)    )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                    [        US5      n[        US5      nX!:  a  X!p![        U [        X5      5      n U c  g[        US5      n[	        U5      n[        U5      n[        S   (       a!  U(       a  SSKJn  U" XU[        U5      5      n	O[        X0XS9n
[        X0X'S9nX-
  n	US:w  a  U	R                  U5      n	S	U;   a  U	R                  US	   S
S9  SU SU 3U	l        SU	l        U	$ )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               Q/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/momentum/apo.pyr&   r&      s    > r"Dr"D{dUCO,E}fe$Fu~HfF wH%tVF^4F$?F$?o {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*   