From 6dccab9bfec5ef42dfc7ceb957e4dcbb4805b4dc Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 16 Aug 2025 14:48:18 +0200 Subject: [PATCH] refactor: simplify backtest analysis data loading --- freqtrade/data/btanalysis/__init__.py | 3 --- freqtrade/data/btanalysis/bt_fileutils.py | 21 --------------------- freqtrade/data/entryexitanalysis.py | 12 ++++++------ 3 files changed, 6 insertions(+), 30 deletions(-) diff --git a/freqtrade/data/btanalysis/__init__.py b/freqtrade/data/btanalysis/__init__.py index 1889429f6..2253a45ae 100644 --- a/freqtrade/data/btanalysis/__init__.py +++ b/freqtrade/data/btanalysis/__init__.py @@ -16,10 +16,7 @@ from .bt_fileutils import ( load_backtest_data, load_backtest_metadata, load_backtest_stats, - load_exit_signal_candles, load_file_from_zip, - load_rejected_signals, - load_signal_candles, load_trades, load_trades_from_db, trade_list_to_dataframe, diff --git a/freqtrade/data/btanalysis/bt_fileutils.py b/freqtrade/data/btanalysis/bt_fileutils.py index bbab977b8..5d7a2083c 100644 --- a/freqtrade/data/btanalysis/bt_fileutils.py +++ b/freqtrade/data/btanalysis/bt_fileutils.py @@ -473,27 +473,6 @@ def load_backtest_analysis_data(backtest_dir: Path, name: Literal["signals", "re return None -def load_rejected_signals(backtest_dir: Path): - """ - Load rejected signals from backtest directory - """ - return load_backtest_analysis_data(backtest_dir, "rejected") - - -def load_signal_candles(backtest_dir: Path): - """ - Load signal candles from backtest directory - """ - return load_backtest_analysis_data(backtest_dir, "signals") - - -def load_exit_signal_candles(backtest_dir: Path) -> dict[str, dict[str, pd.DataFrame]]: - """ - Load exit signal candles from backtest directory - """ - return load_backtest_analysis_data(backtest_dir, "exited") - - def trade_list_to_dataframe(trades: list[Trade] | list[LocalTrade]) -> pd.DataFrame: """ Convert list of Trade objects to pandas Dataframe diff --git a/freqtrade/data/entryexitanalysis.py b/freqtrade/data/entryexitanalysis.py index 0a9d5bc44..cbd6aae41 100644 --- a/freqtrade/data/entryexitanalysis.py +++ b/freqtrade/data/entryexitanalysis.py @@ -7,11 +7,9 @@ from freqtrade.configuration import TimeRange from freqtrade.constants import Config from freqtrade.data.btanalysis import ( BT_DATA_COLUMNS, + load_backtest_analysis_data, load_backtest_data, load_backtest_stats, - load_exit_signal_candles, - load_rejected_signals, - load_signal_candles, ) from freqtrade.exceptions import ConfigurationError, OperationalException from freqtrade.util import print_df_rich_table @@ -354,12 +352,14 @@ def process_entry_exit_reasons(config: Config): trades = load_backtest_data(config["exportfilename"], strategy_name) if trades is not None and not trades.empty: - signal_candles = load_signal_candles(config["exportfilename"]) - exit_signals = load_exit_signal_candles(config["exportfilename"]) + signal_candles = load_backtest_analysis_data(config["exportfilename"], "signals") + exit_signals = load_backtest_analysis_data(config["exportfilename"], "exited") rej_df = None if do_rejected: - rejected_signals_dict = load_rejected_signals(config["exportfilename"]) + rejected_signals_dict = load_backtest_analysis_data( + config["exportfilename"], "rejected" + ) rej_df = prepare_results( rejected_signals_dict, strategy_name,