
    i*                         S SK Jr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Jr      SS\S\S\S	\S
\S\S\S\S\S\S\4S jjrg)    )	DataFrameSeries)DictLikeInt)ma)v_boolv_driftv_mamodev_offsetv_pos_defaultv_seriesNhighlowlengthlongshortmamodeasintdriftoffsetkwargsreturnc	                    [        US5      n[        XS-   5      n [        XS-   5      nU b  Uc  g[        US5      n[        US5      n[        US5      n[        US5      n[	        U5      n[        U5      nUR                  U5      U-
  R                  5       n
X R                  U5      -
  R                  5       nU
nUR                  X:  U5      nU R                  Ul	        [        X\US9nXU-  :  nXU-  :  nU(       a*  UR                  [        5      nUR                  [        5      nUS	:w  aD  UR                  U5      nUR                  U5      nUR                  U5      nUR                  U5      nS
U	;   aL  UR                  U	S
   SS9  UR                  U	S
   SS9  UR                  U	S
   SS9  UR                  U	S
   SS9  SU SU SU 3nSU 3Ul        SU 3Ul        SU 3Ul        SU 3Ul        S=Ul        Ul        UR                  =Ul        Ul        UR                  UUR                  UUR                  UUR                  U0n[!        UU R                  S9nSU 3Ul        UR                  Ul        U$ )aC  Elders Thermometer

This indicator, by Dr Alexander Elder, attempts to quantify volatility.

Sources:
    * [motivewave](https://www.motivewave.com/studies/elders_thermometer.htm)
    * [tradingview](https://www.tradingview.com/script/HqvTuEMW-Elder-s-Market-Thermometer-LazyBear/)

Parameters:
    high (Series): ```high``` Series
    low (Series): ```low``` Series
    length (int): The period. Default: ```20```
    long (int): Buy factor. Default: ```2```
    short (float): Sell factor. Default: ```0.5```
    mamode (str): See ```help(ta.ma)```. Default: ```"ema"```
    asint (int): Returns as int. Default: ```True```
    drift (int): Difference amount. Default: ```1```
    offset (int): Post shift. Default: ```0```

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

Returns:
    (DataFrame): 4 columns
      N   g      ?emaT)r   r   fillna)inplace_THERMOTHERMOmaTHERMOlTHERMOs
volatility)index)r   r   r
   r   r	   r   shiftabswherer&   r   astypeintr   namecategoryr   )r   r   r   r   r   r   r   r   r   r   thermoLthermoHthermo	thermo_mathermo_longthermo_short_propsdatadfs                      V/var/www/html/trading/venv/lib/python3.13/site-packages/pandas_ta/volatility/thermo.pyr0   r0      s   @ 62&FD1*%D
3

#C|s{q!D%%Efe$F5$EENEfF yy#%**,Gjj'',,.GF\\'+W5F::FL6&1I,-K./L!((-#**3/ {f%OOF+	!''/#))&1 6fX&5)486(+T:F8,d; $q(F6(#FKx(IN )K!&*L+77FOi(39??BK<0 	V	+<	D 
4tzz	*BvhBG//BKI    )NNNNNNN)pandasr   r   pandas_ta._typingr   r   pandas_ta.mar   pandas_ta.utilsr   r	   r
   r   r   r   strboolr0    r8   r7   <module>r@      s    $ +   .2#'9=	_
__'*_
_ _ _  $_ 47_ 	_ #+	_
 _r8   