]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
perf(qav3): finer grained NATR periods exploration at pivots optimization
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 17 Jul 2025 15:25:22 +0000 (17:25 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 17 Jul 2025 15:25:22 +0000 (17:25 +0200)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/config-template.json
quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py
quickadapter/user_data/strategies/QuickAdapterV3.py

index d97a6495e6823c7b11bce423e0b7951eff10f8d7..66dec2b818bb804e8f39cd268d3bd739714b5242 100644 (file)
       "n_jobs": 6,
       "n_trials": 36,
       "timeout": 7200,
-      "candles_step": 10,
+      "candles_step": 4,
       "storage": "file"
     },
     "extra_returns_per_train": {
index 12519a5a9c4a31b14e191ab29ca9d87d79065147..d3f719a9dd59d826ddf54136a5cc2bd9e7266736 100644 (file)
@@ -66,7 +66,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
             "n_startup_trials": 15,
             "n_trials": 36,
             "timeout": 7200,
-            "candles_step": 10,
+            "candles_step": 4,
             "expansion_factor": 0.4,
             "seed": 1,
         }
@@ -518,7 +518,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
         label_period_candles: int,
     ) -> tuple[float, float]:
         temperature = float(
-            self.freqai_info.get("prediction_thresholds_temperature", 280.0)
+            self.freqai_info.get("prediction_thresholds_temperature", 300.0)
         )
         extrema = pred_df.get(EXTREMA_COLUMN).iloc[
             -(
@@ -1661,7 +1661,7 @@ def label_objective(
         candles_step,
     )
     max_label_period_candles: int = round_to_nearest_int(
-        max(fit_live_predictions_candles // 2, min_label_period_candles),
+        max(fit_live_predictions_candles // 4, min_label_period_candles),
         candles_step,
     )
     label_period_candles = trial.suggest_int(
@@ -1670,7 +1670,7 @@ def label_objective(
         max_label_period_candles,
         step=candles_step,
     )
-    label_natr_ratio = trial.suggest_float("label_natr_ratio", 2.0, 36.0, step=0.01)
+    label_natr_ratio = trial.suggest_float("label_natr_ratio", 2.0, 38.0, step=0.01)
 
     df = df.iloc[
         -(
index e965da99456b9d2ab41a1e6a1d2ec5d55c427d06..e746495c88aeb9593a29e789b05df705dda0a127 100644 (file)
@@ -86,7 +86,7 @@ class QuickAdapterV3(IStrategy):
         "force_entry": "limit",
         "stoploss": "limit",
         "stoploss_on_exchange": False,
-        "stoploss_on_exchange_interval": 120,
+        "stoploss_on_exchange_interval": 60,
         "stoploss_on_exchange_limit_ratio": 0.99,
     }