
    i
                         S SK JrJr  S SKJrJrJr  S SKJr  S SK	J
r
JrJrJrJrJr     SS\S\S\S	\S
\S\S\S\S\S\4S jjrg)    )	DataFrameSeries)DictLikeIntIntFloat)ma)non_zero_rangev_driftv_mamodev_offsetv_pos_defaultv_seriesNhighlowcloselengthcdriftmamodeoffsetkwargsreturnc                 T   [        US5      n[        X5      n [        X5      n[        X#5      nU b  Ub  Uc  g[        US5      n[        US5      n[        U5      n[	        U5      n[        X5      n	XU-   -  n
X-  n
USU
-
  -  nU SU
-   -  n[        XkUS9n[        XbUS9n[        XlUS9nUS:w  a3  UR                  U5      nUR                  U5      nUR                  U5      nSU;   a9  UR                  US   S	S
9  UR                  US   S	S
9  UR                  US   S	S
9  SU 3Ul	        SU 3Ul	        SU 3Ul	        S=Ul
        =Ul
        Ul
        UR                  XR                  XR                  U0n[        UUR                  S9nSU 3Ul	        UR                  Ul
        U$ )a  Acceleration Bands

This indicator, by Price Headley, creates lower and upper bands centered
around a moving average based on a ratio of it's High-Low range.

Sources:
    * [tradingtechnologies](https://www.tradingtechnologies.com/help/x-study/technical-indicator-definitions/acceleration-bands-abands/)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    length (int): The period. Default: ```10```
    c (int): Multiplier. Default: ```4```
    mamode (str): See ```help(ta.ma)```. Default: ```"sma"```
    drift (int): Difference amount. Default: ```1```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (DataFrame): 3 columns
   N   sma   )r   r   fillnaT)inplaceACCBL_ACCBM_ACCBU_
volatility)index	ACCBANDS_)r   r   r   r
   r   r	   r   shiftr   namecategoryr   r$   )r   r   r   r   r   r   r   r   r   high_low_rangehl_ratio_lower_upperlowermidupperdatadfs                     X/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/accbands.pyaccbandsr3      s   < 62&FD!D
3
CU#E|s{emaAfe$FENEfF $D.N,HMHAL!FQ\"Fvf-E
V6
*Cvf-E {F#iiF# 6VH%t4

6(#T
2VH%t4 &"EJx CH&"EJ5AACLA5>ENJJxxjj%@D	4u{{	+B&"BG,,BKI    )NNNNN)pandasr   r   pandas_ta._typingr   r   r   pandas_ta.mar   pandas_ta.utilsr	   r
   r   r   r   r   strr3    r4   r2   <module>r;      s    $ 5 5   =A9=M
MM&,M69MM"M36M M #+M 	Mr4   