
    Q-j                     v    d dl mZ 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)pstdev)DictLikeInt)ma)v_mamodev_offsetv_pos_defaultv_seriesNvolumelengthmamodeoffsetkwargsreturnc                 x   t        |d      }t        ||      }t        ||      }t        | |      } | yt        |d      }t	        |      }t        || |      }| |z
  t        | |      z  }|dk7  r|j                  |      }d|v r|j                  |d   d       d	| }	||k(  r|	n|	 d
| |_	        d|_
        |S )a{  Volume Heatmap

    This indicator attempts to quantify volume trend strength of
    specified length.

    Sources:
        * [tradingview](https://www.tradingview.com/script/unWex8N4-Heatmap-Volume-xdecow/)

    Parameters:
        volume (Series): ```volume``` Series
        length (int): The period. Default: ```610```
        std_length (int): Standard devation. Default: ```610```
        mamode (str): Mean MA. See ```help(ta.ma)```. Default: ```"sma"```
        offset (int): Post shift. Default: ```0```

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

    Returns:
        (Series): 1 column

    Note: Signals
        - Extremely Cold: ```vhm <= -0.5```
        -           Cold: ```-0.5 < vhm <= 1.0```
        -         Medium: ```1.0 < vhm <= 2.5```
        -            Hot: ```2.5 < vhm <= 4.0```
        -  Extremely Hot: ```vhm >= 4```
    ib  Nsma)r   r   fillnaT)inplaceVHM__r   )r
   maxr   r   r	   r   r   shiftr   namecategory)
r   r   
std_lengthr   r   r   _lengthmuvhm_propss
             b/Users/jameslopez/projects/TradingBot25/.venv/lib/python3.12/site-packages/pandas_ta/volume/vhm.pyr   r      s    B 63'Fz62J&*%Gfg&F~fe$FfF 
FF6	*BB;&4
4C {ii 6

6(#T
2 F8_F:-vfXQzl3KCHCLJ    )NNNN)pandasr   
statisticsr   pandas_ta._typingr   r   pandas_ta.mar   pandas_ta.utilsr   r	   r
   r   strr    r"   r!   <module>r*      sZ      +   :>*.== #==$'=:B= 
=r"   