diff --git a/freqtrade/data/history/hdf5datahandler.py b/freqtrade/data/history/hdf5datahandler.py index db96bdf21..23120a4ba 100644 --- a/freqtrade/data/history/hdf5datahandler.py +++ b/freqtrade/data/history/hdf5datahandler.py @@ -206,7 +206,9 @@ class HDF5DataHandler(IDataHandler): @classmethod def _pair_ohlcv_key(cls, pair: str, timeframe: str) -> str: - return f"{pair}/ohlcv/tf_{timeframe}" + # Escape futures pairs to avoid warnings + pair_esc = pair.replace(':', '_') + return f"{pair_esc}/ohlcv/tf_{timeframe}" @classmethod def _pair_trades_key(cls, pair: str) -> str: diff --git a/tests/data/test_history.py b/tests/data/test_history.py index 43a3aaefd..0585fa0d4 100644 --- a/tests/data/test_history.py +++ b/tests/data/test_history.py @@ -683,7 +683,7 @@ def test_datahandler_ohlcv_get_pairs(testdatadir): assert set(pairs) == {'XRP/USDT'} pairs = HDF5DataHandler.ohlcv_get_pairs(testdatadir, '1h', candle_type=CandleType.MARK) - assert set(pairs) == {'UNITTEST/USDT'} + assert set(pairs) == {'UNITTEST/USDT:USDT'} @pytest.mark.parametrize('filename,pair,timeframe,candletype', [ @@ -914,7 +914,7 @@ def test_hdf5datahandler_trades_purge(mocker, testdatadir): # Data goes from 2018-01-10 - 2018-01-30 ('UNITTEST/BTC', '5m', 'spot', '', '2018-01-15', '2018-01-19'), # Mark data goes from to 2021-11-15 2021-11-19 - ('UNITTEST/USDT', '1h', 'mark', '-mark', '2021-11-16', '2021-11-18'), + ('UNITTEST/USDT:USDT', '1h', 'mark', '-mark', '2021-11-16', '2021-11-18'), ]) def test_hdf5datahandler_ohlcv_load_and_resave( testdatadir, diff --git a/tests/test_misc.py b/tests/test_misc.py index d28050dfb..107932be4 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -73,6 +73,8 @@ def test_file_load_json(mocker, testdatadir) -> None: ("ETH/BTC", 'ETH_BTC'), ("ETH/USDT", 'ETH_USDT'), ("ETH/USDT:USDT", 'ETH_USDT_USDT'), # swap with USDT as settlement currency + ("ETH/USD:USD", 'ETH_USD_USD'), # swap with USD as settlement currency + ("AAVE/USD:USD", 'AAVE_USD_USD'), # swap with USDT as settlement currency ("ETH/USDT:USDT-210625", 'ETH_USDT_USDT-210625'), # expiring futures ("Fabric Token/ETH", 'Fabric_Token_ETH'), ("ETHH20", 'ETHH20'), diff --git a/tests/testdata/futures/UNITTEST_USDT-1h-mark.h5 b/tests/testdata/futures/UNITTEST_USDT_USDT-1h-mark.h5 similarity index 51% rename from tests/testdata/futures/UNITTEST_USDT-1h-mark.h5 rename to tests/testdata/futures/UNITTEST_USDT_USDT-1h-mark.h5 index ce17eb9e1..e6b128dc1 100644 Binary files a/tests/testdata/futures/UNITTEST_USDT-1h-mark.h5 and b/tests/testdata/futures/UNITTEST_USDT_USDT-1h-mark.h5 differ