diff --git a/freqtrade/optimize/__init__.py b/freqtrade/optimize/__init__.py index 168481920..ab7a6be43 100644 --- a/freqtrade/optimize/__init__.py +++ b/freqtrade/optimize/__init__.py @@ -29,7 +29,7 @@ def trim_tickerlist(tickerlist: List[Dict], timerange: Tuple[Tuple, int, int]) - if stype[0] == 'index': start_index = start elif stype[0] == 'date': - while tickerlist[start_index][0] < start * 1000: + while start_index < len(tickerlist) and tickerlist[start_index][0] < start * 1000: start_index += 1 if stype[1] == 'line': @@ -37,7 +37,7 @@ def trim_tickerlist(tickerlist: List[Dict], timerange: Tuple[Tuple, int, int]) - if stype[1] == 'index': stop_index = stop elif stype[1] == 'date': - while tickerlist[stop_index-1][0] > stop * 1000: + while stop_index > 0 and tickerlist[stop_index-1][0] > stop * 1000: stop_index -= 1 if start_index > stop_index: @@ -100,15 +100,11 @@ def load_data(datadir: str, for pair in _pairs: pairdata = load_tickerdata_file(datadir, pair, ticker_interval, timerange=timerange) - if not pairdata: - # download the tickerdata from exchange - download_backtesting_testdata(datadir, - pair=pair, - tick_interval=ticker_interval, - timerange=timerange) - # and retry reading the pair - pairdata = load_tickerdata_file(datadir, pair, ticker_interval, timerange=timerange) - result[pair] = pairdata + if pairdata: + result[pair] = pairdata + else: + logger.warn('No data for pair %s, use --update-pairs-cached to download the data', pair) + return result