(qtpylib.crossed_above(dataframe["rsi"], self.buy_rsi.value)) &  # Signal: RSI crosses above buy_rsi
(dataframe["tema"] <= dataframe["bb_middleband"]) &  # Guard: tema below BB middle
(dataframe["tema"] > dataframe["tema"].shift(1)) &  # Guard: tema is raising
