]> Piment Noir Git Repositories - freqai-strategies.git/commitdiff
fix(qav3): fix cold start
authorJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 13 Mar 2025 18:22:48 +0000 (19:22 +0100)
committerJérôme Benoit <jerome.benoit@piment-noir.org>
Thu, 13 Mar 2025 18:22:48 +0000 (19:22 +0100)
Signed-off-by: Jérôme Benoit <jerome.benoit@piment-noir.org>
quickadapter/user_data/strategies/QuickAdapterV3.py

index c9739f73f321671583022c1533a65d0f051ded26..eea84f80cea4f1d0fe79006cbb8b823784c3d90d 100644 (file)
@@ -265,12 +265,24 @@ class QuickAdapterV3(IStrategy):
         dataframe["%-hour_of_day"] = (dataframe["date"].dt.hour + 1) / 25
         return dataframe
 
-    def set_freqai_targets(self, dataframe, metadata, **kwargs):
+    def get_label_period_candles(self, metadata, **kwargs) -> int:
         pair = str(metadata.get("pair"))
-        label_period_candles = self.__period_params.get(pair, {}).get(
-            "label_period_candles",
-            self.freqai_info["feature_parameters"]["label_period_candles"],
-        )
+        if self.__period_params.get(pair, {}).get("label_period_candles"):
+            label_period_candles = self.__period_params.get(pair, {}).get(
+                "label_period_candles",
+            )
+        else:
+            label_period_candles = self.freqai_info["feature_parameters"][
+                "label_period_candles"
+            ]
+        if label_period_candles < 1:
+            raise ValueError(
+                f"label_period_candles must be greater than 0, got {label_period_candles}"
+            )
+        return label_period_candles
+
+    def set_freqai_targets(self, dataframe, metadata, **kwargs):
+        label_period_candles = self.get_label_period_candles(metadata, **kwargs)
         min_peaks = argrelmin(
             dataframe["low"].values,
             order=label_period_candles,