
    Q-j\	                     j    d dl mZ d dlmZ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dededefdZ
y)    )Series)DictLikeInt)non_zero_rangev_offsetv_pos_defaultv_seriesNhighlowclosevolumeopen_lengthoffsetkwargsreturnc                 h   t        |d      }d|v r|d   t        |d         }n|}t        ||      }	t        | |	      } t        ||	      }t        ||	      }t        ||	      }| |||yt	        |      }|t        |      }t        ||      }
nd|z  | |z   z
  }
|
|t        | |      z  z  }
|
j                  ||      j                         |j                  ||      j                         z  }|dk7  r|j                  |      }d|v r|j                  |d   d	       d
| |_
        d|_        |S )aw  Chaikin Money Flow

    This indicator attempts to quantify money flow.

    Sources:
        * [stockcharts](https://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:chaikin_money_flow_cmf)
        * [tradingview](https://www.tradingview.com/wiki/Chaikin_Money_Flow_(CMF))

    Parameters:
        high (Series): ```high``` Series
        low (Series): ```low``` Series
        close (Series): ```close``` Series
        volume (Series): ```volume``` Series
        length (int): The period. Default: ```20```
        offset (int): Post shift. Default: ```0```

    Other Parameters:
        open_ (Series): Optional ```open``` Series. Default: ```None```
        fillna (value): ```pd.DataFrame.fillna(value)```

    Returns:
        (Series): 1 column

    Note:
        Commonly used with Accumulation/Distribution [ad](volume.md/#src.pandas_ta.volume.ad.ad)
       min_periodsN   )r   r   fillnaT)inplaceCMF_r   )r   intmaxr	   r   r   rollingsumshiftr   namecategory)r
   r   r   r   r   r   r   r   r   _lengthadcmfs               b/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/volume/cmf.pyr#   r#      sa   @ 62&F6-#8#D&/0&+&GD'"D
3
 CUG$Efg&F|s{emv~fF E5)Y$*%&>$,
,,B
**V*
5
9
9
;
..[.
9
=
=
?@C {ii 6

6(#T
2 fXCHCLJ    )NNN)pandasr   pandas_ta._typingr   r   pandas_ta.utilsr   r   r   r	   r#    r%   r$   <module>r*      sv     + M M )-G
GG&,G6<GG"%G G #+G 	Gr%   