From 1013c323169680700ca57b26eb179986885ea635 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 3 May 2025 09:19:50 +0200 Subject: [PATCH] fix: duplicate generate_optimizer to have a non-delayed alternative --- freqtrade/optimize/hyperopt/hyperopt.py | 2 +- freqtrade/optimize/hyperopt/hyperopt_optimizer.py | 7 ++++--- tests/optimize/test_hyperopt.py | 4 +--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/freqtrade/optimize/hyperopt/hyperopt.py b/freqtrade/optimize/hyperopt/hyperopt.py index a943b734b..2ff574036 100644 --- a/freqtrade/optimize/hyperopt/hyperopt.py +++ b/freqtrade/optimize/hyperopt/hyperopt.py @@ -157,7 +157,7 @@ class Hyperopt: log_queue, logging.INFO if self.config["verbosity"] < 1 else logging.DEBUG ) - return self.hyperopter.generate_optimizer(*args, **kwargs) + return self.hyperopter.generate_optimizer_wrapped(*args, **kwargs) # return parallel(delayed(wrap_non_picklable_objects(optimizer_wrapper))(v) for v in asked) return parallel(optimizer_wrapper(v) for v in asked) diff --git a/freqtrade/optimize/hyperopt/hyperopt_optimizer.py b/freqtrade/optimize/hyperopt/hyperopt_optimizer.py index 7056a247f..6607aef90 100644 --- a/freqtrade/optimize/hyperopt/hyperopt_optimizer.py +++ b/freqtrade/optimize/hyperopt/hyperopt_optimizer.py @@ -237,9 +237,7 @@ class HyperOptimizer: + self.max_open_trades_space ) - def assign_params( - self, params_dict: dict[str, Any], category: str - ) -> None: + def assign_params(self, params_dict: dict[str, Any], category: str) -> None: """ Assign hyperoptable parameters """ @@ -250,6 +248,9 @@ class HyperOptimizer: @delayed @wrap_non_picklable_objects + def generate_optimizer_wrapped(self, raw_params: dict[str, Any]) -> dict[str, Any]: + return self.generate_optimizer(raw_params) + def generate_optimizer(self, raw_params: dict[str, Any]) -> dict[str, Any]: """ Used Optimize function. diff --git a/tests/optimize/test_hyperopt.py b/tests/optimize/test_hyperopt.py index b49bdc046..76825cc03 100644 --- a/tests/optimize/test_hyperopt.py +++ b/tests/optimize/test_hyperopt.py @@ -605,9 +605,7 @@ def test_generate_optimizer(mocker, hyperopt_conf) -> None: hyperopt.hyperopter.min_date = dt_utc(2017, 12, 10) hyperopt.hyperopter.max_date = dt_utc(2017, 12, 13) hyperopt.hyperopter.init_spaces() - generate_optimizer_value = hyperopt.hyperopter.generate_optimizer._obj( - hyperopt.hyperopter, raw_params=optimizer_param - ) + generate_optimizer_value = hyperopt.hyperopter.generate_optimizer(optimizer_param) assert generate_optimizer_value == response_expected