diff --git a/freqtrade/data/history/history_utils.py b/freqtrade/data/history/history_utils.py index bdca599c6..d13fa6fca 100644 --- a/freqtrade/data/history/history_utils.py +++ b/freqtrade/data/history/history_utils.py @@ -618,6 +618,11 @@ def download_data_main(config: Config) -> None: # Start downloading try: if config.get("download_trades"): + if not exchange.get_option("trades_has_history", True): + raise OperationalException( + f"Trade history not available for {exchange.name}. " + "You cannot use --dl-trades for this exchange." + ) pairs_not_available = refresh_backtest_trades_data( exchange, pairs=expanded_pairs, diff --git a/tests/data/test_download_data.py b/tests/data/test_download_data.py index 4922a213f..08d56458f 100644 --- a/tests/data/test_download_data.py +++ b/tests/data/test_download_data.py @@ -83,6 +83,12 @@ def test_download_data_main_trades(mocker): assert dl_mock.call_count == 1 assert convert_mock.call_count == 1 + # Exchange that doesn't support historic downloads + config["exchange"]["name"] = "bybit" + with pytest.raises(OperationalException, match=r"Trade history not available for .*"): + config + download_data_main(config) + def test_download_data_main_data_invalid(mocker): patch_exchange(mocker, id="kraken")