return False
         entry_natr_ratio = self.get_entry_natr_ratio(pair)
         if side == "long":
-            lower_bound = (
-                last_candle_low - last_candle_low * last_candle_natr * entry_natr_ratio
-            )
-            upper_bound = (
-                last_candle_close
-                + last_candle_close * last_candle_natr * entry_natr_ratio
-            )
-            if lower_bound < 0:
-                logger.info(
-                    f"User denied {side} entry for {pair}: calculated lower bound {lower_bound} is below zero"
-                )
-                return False
-            if lower_bound <= rate <= upper_bound:
-                return True
-            else:
-                logger.info(
-                    f"User denied {side} entry for {pair}: rate {rate} outside bounds [{lower_bound}, {upper_bound}]"
-                )
+            lower_bound = last_candle_low * (1 - last_candle_natr * entry_natr_ratio)
+            upper_bound = last_candle_close * (1 + last_candle_natr * entry_natr_ratio)
         elif side == "short":
-            lower_bound = (
-                last_candle_close
-                - last_candle_close * last_candle_natr * entry_natr_ratio
+            lower_bound = last_candle_close * (1 - last_candle_natr * entry_natr_ratio)
+            upper_bound = last_candle_high * (1 + last_candle_natr * entry_natr_ratio)
+        if lower_bound < 0:
+            logger.info(
+                f"User denied {side} entry for {pair}: calculated lower bound {lower_bound} is below zero"
             )
-            upper_bound = (
-                last_candle_high
-                + last_candle_high * last_candle_natr * entry_natr_ratio
+            return False
+        if lower_bound <= rate <= upper_bound:
+            return True
+        else:
+            logger.info(
+                f"User denied {side} entry for {pair}: rate {rate} outside bounds [{lower_bound}, {upper_bound}]"
             )
-            if lower_bound < 0:
-                logger.info(
-                    f"User denied {side} entry for {pair}: calculated lower bound {lower_bound} is below zero"
-                )
-                return False
-            if lower_bound <= rate <= upper_bound:
-                return True
-            else:
-                logger.info(
-                    f"User denied {side} entry for {pair}: rate {rate} outside bounds [{lower_bound}, {upper_bound}]"
-                )
-
         return False
 
     def max_open_trades_per_side(self) -> int: