
    Q-j	                     ~    d dl mZmZ d dlmZmZmZ d dlmZm	Z	m
Z
mZmZmZ 	 	 ddedededed	ed
ededededefdZy)    )	DataFrameSeries)DictLikeIntIntFloat)non_zero_rangev_driftv_offsetv_pos_defaultv_scalarv_seriesNopen_highlowcloselengthscalardriftoffsetkwargsreturnc                    t        |d      }t        | |      } t        ||      }t        ||      }t        ||      }| |||yt        |d      }t        |      }t	        |      }t        ||       }	t        | |      }
t        ||j                  |            }t        |j                  |      |      }d||dk  <   d||dk  <   ||	j                  |      j                         z  |
j                  |      j                         z  }||j                  |      j                         z  |j                  |      j                         z  }|dk7  r"|j                  |      }|j                  |      }d|v r,|j                  |d   d       |j                  |d   d       d| }d	| |_
        d
| |_
        dx|_        |_        |j                  ||j                  |i}t        ||j                        }d| |_
        d|_        |S )af  BRAR

    BR and AR

    Sources:
        * No internet resources on definitive definition.

    Parameters:
        open_ (Series): ```open``` Series
        high (Series): ```high``` Series
        low (Series): ```low``` Series
        close (Series): ```close``` Series
        length (int): The period. Default: ```26```
        scalar (float): Scalar. Default: ```100```
        drift (int): Difference amount. Default: ```1```
        offset (int): Post shift. Default: ```0```

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

    Returns:
        (DataFrame): 2 columns
       Nd   r   fillnaT)inplace_ARBRmomentum)indexBRAR)r   r   r   r	   r
   r   shiftrollingsumr   namecategoryr   r!   )r   r   r   r   r   r   r   r   r   high_open_rangeopen_low_rangehcycylarbr_propsdatadfs                     e/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/momentum/brar.pybrarr2      s   : 62&FUF#ED&!D
3
CUF#E}u}fc"FENEfF %T51O#E3/N
u{{51
2C
U+S
1CCaLCaL	/))&1557	7

 
 
(
,
,
.
/B 
#++f%))+	+
++f

!
!
#
$B {XXfXXf 6
		&"D	1
		&"D	1 \F6(mBG6(mBG **BK"+GGR"%D	4u{{	+BVHoBGBKI    )NNNN)pandasr   r   pandas_ta._typingr   r   r   pandas_ta.utilsr   r	   r
   r   r   r   r2    r3   r1   <module>r8      s    $ 5 5  ?CNNN&,N5;NN (N8;N N #+N 	Nr3   