From 7bc288066279f34cdf5d41a6e2f187695155f0c7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Wed, 19 Mar 2025 20:49:24 +0100 Subject: [PATCH] fix(qav3): ensure stoploss distance is never zero MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../user_data/strategies/QuickAdapterV3.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index ee237ea..6e97a04 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -44,7 +44,7 @@ class QuickAdapterV3(IStrategy): INTERFACE_VERSION = 3 def version(self) -> str: - return "3.1.9" + return "3.1.10" timeframe = "5m" @@ -404,7 +404,7 @@ class QuickAdapterV3(IStrategy): def get_trade_stoploss_distance(self, df: DataFrame, trade: Trade) -> float: entry_natr = self.get_trade_entry_natr(df, trade) if isna(entry_natr): - return 0.0 + return trade.open_rate * self.trailing_stoploss_positive_offset return trade.open_rate * entry_natr * self.trailing_stoploss_natr_ratio def get_current_stoploss_distance( @@ -412,14 +412,8 @@ class QuickAdapterV3(IStrategy): ) -> float: current_natr = df["natr_ratio_labeling_window"].iloc[-1] if isna(current_natr): - return 0.0 - return ( - max( - current_rate * current_natr, - current_rate * self.trailing_stoploss_positive_offset, - ) - * self.trailing_stoploss_natr_ratio - ) + return current_rate * self.trailing_stoploss_positive_offset + return current_rate * current_natr * self.trailing_stoploss_natr_ratio def get_stoploss_distance( self, df: DataFrame, trade: Trade, current_rate: float -- 2.43.0