diff --git a/freqtrade/exchange/binance.py b/freqtrade/exchange/binance.py index c9ed83b50..1a6bcc18f 100644 --- a/freqtrade/exchange/binance.py +++ b/freqtrade/exchange/binance.py @@ -63,7 +63,7 @@ class Binance(Exchange): } _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ - # TradingMode.SPOT always supported and not required in this list + (TradingMode.SPOT, MarginMode.NONE), # (TradingMode.MARGIN, MarginMode.CROSS), (TradingMode.FUTURES, MarginMode.CROSS), (TradingMode.FUTURES, MarginMode.ISOLATED), diff --git a/freqtrade/exchange/bybit.py b/freqtrade/exchange/bybit.py index dfadee4b1..56aacf31f 100644 --- a/freqtrade/exchange/bybit.py +++ b/freqtrade/exchange/bybit.py @@ -64,9 +64,9 @@ class Bybit(Exchange): } _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ - # TradingMode.SPOT always supported and not required in this list + (TradingMode.SPOT, MarginMode.NONE), + (TradingMode.FUTURES, MarginMode.ISOLATED), # (TradingMode.FUTURES, MarginMode.CROSS), - (TradingMode.FUTURES, MarginMode.ISOLATED) ] @property diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index d1977ca03..daa20a8e5 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -169,7 +169,8 @@ class Exchange: _ft_has_futures: FtHas = {} _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ - # TradingMode.SPOT always supported and not required in this list + # Non-defined exchanges only support spot mode. + (TradingMode.SPOT, MarginMode.NONE), ] def __init__( diff --git a/freqtrade/exchange/exchange_utils.py b/freqtrade/exchange/exchange_utils.py index a400fa123..027044393 100644 --- a/freqtrade/exchange/exchange_utils.py +++ b/freqtrade/exchange/exchange_utils.py @@ -110,7 +110,7 @@ def _build_exchange_list_entry( "trade_modes": [{"trading_mode": "spot", "margin_mode": ""}], } if resolved := exchangeClasses.get(mapped_exchange_name): - supported_modes = [{"trading_mode": "spot", "margin_mode": ""}] + [ + supported_modes = [ {"trading_mode": tm.value, "margin_mode": mm.value} for tm, mm in resolved["class"]._supported_trading_mode_margin_pairs ] diff --git a/freqtrade/exchange/gate.py b/freqtrade/exchange/gate.py index db53fdd84..2bdb2fbc8 100644 --- a/freqtrade/exchange/gate.py +++ b/freqtrade/exchange/gate.py @@ -55,10 +55,10 @@ class Gate(Exchange): } _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ - # TradingMode.SPOT always supported and not required in this list + (TradingMode.SPOT, MarginMode.NONE), # (TradingMode.MARGIN, MarginMode.CROSS), # (TradingMode.FUTURES, MarginMode.CROSS), - (TradingMode.FUTURES, MarginMode.ISOLATED) + (TradingMode.FUTURES, MarginMode.ISOLATED), ] @retrier diff --git a/freqtrade/exchange/hyperliquid.py b/freqtrade/exchange/hyperliquid.py index 033e68a15..a880a60df 100644 --- a/freqtrade/exchange/hyperliquid.py +++ b/freqtrade/exchange/hyperliquid.py @@ -41,7 +41,8 @@ class Hyperliquid(Exchange): } _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ - (TradingMode.FUTURES, MarginMode.ISOLATED) + (TradingMode.SPOT, MarginMode.NONE), + (TradingMode.FUTURES, MarginMode.ISOLATED), ] @property diff --git a/freqtrade/exchange/kraken.py b/freqtrade/exchange/kraken.py index e3158a851..d113aedd8 100644 --- a/freqtrade/exchange/kraken.py +++ b/freqtrade/exchange/kraken.py @@ -35,7 +35,7 @@ class Kraken(Exchange): } _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ - # TradingMode.SPOT always supported and not required in this list + (TradingMode.SPOT, MarginMode.NONE), # (TradingMode.MARGIN, MarginMode.CROSS), # (TradingMode.FUTURES, MarginMode.CROSS) ] diff --git a/freqtrade/exchange/okx.py b/freqtrade/exchange/okx.py index bd25fccea..a30769b51 100644 --- a/freqtrade/exchange/okx.py +++ b/freqtrade/exchange/okx.py @@ -49,7 +49,7 @@ class Okx(Exchange): } _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ - # TradingMode.SPOT always supported and not required in this list + (TradingMode.SPOT, MarginMode.NONE), # (TradingMode.MARGIN, MarginMode.CROSS), # (TradingMode.FUTURES, MarginMode.CROSS), (TradingMode.FUTURES, MarginMode.ISOLATED),