diff --git a/freqtrade/data/history/idatahandler.py b/freqtrade/data/history/idatahandler.py index 19d753043..cbc3f1a34 100644 --- a/freqtrade/data/history/idatahandler.py +++ b/freqtrade/data/history/idatahandler.py @@ -303,7 +303,7 @@ class IDataHandler(ABC): timerange=timerange_startup, candle_type=candle_type ) - if self._check_empty_df(pairdf, pair, timeframe, candle_type, warn_no_data): + if self._check_empty_df(pairdf, pair, timeframe, candle_type, warn_no_data, True): return pairdf else: enddate = pairdf.iloc[-1]['date'] @@ -323,8 +323,9 @@ class IDataHandler(ABC): self._check_empty_df(pairdf, pair, timeframe, candle_type, warn_no_data) return pairdf - def _check_empty_df(self, pairdf: DataFrame, pair: str, timeframe: str, - candle_type: CandleType, warn_no_data: bool): + def _check_empty_df( + self, pairdf: DataFrame, pair: str, timeframe: str, candle_type: CandleType, + warn_no_data: bool, warn_price: bool = False) -> bool: """ Warn on empty dataframe """ @@ -335,7 +336,7 @@ class IDataHandler(ABC): "Use `freqtrade download-data` to download the data" ) return True - else: + elif warn_price: candle_price_gap = 0 if (candle_type in (CandleType.SPOT, CandleType.FUTURES) and not pairdf.empty @@ -346,8 +347,8 @@ class IDataHandler(ABC): if len(gaps): candle_price_gap = max(abs(gaps)) if candle_price_gap > 0.1: - logger.info(f"Price jump in {pair} between two candles of " - f"{candle_price_gap:.2%} detected.") + logger.info(f"Price jump in {pair}, {timeframe}, {candle_type} between two candles " + f"of {candle_price_gap:.2%} detected.") return False diff --git a/tests/data/test_datahandler.py b/tests/data/test_datahandler.py index 4b1f9634c..67eeda7d0 100644 --- a/tests/data/test_datahandler.py +++ b/tests/data/test_datahandler.py @@ -156,7 +156,7 @@ def test_jsondatahandler_ohlcv_load(testdatadir, caplog): def test_datahandler__check_empty_df(testdatadir, caplog): dh = JsonDataHandler(testdatadir) - expected_text = r"Price jump in UNITTEST/USDT between" + expected_text = r"Price jump in UNITTEST/USDT, 1h, spot between" df = DataFrame([ [ 1511686200000, # 8:50:00 @@ -192,7 +192,7 @@ def test_datahandler__check_empty_df(testdatadir, caplog): ] ], columns=['date', 'open', 'high', 'low', 'close', 'volume']) - dh._check_empty_df(df, 'UNITTEST/USDT', '1h', CandleType.SPOT, True) + dh._check_empty_df(df, 'UNITTEST/USDT', '1h', CandleType.SPOT, True, True) assert not log_has_re(expected_text, caplog) df = DataFrame([ [ @@ -229,7 +229,7 @@ def test_datahandler__check_empty_df(testdatadir, caplog): ] ], columns=['date', 'open', 'high', 'low', 'close', 'volume']) - dh._check_empty_df(df, 'UNITTEST/USDT', '1h', CandleType.SPOT, True) + dh._check_empty_df(df, 'UNITTEST/USDT', '1h', CandleType.SPOT, True, True) assert log_has_re(expected_text, caplog)