From bea67822235b473537a5b82b86113845c2d2f319 Mon Sep 17 00:00:00 2001 From: Matthias Date: Tue, 15 Aug 2023 19:33:01 +0200 Subject: [PATCH] Ensure cutoffs in backtesting are properly tested --- tests/optimize/test_backtesting.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/tests/optimize/test_backtesting.py b/tests/optimize/test_backtesting.py index c6e01f0ad..46a1d5d12 100644 --- a/tests/optimize/test_backtesting.py +++ b/tests/optimize/test_backtesting.py @@ -20,7 +20,7 @@ from freqtrade.data.dataprovider import DataProvider from freqtrade.data.history import get_timerange from freqtrade.enums import CandleType, ExitType, RunMode from freqtrade.exceptions import DependencyException, OperationalException -from freqtrade.exchange.exchange import timeframe_to_next_date +from freqtrade.exchange import timeframe_to_next_date, timeframe_to_prev_date from freqtrade.optimize.backtest_caching import get_backtest_metadata_filename, get_strategy_run_id from freqtrade.optimize.backtesting import Backtesting from freqtrade.persistence import LocalTrade, Trade @@ -1135,6 +1135,12 @@ def test_backtest_dataprovider_analyzed_df(default_conf, fee, mocker, testdatadi assert candle_date == current_time # These asserts don't properly raise as they are nested, # therefore we increment count and assert for that. + df = dp.get_pair_dataframe(pair, backtesting.strategy.timeframe) + prior_time = timeframe_to_prev_date(backtesting.strategy.timeframe, + candle_date - timedelta(seconds=1)) + assert prior_time == df.iloc[-1].squeeze()['date'] + assert df.iloc[-1].squeeze()['date'] < current_time + count += 1 backtesting.strategy.confirm_trade_entry = tmp_confirm_entry