diff --git a/freqtrade/commands/data_commands.py b/freqtrade/commands/data_commands.py index 0eaf5e563..33069885a 100644 --- a/freqtrade/commands/data_commands.py +++ b/freqtrade/commands/data_commands.py @@ -134,10 +134,10 @@ def start_list_data(args: Dict[str, Any]) -> None: print(tabulate([ (pair, timeframe, candle_type, start.strftime(DATETIME_PRINT_FORMAT), - end.strftime(DATETIME_PRINT_FORMAT)) - for pair, timeframe, candle_type, start, end in sorted( + end.strftime(DATETIME_PRINT_FORMAT), length) + for pair, timeframe, candle_type, start, end, length in sorted( paircombs1, key=lambda x: (x[0], timeframe_to_minutes(x[1]), x[2])) ], - headers=("Pair", "Timeframe", "Type", 'From', 'To'), + headers=("Pair", "Timeframe", "Type", 'From', 'To', 'Candles'), tablefmt='psql', stralign='right')) diff --git a/freqtrade/data/history/idatahandler.py b/freqtrade/data/history/idatahandler.py index 3bfd485b9..47c2dd838 100644 --- a/freqtrade/data/history/idatahandler.py +++ b/freqtrade/data/history/idatahandler.py @@ -94,21 +94,22 @@ class IDataHandler(ABC): """ def ohlcv_data_min_max(self, pair: str, timeframe: str, - candle_type: CandleType) -> Tuple[datetime, datetime]: + candle_type: CandleType) -> Tuple[datetime, datetime, int]: """ Returns the min and max timestamp for the given pair and timeframe. :param pair: Pair to get min/max for :param timeframe: Timeframe to get min/max for :param candle_type: Any of the enum CandleType (must match trading mode!) - :return: (min, max) + :return: (min, max, len) """ - data = self._ohlcv_load(pair, timeframe, None, candle_type) - if data.empty: + df = self._ohlcv_load(pair, timeframe, None, candle_type) + if df.empty: return ( datetime.fromtimestamp(0, tz=timezone.utc), - datetime.fromtimestamp(0, tz=timezone.utc) + datetime.fromtimestamp(0, tz=timezone.utc), + 0, ) - return data.iloc[0]['date'].to_pydatetime(), data.iloc[-1]['date'].to_pydatetime() + return df.iloc[0]['date'].to_pydatetime(), df.iloc[-1]['date'].to_pydatetime(), len(df) @abstractmethod def _ohlcv_load(self, pair: str, timeframe: str, timerange: Optional[TimeRange],