diff --git a/freqtrade/exchange/common.py b/freqtrade/exchange/common.py index 99f891836..62221d0cc 100644 --- a/freqtrade/exchange/common.py +++ b/freqtrade/exchange/common.py @@ -92,6 +92,8 @@ EXCHANGE_HAS_OPTIONAL = [ # 'fetchMarketLeverageTiers', # Futures initialization # 'fetchOpenOrder', 'fetchClosedOrder', # replacement for fetchOrder # 'fetchOpenOrders', 'fetchClosedOrders', # 'fetchOrders', # Refinding balance... + # ccxt.pro + 'watchOHLCV' ] diff --git a/freqtrade/exchange/exchange_utils.py b/freqtrade/exchange/exchange_utils.py index dcae1ab3b..89b378c08 100644 --- a/freqtrade/exchange/exchange_utils.py +++ b/freqtrade/exchange/exchange_utils.py @@ -58,7 +58,10 @@ def validate_exchange(exchange: str) -> Tuple[bool, str]: returns: can_use, reason with Reason including both missing and missing_opt """ - ex_mod = getattr(ccxt, exchange.lower())() + try: + ex_mod = getattr(ccxt.pro, exchange.lower())() + except AttributeError: + ex_mod = getattr(ccxt.async_support, exchange.lower())() result = True reason = "" if not ex_mod or not ex_mod.has: