(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