
    iX                     ~    S SK Jr  S SKJr  S SKJrJr  S SKJr  S SK	J
r
JrJrJr    SS\S\S	\S
\S\S\S\4S jjrg)    )isnan)Series)DictLikeInt)ema)non_zero_rangev_offsetv_pos_defaultv_seriesNhighlowfastslowoffsetkwargsreturnc                    [        US5      n[        US5      nX2:  a  X2p2S[        X#5      -  [        X#5      -
  n[        X5      n [        X5      nU b  Uc  g[	        U5      nSU;   a  UR                  S5        [        X5      n[        SXrS.UD6n[        [        U5      5      (       a  g[        SXS.UD6n	[        [        U	5      5      (       a  gX-  n
U
R                  X3S9R                  5       n[        [        U5      5      (       a  g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$ )a4  Mass Index

This indicator attempts to use a High-Low Range to identify trend
reversals based on range expansions.

Sources:
    * [stockcharts](https://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:mass_index)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    fast (int): Fast period. Default: ```9```
    slow (int): Slow period. Default: ```25```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column
	         Nlength)closer   )min_periodsr   fillnaT)inplaceMASSI__
volatility )r
   maxminr   r	   popr   r   allr   rollingsumshiftr   namecategory)r   r   r   r   r   r   _lengthhigh_low_rangehl_ema1hl_ema2hl_ratiomassis               U/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/massi.pyr.   r.   
   s]   4 q!Dr"D{d#d/!CO3GD"D
3
 C|s{fF6

8 $D.N>>v>G
5>777G
5> HT488:E
5< {F# 6VH%t4 $q'EJ!ENL    )NNN)numpyr   pandasr   pandas_ta._typingr   r   pandas_ta.overlapr   pandas_ta.utilsr   r	   r
   r   r.   r   r0   r/   <module>r6      sg      + ! M M
 >BC
CC%(C7:CC"*C Cr0   