
    i}
                         S SK Jr  S SKJrJrJrJrJr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Jr    SS\S	\S
\S\S\S\S\S\S\S\4S jjrg)    )
float_info)convolvemaximumnanonesrollwhere)Series)DictLikeInt)Imports)v_driftv_offsetv_pos_defaultv_seriesv_talibNhighlowclosevolumelengthtalibdriftoffsetkwargsreturnc           	      t   [        US5      nUS-   n	[        X	5      n [        X5      n[        X)5      n[        X95      nU b	  Ub  Ub  Uc  g[        U5      n
[        U5      n[	        U5      n[
        S   (       a  U
(       a  SSKJn  U" XX#U5      nOUR                  [        U5      pU R                  5       UR                  5       -   UR                  5       -   S-  nXR                  5       -  [        U[        XS9:  SS	5      -  n[        US5      [        U* S5      nn[        UU5      SU [        UU5      SU nnS
U-  UU-   [        R                   -   -  n["        USU& [%        UUR&                  S9nUS:w  a  UR)                  U5      nSU;   a  UR+                  US   SS9  SU 3Ul        SUl        U$ )a  Money Flow Index

This indicator is an oscillator that attempts to quantify buying and
selling pressure.

Sources:
    * [tradingview](https://www.tradingview.com/wiki/Money_Flow_(MFI))

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    close (Series): ```close``` Series
    volume (Series): ```volume``` Series
    length (int): The period. Default: ```14```
    talib (bool): If installed, use TA Lib. Default: ```True```
    drift (int): Difference amount. Default: ```1```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (Series): 1 column

Warning:
    TA-Lib Correlation: ```np.float64(0.9959302104966524)```

Tip:
    Corrective contributions welcome!
      Nr   r   )MFIg      @)shiftg      Y@)indexfillnaT)inplaceMFI_r   )r   r   r   r   r   r   r   r    sizer   to_numpyr	   r   r   r   sfltepsilonr   r
   r#   r!   r$   namecategory)r   r   r   r   r   r   r   r   r   _lengthmode_talr    mfim_onestpsmfposnegavg_gainavg_loss_mfis                         O/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volume/mfi.pyr/   r/      s   H 62&FqjGD"D
3
 CU$Ef&F|s{emv~u~HENEfF wH$UF3::tF|5mmo.1AASH??$$uR$r2G-GB'OO3?GSD!$4S%c51"15xU7KBQ7O( X%84<<%GHWfT- {ii 6

6(#T
2 fXCHCLJ    )NNNN)sysr   r)   numpyr   r   r   r   r   r	   pandasr
   pandas_ta._typingr   r   pandas_ta.mapsr   pandas_ta.utilsr   r   r   r   r   boolr/    r:   r9   <module>rC      s    " ; ;  + "  :>P
PP&,P6<PP#P36P P #+P 	Pr:   