]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
perf(qav3): fine tune TP/SL distance scaling over time
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 6 May 2025 20:53:40 +0000 (22:53 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Tue, 6 May 2025 20:53:40 +0000 (22:53 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py
quickadapter/user_data/strategies/QuickAdapterV3.py

index 8629e679675b9d1c55f56d7079087ac9ca78218b..831045951eb12535026be07fd51d20aaf2a9f572 100644 (file)
@@ -45,7 +45,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
     https://github.com/sponsors/robcaulk
     """
 
-    version = "3.7.29"
+    version = "3.7.30"
 
     @cached_property
     def _optuna_config(self) -> dict:
index 88321999863297797cccb641c42e5ee28bc533d0..2aa11b0515440ce2a0f3bb9002b1e5b5af7fb232 100644 (file)
@@ -58,7 +58,7 @@ class QuickAdapterV3(IStrategy):
     INTERFACE_VERSION = 3
 
     def version(self) -> str:
-        return "3.3.23"
+        return "3.3.24"
 
     timeframe = "5m"
 
@@ -369,7 +369,7 @@ class QuickAdapterV3(IStrategy):
         return self.get_label_natr_ratio(pair) * 0.0125
 
     def get_stoploss_natr_ratio(self, pair: str) -> float:
-        return self.get_label_natr_ratio(pair) * 0.675
+        return self.get_label_natr_ratio(pair) * 0.75
 
     def get_take_profit_natr_ratio(self, pair: str) -> float:
         return self.get_label_natr_ratio(pair) * 0.5
@@ -496,7 +496,7 @@ class QuickAdapterV3(IStrategy):
             current_rate
             * current_natr
             * self.get_stoploss_natr_ratio(trade.pair)
-            * (1 / math.log10(1 + 0.25 * trade_duration_candles))
+            * (1 / math.log10(3.75 + 0.25 * trade_duration_candles))
         )
 
     def get_take_profit_distance(self, df: DataFrame, trade: Trade) -> Optional[float]:
@@ -527,7 +527,7 @@ class QuickAdapterV3(IStrategy):
             trade.open_rate
             * take_profit_natr
             * self.get_take_profit_natr_ratio(trade.pair)
-            * math.log10(9 + trade_duration_candles)
+            * math.log10(9.75 + 0.25 * trade_duration_candles)
         )
 
     def custom_stoploss(