
    Q-j                     j    d dl mZ d dlmZmZ d dlmZ d dlmZm	Z	m
Z
mZ 	 	 ddededed	ed
edefdZy)    )Series)DictLikeInt)Imports)v_offsetv_pos_defaultv_seriesv_talibNcloselengthtaliboffsetkwargsreturnc                    t        |d      }d|v r|d   t        |d         }n|}t        | t        ||            } | yt	        |      }t        |      }t        d   r|rddlm}  || |      }nJ| j                  ||      j                         }	| j                  ||      j                         }
d|	|
z   z  }|dk7  r|j                  |      }d	|v r|j                  |d	   d
       d| |_        d|_        |S )a  Midpoint

    The Midpoint is the average of the rolling high and low of period length.

    Parameters:
        close (Series): ```close``` Series
        length (int): The period. Default: ```2```
        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
       min_periodsNr   r   )MIDPOINT)r   g      ?fillnaT)inplace	MIDPOINT_overlap)r   intr	   maxr
   r   r   r   r   rollingminshiftr   namecategory)r   r   r   r   r   r   mode_talr   midpointlowesthighests              h/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/overlap/midpoint.pyr!   r!   	   s   * 61%F6-#8#D&/0UC45E}u~HfF wH"E6*v;?CCE--K-@DDF&7*+ {>>&) 6x($7  x(HM!HO    )NNN)pandasr   pandas_ta._typingr   r   pandas_ta.mapsr   pandas_ta.utilsr   r   r	   r
   boolr!    r%   r$   <module>r,      sS     + " F F
 6:777.277"*7 7r%   