
    Q-js                     ~    d dl mZ d dlmZmZmZ d dlmZ d dl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fdZy)    )Series)DictLikeIntIntFloat)Imports)non_zero_rangev_offsetv_scalarv_seriesv_talibNopen_highlowclosescalartaliboffsetkwargsreturnc                    t        |       } t        |      }t        |      }t        |      }t        |d      }t        |      }t        |      }t        d   r |r|j
                  rddlm}	  |	| |||      }
n t        ||      }t        ||       }||z  |z  }
|dk7  r|
j                  |      }
d|v r|
j                  |d   d       d|
_        d	|
_        |
S )
a  Balance of Power

    This indicator attempts to quantify the market strength of buyers
    versus sellers.

    Sources:
        * [worden](http://www.worden.com/TeleChartHelp/Content/Indicators/Balance_of_Power.htm)

    Parameters:
        open_ (Series): ```open``` Series
        high (Series): ```high``` Series
        low (Series): ```low``` Series
        close (Series): ```close``` Series
        scalar (float): Scalar. Default: ```1```
        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
       r   r   )BOPfillnaT)inplacer   momentum)r   r
   r   r	   r   sizer   r   r   shiftr   namecategory)r   r   r   r   r   r   r   r   mode_talr   bophigh_low_rangeclose_open_ranges                d/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/momentum/bop.pyr!   r!      s    : UOED>D
3-CUOEfa Fu~HfF wH%sE*'c2)%7''.8 {ii 6

6(#T
2 CHCLJ    )NNN)pandasr   pandas_ta._typingr   r   r   pandas_ta.mapsr   pandas_ta.utilsr   r	   r
   r   r   boolr!    r%   r$   <module>r,      sv     5 5 "  ,0:::&,:5;::$(: : #+: 	:r%   