From b24064d7063d6cd6388fe3fbaf8e4a086b40d5e4 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 13 Jul 2025 12:46:50 +0200 Subject: [PATCH] refactor: move default trading mode determination to exchange --- freqtrade/configuration/configuration.py | 8 -------- freqtrade/exchange/exchange.py | 9 ++++++--- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/freqtrade/configuration/configuration.py b/freqtrade/configuration/configuration.py index b9da05d0c..c5e9b56e9 100644 --- a/freqtrade/configuration/configuration.py +++ b/freqtrade/configuration/configuration.py @@ -18,10 +18,7 @@ from freqtrade.constants import Config from freqtrade.enums import ( NON_UTIL_MODES, TRADE_MODES, - CandleType, - MarginMode, RunMode, - TradingMode, ) from freqtrade.exceptions import OperationalException from freqtrade.loggers import setup_logging @@ -397,11 +394,6 @@ class Configuration: self._args_to_config( config, argname="trading_mode", logstring="Detected --trading-mode: {}" ) - config["candle_type_def"] = CandleType.get_default( - config.get("trading_mode", "spot") or "spot" - ) - config["trading_mode"] = TradingMode(config.get("trading_mode", "spot") or "spot") - config["margin_mode"] = MarginMode(config.get("margin_mode", "") or "") self._args_to_config( config, argname="candle_types", logstring="Detected --candle-types: {}" ) diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index 5f4164055..4a0b37602 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -202,14 +202,17 @@ class Exchange: self._config.update(config) # Leverage properties - self.trading_mode: TradingMode = config.get( - "trading_mode", self._supported_trading_mode_margin_pairs[0][0] + self.trading_mode: TradingMode = TradingMode( + config.get("trading_mode", self._supported_trading_mode_margin_pairs[0][0]) ) - self.margin_mode: MarginMode = ( + self.margin_mode: MarginMode = MarginMode( MarginMode(config.get("margin_mode")) if config.get("margin_mode") else self._supported_trading_mode_margin_pairs[0][1] ) + config["trading_mode"] = self.trading_mode + config["margin_mode"] = self.margin_mode + config["candle_type_def"] = CandleType.get_default(self.trading_mode) self.liquidation_buffer = config.get("liquidation_buffer", 0.05) exchange_conf: ExchangeConfig = exchange_config if exchange_config else config["exchange"]