From 01fbf314057fefdb019e6fab11d506a6902ec994 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 8 Dec 2025 17:15:41 +0100 Subject: [PATCH] chore: don't suggest binance.us supports futures it doesn't. --- freqtrade/exchange/__init__.py | 2 +- freqtrade/exchange/binance.py | 23 +++++++++++++++++++++++ freqtrade/exchange/common.py | 4 ++-- 3 files changed, 26 insertions(+), 3 deletions(-) diff --git a/freqtrade/exchange/__init__.py b/freqtrade/exchange/__init__.py index 667bbfe42..075906e11 100644 --- a/freqtrade/exchange/__init__.py +++ b/freqtrade/exchange/__init__.py @@ -4,7 +4,7 @@ from freqtrade.exchange.common import MAP_EXCHANGE_CHILDCLASS from freqtrade.exchange.exchange import Exchange # isort: on -from freqtrade.exchange.binance import Binance +from freqtrade.exchange.binance import Binance, Binanceus, Binanceusdm from freqtrade.exchange.bingx import Bingx from freqtrade.exchange.bitget import Bitget from freqtrade.exchange.bitmart import Bitmart diff --git a/freqtrade/exchange/binance.py b/freqtrade/exchange/binance.py index b5c6c5d52..7d9c616bb 100644 --- a/freqtrade/exchange/binance.py +++ b/freqtrade/exchange/binance.py @@ -544,3 +544,26 @@ class Binance(Exchange): cache[ft_symbol] = delist_dt return cache.get(pair, None) + + +class Binanceusdm(Binance): + """Binacne USDM Exchange + Same as Binance - only futures trading is supported (via ccxt). + + Not actually necessary, binance should be preferred. + """ + + _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ + (TradingMode.FUTURES, MarginMode.CROSS), + (TradingMode.FUTURES, MarginMode.ISOLATED), + ] + + +class Binanceus(Binance): + """Binance US exchange class. + Minimal adjustment to disable futures trading for the US subsidiary of Binance + """ + + _supported_trading_mode_margin_pairs: list[tuple[TradingMode, MarginMode]] = [ + (TradingMode.SPOT, MarginMode.NONE), + ] diff --git a/freqtrade/exchange/common.py b/freqtrade/exchange/common.py index 650db19b7..628838db2 100644 --- a/freqtrade/exchange/common.py +++ b/freqtrade/exchange/common.py @@ -45,8 +45,6 @@ BAD_EXCHANGES = { } MAP_EXCHANGE_CHILDCLASS = { - "binanceus": "binance", - "binanceusdm": "binance", "okex": "okx", "gateio": "gate", "huboi": "htx", @@ -54,6 +52,8 @@ MAP_EXCHANGE_CHILDCLASS = { SUPPORTED_EXCHANGES = [ "binance", + "binanceus", + "binanceusdm", "bingx", "bitmart", "bitget",