From: Jérôme Benoit Date: Fri, 24 Oct 2025 19:43:10 +0000 (+0200) Subject: fix(reforcexy): load previous best params at hyperopt only if needed X-Git-Url: https://git.piment-noir.org/?a=commitdiff_plain;h=b0cb1389634e8429de6fc25cb4673c2342446125;p=freqai-strategies.git fix(reforcexy): load previous best params at hyperopt only if needed Signed-off-by: Jérôme Benoit --- diff --git a/ReforceXY/user_data/freqaimodels/ReforceXY.py b/ReforceXY/user_data/freqaimodels/ReforceXY.py index 4b3be9a..70abc61 100644 --- a/ReforceXY/user_data/freqaimodels/ReforceXY.py +++ b/ReforceXY/user_data/freqaimodels/ReforceXY.py @@ -295,21 +295,24 @@ class ReforceXY(BaseReinforcementLearningModel): model_reward_parameters = rl_cfg.setdefault("model_reward_parameters", {}) gamma: Optional[float] = None - best_trial_params: Optional[Dict[str, Any]] = None - if self.hyperopt: - best_trial_params = self.load_best_trial_params(pair) if model_params and isinstance(model_params.get("gamma"), (int, float)): gamma = float(model_params.get("gamma")) - elif best_trial_params and isinstance( - best_trial_params.get("gamma"), (int, float) - ): - gamma = float(best_trial_params.get("gamma")) - elif hasattr(self.model, "gamma") and isinstance( - self.model.gamma, (int, float) + elif self.hyperopt: + best_trial_params = self.load_best_trial_params(pair) + if best_trial_params and isinstance( + best_trial_params.get("gamma"), (int, float) + ): + gamma = float(best_trial_params.get("gamma")) + + if ( + gamma is None + and hasattr(self.model, "gamma") + and isinstance(self.model.gamma, (int, float)) ): gamma = float(self.model.gamma) - else: + + if gamma is None: model_params_gamma = self.get_model_params().get("gamma") if isinstance(model_params_gamma, (int, float)): gamma = float(model_params_gamma)