From 972b6991057d00ea1d321403cebf8e2feefa57ff Mon Sep 17 00:00:00 2001 From: Wagner Costa Santos Date: Wed, 7 Sep 2022 11:11:31 -0300 Subject: [PATCH] hyperopt - freqai - change validation to config_validation --- freqtrade/configuration/config_validation.py | 9 +++++++++ freqtrade/configuration/configuration.py | 10 ---------- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/freqtrade/configuration/config_validation.py b/freqtrade/configuration/config_validation.py index ee846e7e6..b37d44d0f 100644 --- a/freqtrade/configuration/config_validation.py +++ b/freqtrade/configuration/config_validation.py @@ -84,6 +84,7 @@ def validate_config_consistency(conf: Dict[str, Any], preliminary: bool = False) _validate_protections(conf) _validate_unlimited_amount(conf) _validate_ask_orderbook(conf) + _validate_freqai_hyperopt(conf) validate_migrated_strategy_settings(conf) # validate configuration before returning @@ -323,6 +324,14 @@ def _validate_pricing_rules(conf: Dict[str, Any]) -> None: del conf['ask_strategy'] +def _validate_freqai_hyperopt(conf: Dict[str, Any]) -> None: + freqaimodel = conf.get('freqaimodel') + analyze_per_epoch = conf.get('analyze_per_epoch', False) + if analyze_per_epoch and freqaimodel is not None: + raise OperationalException( + 'Using analyze-per-epoch parameter is not supported with a FreqAI strategy.') + + def _strategy_settings(conf: Dict[str, Any]) -> None: process_deprecated_setting(conf, None, 'use_sell_signal', None, 'use_exit_signal') diff --git a/freqtrade/configuration/configuration.py b/freqtrade/configuration/configuration.py index d18b67ff2..7c68ac46c 100644 --- a/freqtrade/configuration/configuration.py +++ b/freqtrade/configuration/configuration.py @@ -285,7 +285,6 @@ class Configuration: logger.info('Parameter --stoplosses detected: %s ...', self.args["stoploss_range"]) # Hyperopt section - self._check_hyperopt_analyze_per_epoch_freqai() self._args_to_config(config, argname='hyperopt', logstring='Using Hyperopt class name: {}') @@ -538,12 +537,3 @@ class Configuration: config['pairs'] = load_file(pairs_file) if 'pairs' in config and isinstance(config['pairs'], list): config['pairs'].sort() - - def _check_hyperopt_analyze_per_epoch_freqai(self) -> None: - """ - Helper for block hyperopt with analyze-per-epoch param. - """ - if ("analyze_per_epoch" in self.args and - self.args["analyze_per_epoch"] and "freqaimodel" in self.args): - raise OperationalException('analyze-per-epoch parameter is \ - not allowed with a Freqai strategy.')