thermo#
- thermo(high, low, length=None, long=None, short=None, mamode=None, drift=None, offset=None, **kwargs)[source]#
Elders Thermometer (THERMO)
Elder’s Thermometer measures price volatility.
- Sources:
https://www.motivewave.com/studies/elders_thermometer.htm https://www.tradingview.com/script/HqvTuEMW-Elder-s-Market-Thermometer-LazyBear/
- Calculation:
Default Inputs: length=20, drift=1, mamode=EMA, long=2, short=0.5 EMA = Exponential Moving Average
thermoL = (low.shift(drift) - low).abs() thermoH = (high - high.shift(drift)).abs()
thermo = np.where(thermoH > thermoL, thermoH, thermoL) thermo_ma = ema(thermo, length)
thermo_long = thermo < (thermo_ma * long) thermo_short = thermo > (thermo_ma * short) thermo_long = thermo_long.astype(int) thermo_short = thermo_short.astype(int)
- Args:
high (pd.Series): Series of ‘high’s low (pd.Series): Series of ‘low’s long(int): The buy factor short(float): The sell factor length (int): The period. Default: 20 mamode (str): See
`help(ta.ma)`
. Default: ‘ema’ drift (int): The diff period. Default: 1 offset (int): How many periods to offset the result. Default: 0- Kwargs:
fillna (value, optional): pd.DataFrame.fillna(value) fill_method (value, optional): Type of fill method
- Returns:
pd.DataFrame: thermo, thermo_ma, thermo_long, thermo_short columns.