From: Jérôme Benoit Date: Thu, 13 Mar 2025 18:22:48 +0000 (+0100) Subject: fix(qav3): fix cold start X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=44bbfb78379439832a61046b57231b22c8fba67d;p=freqai-strategies.git fix(qav3): fix cold start Signed-off-by: Jérôme Benoit --- 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,