def _run(self): ema1 = ema(self._close, self._n, self._fillna) ema2 = ema(ema1, self._n, self._fillna) ema3 = ema(ema2, self._n, self._fillna) self._trix = (ema3 - ema3.shift( 1, fill_value=ema3.mean())) / ema3.shift(1, fill_value=ema3.mean()) self._trix *= 100
def ema_indicator(self) -> pd.Series: """Exponential Moving Average (EMA) Returns: pandas.Series: New feature generated. """ ema_ = ema(self._close, self._n, self._fillna) return pd.Series(ema_, name=f'ema_{self._n}')
def _run(self): self._emafast = ema(self._close, self._n_fast, self._fillna) self._emaslow = ema(self._close, self._n_slow, self._fillna) self._macd = self._emafast - self._emaslow self._macd_signal = ema(self._macd, self._n_sign, self._fillna) self._macd_diff = self._macd - self._macd_signal
def _run(self): amplitude = self._high - self._low ema1 = ema(amplitude, self._n, self._fillna) ema2 = ema(ema1, self._n, self._fillna) mass = ema1 / ema2 self._mass = mass.rolling(self._n2, min_periods=0).sum()
def _run(self): fi = (self._close - self._close.shift(1)) * self._volume self._fi = ema(fi, self._n, fillna=self._fillna)
def ema_ind(df, n): ema_ = ema(df['c'], n) data = {"EMA_" + str(n): ema_} emadf = pd.DataFrame(data=data) return emadf
def _run(self): _emafast = ema(self._volume, self._n_fast, self._fillna) _emaslow = ema(self._volume, self._n_slow, self._fillna) self._pvo = ((_emafast - _emaslow) / _emaslow) * 100 self._pvo_signal = ema(self._pvo, self._n_sign, self._fillna) self._pvo_hist = self._pvo - self._pvo_signal
def _run(self): _emafast = ema(self._close, self._n_fast, self._fillna) _emaslow = ema(self._close, self._n_slow, self._fillna) self._ppo = ((_emafast - _emaslow) / _emaslow) * 100 self._ppo_signal = ema(self._ppo, self._n_sign, self._fillna) self._ppo_hist = self._ppo - self._ppo_signal