From 0afd3fc5e15716fb53fb5049faac3271b9c09401 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 10 Aug 2024 17:51:46 +0200 Subject: [PATCH] fix: improved handling for corrupt trades files part of #10515 --- freqtrade/data/history/datahandlers/idatahandler.py | 10 +++++++--- freqtrade/exchange/exchange.py | 2 +- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/freqtrade/data/history/datahandlers/idatahandler.py b/freqtrade/data/history/datahandlers/idatahandler.py index e335ea770..aea7ea14a 100644 --- a/freqtrade/data/history/datahandlers/idatahandler.py +++ b/freqtrade/data/history/datahandlers/idatahandler.py @@ -247,9 +247,13 @@ class IDataHandler(ABC): :param timerange: Timerange to load trades for - currently not implemented :return: List of trades """ - trades = trades_df_remove_duplicates( - self._trades_load(pair, trading_mode, timerange=timerange) - ) + try: + trades = self._trades_load(pair, trading_mode, timerange=timerange) + except Exception: + logger.exception(f"Error loading trades for {pair}") + return DataFrame(columns=DEFAULT_TRADES_COLUMNS) + + trades = trades_df_remove_duplicates(trades) trades = trades_convert_types(trades) return trades diff --git a/freqtrade/exchange/exchange.py b/freqtrade/exchange/exchange.py index c1608e3c1..631f5587d 100644 --- a/freqtrade/exchange/exchange.py +++ b/freqtrade/exchange/exchange.py @@ -546,7 +546,7 @@ class Exchange: else: return self._trades[pair_interval] else: - return DataFrame() + return DataFrame(columns=DEFAULT_TRADES_COLUMNS) def get_contract_size(self, pair: str) -> Optional[float]: if self.trading_mode == TradingMode.FUTURES: