From 44bbfb78379439832a61046b57231b22c8fba67d Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Thu, 13 Mar 2025 19:22:48 +0100 Subject: [PATCH] fix(qav3): fix cold start MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- .../user_data/strategies/QuickAdapterV3.py | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index c9739f7..eea84f8 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -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, -- 2.43.0