From: Jérôme Benoit Date: Wed, 10 Sep 2025 18:43:05 +0000 (+0200) Subject: refactor(qav3): refine labeling configuration defaults X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=5288e1a775d3a87b5608786418f4081588c13048;p=freqai-strategies.git refactor(qav3): refine labeling configuration defaults Signed-off-by: Jérôme Benoit --- diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index db1ad40..4b96b03 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -1592,9 +1592,8 @@ class MaskableTrialEvalCallback(MaskableEvalCallback): def _on_step(self) -> bool: if self.is_pruned: return False - - if self.eval_freq > 0 and self.n_calls % self.eval_freq == 0: - super()._on_step() + _super_on_step = super()._on_step() + if _super_on_step and self.eval_freq > 0 and self.n_calls % self.eval_freq == 0: self.eval_idx += 1 last_mean_reward = getattr(self, "last_mean_reward", np.nan) if not isinstance(last_mean_reward, (int, float)) or not np.isfinite( diff --git a/quickadapter/user_data/config-template.json b/quickadapter/user_data/config-template.json index 47bfb8d..4cd0b26 100644 --- a/quickadapter/user_data/config-template.json +++ b/quickadapter/user_data/config-template.json @@ -138,7 +138,7 @@ "&s-minima_threshold": -2, "&s-maxima_threshold": 2, "label_period_candles": 24, - "label_natr_ratio": 6.0, + "label_natr_ratio": 7.5, "hp_rmse": -1, "train_rmse": -1 }, diff --git a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py index 271a51d..6ed2413 100644 --- a/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py +++ b/quickadapter/user_data/freqaimodels/QuickAdapterRegressorV3.py @@ -159,7 +159,7 @@ class QuickAdapterRegressorV3(BaseRegressionModel): "label_period_candles", 24 ), "label_natr_ratio": float( - self.ft_params.get("label_natr_ratio", 6.0) + self.ft_params.get("label_natr_ratio", 7.5) ), } ) diff --git a/quickadapter/user_data/strategies/QuickAdapterV3.py b/quickadapter/user_data/strategies/QuickAdapterV3.py index 5007c76..4c8e444 100644 --- a/quickadapter/user_data/strategies/QuickAdapterV3.py +++ b/quickadapter/user_data/strategies/QuickAdapterV3.py @@ -224,7 +224,7 @@ class QuickAdapterV3(IStrategy): ), "label_natr_ratio": float( self.freqai_info["feature_parameters"].get( - "label_natr_ratio", 6.0 + "label_natr_ratio", 7.5 ) ), } @@ -431,7 +431,7 @@ class QuickAdapterV3(IStrategy): if label_natr_ratio and isinstance(label_natr_ratio, float): return label_natr_ratio return float( - self.freqai_info["feature_parameters"].get("label_natr_ratio", 6.0) + self.freqai_info["feature_parameters"].get("label_natr_ratio", 7.5) ) def set_label_natr_ratio(self, pair: str, label_natr_ratio: float) -> None: diff --git a/quickadapter/user_data/strategies/Utils.py b/quickadapter/user_data/strategies/Utils.py index c4f1378..52a0e86 100644 --- a/quickadapter/user_data/strategies/Utils.py +++ b/quickadapter/user_data/strategies/Utils.py @@ -495,7 +495,7 @@ class TrendDirection(IntEnum): def zigzag( df: pd.DataFrame, natr_period: int = 14, - natr_ratio: float = 6.0, + natr_ratio: float = 7.5, ) -> tuple[list[int], list[float], list[TrendDirection], list[float]]: n = len(df) if df.empty or n < natr_period: