]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
refactor(qav3): refine NATR ratio default value
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 21 May 2025 20:27:34 +0000 (22:27 +0200)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Wed, 21 May 2025 20:27:34 +0000 (22:27 +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
quickadapter/user_data/strategies/Utils.py

index 517e55a7520dc935ecd46c2b53b0d96e20c4f349..2d159c16f36dec54d202247166563ea39633fb79 100644 (file)
       "&s-minima_threshold": -2,
       "&s-maxima_threshold": 2,
       "label_period_candles": 100,
-      "label_natr_ratio": 12,
+      "label_natr_ratio": 6,
       "hp_rmse": -1,
       "train_rmse": -1
     },
index 515e2fc595248e1aa74e25cb19d5130cc93daa2b..278c05938aea4e227825ff2566aa4315caca5c01 100644 (file)
@@ -115,7 +115,9 @@ class QuickAdapterRegressorV3(BaseRegressionModel):
                     "label_period_candles": self.ft_params.get(
                         "label_period_candles", 50
                     ),
-                    "label_natr_ratio": self.ft_params.get("label_natr_ratio", 12.0),
+                    "label_natr_ratio": float(
+                        self.ft_params.get("label_natr_ratio", 6.0)
+                    ),
                 }
             )
         logger.info(
@@ -872,7 +874,7 @@ class TrendDirection(IntEnum):
 def zigzag(
     df: pd.DataFrame,
     natr_period: int = 14,
-    natr_ratio: float = 12.0,
+    natr_ratio: float = 6.0,
     confirmation_window: int = 3,
     initial_depth: int = 12,
 ) -> tuple[list[int], list[float], list[int]]:
index 27dc3665850f5f1bebbe65ce97c05968a9825485..95e2d12bd7939f579657ec30c057bd02c99190e0 100644 (file)
@@ -172,8 +172,10 @@ class QuickAdapterV3(IStrategy):
                     "label_period_candles": self.freqai_info["feature_parameters"].get(
                         "label_period_candles", 50
                     ),
-                    "label_natr_ratio": self.freqai_info["feature_parameters"].get(
-                        "label_natr_ratio", 12.0
+                    "label_natr_ratio": float(
+                        self.freqai_info["feature_parameters"].get(
+                            "label_natr_ratio", 6.0
+                        )
                     ),
                 }
             )
@@ -361,7 +363,9 @@ class QuickAdapterV3(IStrategy):
         label_natr_ratio = self._label_params.get(pair, {}).get("label_natr_ratio")
         if label_natr_ratio:
             return label_natr_ratio
-        return self.freqai_info["feature_parameters"].get("label_natr_ratio", 12.0)
+        return float(
+            self.freqai_info["feature_parameters"].get("label_natr_ratio", 6.0)
+        )
 
     def set_label_natr_ratio(self, pair: str, label_natr_ratio: float):
         if label_natr_ratio and isinstance(label_natr_ratio, float):
index 98e15b8835d599153cdc0c6a817c446e72de5ed9..9400462d1b268804385861ff015fcfb249ae98f1 100644 (file)
@@ -363,7 +363,7 @@ class TrendDirection(IntEnum):
 def zigzag(
     df: pd.DataFrame,
     natr_period: int = 14,
-    natr_ratio: float = 12.0,
+    natr_ratio: float = 6.0,
     confirmation_window: int = 3,
     initial_depth: int = 12,
 ) -> tuple[list[int], list[float], list[int]]: