diff --git a/freqtrade/data/converter/converter.py b/freqtrade/data/converter/converter.py index e4f905542..9969e382a 100644 --- a/freqtrade/data/converter/converter.py +++ b/freqtrade/data/converter/converter.py @@ -84,7 +84,7 @@ def ohlcv_fill_up_missing_data(dataframe: DataFrame, timeframe: str, pair: str) using the previous close as price for "open", "high" "low" and "close", volume is set to 0 """ - from freqtrade.exchange import timeframe_to_minutes + from freqtrade.exchange import timeframe_to_seconds ohlcv_dict = { 'open': 'first', @@ -93,8 +93,9 @@ def ohlcv_fill_up_missing_data(dataframe: DataFrame, timeframe: str, pair: str) 'close': 'last', 'volume': 'sum' } - timeframe_minutes = timeframe_to_minutes(timeframe) - resample_interval = f'{timeframe_minutes}min' + timeframe_seconds = timeframe_to_seconds(timeframe) + timeframe_minutes = timeframe_seconds // 60 + resample_interval = f'{timeframe_seconds}s' if timeframe_minutes >= 43200 and timeframe_minutes < 525600: # Monthly candles need special treatment to stick to the 1st of the month resample_interval = f'{timeframe}S' diff --git a/tests/data/test_converter.py b/tests/data/test_converter.py index e162b799f..3028d2bfd 100644 --- a/tests/data/test_converter.py +++ b/tests/data/test_converter.py @@ -134,7 +134,7 @@ def test_ohlcv_fill_up_missing_data2(caplog): @pytest.mark.parametrize('timeframe', [ - '1m', '5m', '15m', '1h', '2h', '4h', '8h', '12h', '1d', '7d', '1w', '1M', '3M', '1y' + '1s', '1m', '5m', '15m', '1h', '2h', '4h', '8h', '12h', '1d', '7d', '1w', '1M', '3M', '1y' ]) def test_ohlcv_to_dataframe_multi(timeframe): data = generate_test_data(timeframe, 180) @@ -151,8 +151,8 @@ def test_ohlcv_to_dataframe_multi(timeframe): assert len(df2) == len(data) - 1 tfs = timeframe_to_seconds(timeframe) tfm = timeframe_to_minutes(timeframe) - if tfm < 43200: - # minute based resampling does not work on timefrmaes > 1 week + if 1 <= tfm < 43200: + # minute based resampling does not work on timeframes > 1 week ohlcv_dict = { 'open': 'first', 'high': 'max',