diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index fc0d52caf..9e6a19de9 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -1678,7 +1678,8 @@ class Exchange: cached_pairs = [] # Gather coroutines to run for pair, timeframe, candle_type in set(pair_list): - if timeframe not in self.timeframes: + if (timeframe not in self.timeframes + and candle_type in (CandleType.SPOT, CandleType.FUTURES)): logger.warning( f"Cannot download ({pair}, {timeframe}) combination as this timeframe is " f"not available on {self.name}. Available timeframes are " diff --git a/tests/exchange/test_exchange.py b/tests/exchange/test_exchange.py index b47c11b80..2f7655258 100644 --- a/tests/exchange/test_exchange.py +++ b/tests/exchange/test_exchange.py @@ -1886,9 +1886,12 @@ def test_refresh_latest_ohlcv(mocker, default_conf, caplog, candle_type) -> None caplog.clear() # Call with invalid timeframe res = exchange.refresh_latest_ohlcv([('IOTA/ETH', '3m', candle_type)], cache=False) - assert not res - assert len(res) == 0 - assert log_has_re(r'Cannot download \(IOTA\/ETH, 3m\).*', caplog) + if candle_type != CandleType.MARK: + assert not res + assert len(res) == 0 + assert log_has_re(r'Cannot download \(IOTA\/ETH, 3m\).*', caplog) + else: + assert len(res) == 1 @pytest.mark.asyncio