bottom_change_percent,
zigzag,
ewo,
- non_zero_range,
+ non_zero_diff,
price_retracement_percent,
vwapb,
top_change_percent,
dataframe["bb_upperband"] - dataframe["bb_lowerband"]
) / dataframe["bb_middleband"]
dataframe["%-ibs"] = (dataframe["close"] - dataframe["low"]) / (
- non_zero_range(dataframe["high"], dataframe["low"])
+ non_zero_diff(dataframe["high"], dataframe["low"])
)
dataframe["jaw"], dataframe["teeth"], dataframe["lips"] = alligator(
dataframe, pricemode="median", zero_lag=True
return abs(p1 - p2)
-def non_zero_range(s1: pd.Series, s2: pd.Series) -> pd.Series:
+def non_zero_diff(s1: pd.Series, s2: pd.Series) -> pd.Series:
"""Returns the difference of two series and adds epsilon to any zero values."""
diff = s1 - s2
diff = diff.mask(diff == 0, other=diff + np.finfo(float).eps)
)
return (dataframe["close"] - previous_close_low) / (
- non_zero_range(previous_close_high, previous_close_low)
+ non_zero_diff(previous_close_high, previous_close_low)
)