From 8d86cc1173cb9967a113429747908d977fd5c72f Mon Sep 17 00:00:00 2001 From: Robert Caulk Date: Wed, 1 Oct 2025 16:34:10 +0200 Subject: [PATCH] fix: Allow users to override the exchange check for FreqAI incase they know that they dont need historic data for their system --- build_helpers/schema.json | 5 +++++ freqtrade/config_schema/config_schema.py | 9 +++++++++ freqtrade/exchange/exchange.py | 3 ++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/build_helpers/schema.json b/build_helpers/schema.json index b644bc2f9..08b113d79 100644 --- a/build_helpers/schema.json +++ b/build_helpers/schema.json @@ -1461,6 +1461,11 @@ "type": "boolean", "default": false }, + "override_exchange_check": { + "description": "Override the exchange check to force FreqAI to use exchangesthat may not have enough historic data. Turn this to True if you know your FreqAI model and strategy do not require historical data.", + "type": "boolean", + "default": false + }, "feature_parameters": { "description": "The parameters used to engineer the feature set", "type": "object", diff --git a/freqtrade/config_schema/config_schema.py b/freqtrade/config_schema/config_schema.py index 8274c161b..d694ea3fc 100644 --- a/freqtrade/config_schema/config_schema.py +++ b/freqtrade/config_schema/config_schema.py @@ -1142,6 +1142,15 @@ CONF_SCHEMA = { "type": "boolean", "default": False, }, + "override_exchange_check": { + "description": ( + "Override the exchange check to force FreqAI to use exchanges" + "that may not have enough historic data. Turn this to True if " + "you know your FreqAI model and strategy do not require historical data." + ), + "type": "boolean", + "default": False, + }, "feature_parameters": { "description": "The parameters used to engineer the feature set", "type": "object", diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 57e1352a0..6c6b60928 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -832,7 +832,8 @@ class Exchange: def validate_freqai(self, config: Config) -> None: freqai_enabled = config.get("freqai", {}).get("enabled", False) - if freqai_enabled and not self._ft_has["ohlcv_has_history"]: + override = config.get("freqai", {}).get("override_exchange_checks", False) + if not override and freqai_enabled and not self._ft_has["ohlcv_has_history"]: raise ConfigurationError( f"Historic OHLCV data not available for {self.name}. Can't use freqAI." )