]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
perf(qav3): fine tune defaults after trade entry logic change
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 30 Jul 2025 10:06:58 +0000 (12:06 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 30 Jul 2025 10:06:58 +0000 (12:06 +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 a0a843f04e976aad3b9805929b7c5149f856e330..13cdb5fd3dc6cb13f5612a4388ce7f17d8aab5f8 100644 (file)
@@ -51,7 +51,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
     https://github.com/sponsors/robcaulk
     """
 
-    version = "3.7.103"
+    version = "3.7.104"
 
     @cached_property
     def _optuna_config(self) -> dict[str, Any]:
@@ -528,7 +528,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
         )
         pred_extrema = pred_df.get(EXTREMA_COLUMN).iloc[-thresholds_candles:]
         thresholds_smoothing = str(
-            self.freqai_info.get("prediction_thresholds_smoothing", "exp_weighted_mean")
+            self.freqai_info.get("prediction_thresholds_smoothing", "mean")
         )
         thresholds_smoothing_methods = {
             "exp_weighted_mean",
@@ -542,7 +542,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
         }
         if thresholds_smoothing == "exp_weighted_mean":
             thresholds_alpha = float(
-                self.freqai_info.get("prediction_thresholds_alpha", 75.0)
+                self.freqai_info.get("prediction_thresholds_alpha", 100.0)
             )
             return QuickAdapterRegressorV3.exp_weighted_mean_min_max(
                 pred_extrema, thresholds_alpha
@@ -639,22 +639,22 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
             "cityblock",
             "correlation",
             "cosine",
-            "dice",
+            "dice",
             "euclidean",
-            "hamming",
-            "jaccard",
+            "hamming",
+            "jaccard",
             "jensenshannon",
-            "kulczynski1",
+            "kulczynski1",
             "mahalanobis",
-            "matching",
+            "matching",
             "minkowski",
-            "rogerstanimoto",
-            "russellrao",
+            "rogerstanimoto",
+            "russellrao",
             "seuclidean",
-            "sokalmichener",
-            "sokalsneath",
+            "sokalmichener",
+            "sokalsneath",
             "sqeuclidean",
-            "yule",
+            "yule",
             "hellinger",
             "shellinger",
             "geometric_mean",
@@ -721,22 +721,22 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
                 "cityblock",
                 "correlation",
                 "cosine",
-                "dice",
+                "dice",
                 "euclidean",
-                "hamming",
-                "jaccard",
+                "hamming",
+                "jaccard",
                 "jensenshannon",
-                "kulczynski1",  # deprecated since version 1.15.0
+                "kulczynski1",  # deprecated since version 1.15.0
                 "mahalanobis",
-                "matching",
+                "matching",
                 "minkowski",
-                "rogerstanimoto",
-                "russellrao",
+                "rogerstanimoto",
+                "russellrao",
                 "seuclidean",
-                "sokalmichener",  # deprecated since version 1.15.0
-                "sokalsneath",
+                "sokalmichener",  # deprecated since version 1.15.0
+                "sokalsneath",
                 "sqeuclidean",
-                "yule",
+                "yule",
             }:
                 cdist_kwargs = {"w": np_weights}
                 if metric in {
index 36c71542f324f84f75279e8aa14fdcb871a00d2f..00bb8a3eb8ed8fe2d36fa4723e9445d05399b6ff 100644 (file)
@@ -65,7 +65,7 @@ class QuickAdapterV3(IStrategy):
     INTERFACE_VERSION = 3
 
     def version(self) -> str:
-        return "3.3.111"
+        return "3.3.112"
 
     timeframe = "5m"
 
@@ -94,9 +94,10 @@ class QuickAdapterV3(IStrategy):
 
     # {stage: (natr_ratio_percent, stake_percent)}
     partial_exit_stages: dict[int, tuple[float, float]] = {
-        0: (0.4, 0.35),
-        1: (0.7, 0.75),
-        2: (0.9, 0.5),
+        0: (0.4167, 0.4167),
+        1: (0.6667, 0.25),
+        2: (0.8333, 0.1667),
+        3: (0.9167, 0.0833),
     }
 
     timeframe_minutes = timeframe_to_minutes(timeframe)