From e540959c27b852bfc2b5f5d07b0584464487cc0c Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 7 Jan 2022 09:06:29 +0100 Subject: [PATCH] Remove btdata from generate_strategy_stats --- freqtrade/optimize/hyperopt.py | 3 ++- freqtrade/optimize/optimize_reports.py | 9 ++++----- tests/optimize/test_hyperopt.py | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/freqtrade/optimize/hyperopt.py b/freqtrade/optimize/hyperopt.py index 58da7d0d5..f98014089 100644 --- a/freqtrade/optimize/hyperopt.py +++ b/freqtrade/optimize/hyperopt.py @@ -76,6 +76,7 @@ class Hyperopt: self.config = config self.backtesting = Backtesting(self.config) + self.pairlist = self.backtesting.pairlists.whitelist if not self.config.get('hyperopt'): self.custom_hyperopt = HyperOptAuto(self.config) @@ -332,7 +333,7 @@ class Hyperopt: params_details = self._get_params_details(params_dict) strat_stats = generate_strategy_stats( - processed, self.backtesting.strategy.get_strategy_name(), + self.pairlist, self.backtesting.strategy.get_strategy_name(), backtesting_results, min_date, max_date, market_change=0 ) results_explanation = HyperoptTools.format_results_explanation_string( diff --git a/freqtrade/optimize/optimize_reports.py b/freqtrade/optimize/optimize_reports.py index 70689ac3b..17d1d8128 100644 --- a/freqtrade/optimize/optimize_reports.py +++ b/freqtrade/optimize/optimize_reports.py @@ -345,14 +345,14 @@ def generate_daily_stats(results: DataFrame) -> Dict[str, Any]: } -def generate_strategy_stats(btdata: Dict[str, DataFrame], +def generate_strategy_stats(pairlist: List[str], strategy: str, content: Dict[str, Any], min_date: datetime, max_date: datetime, market_change: float ) -> Dict[str, Any]: """ - :param btdata: Backtest data + :param pairlist: List of pairs to backtest :param strategy: Strategy name :param content: Backtest result data in the format: {'results: results, 'config: config}}. @@ -365,7 +365,6 @@ def generate_strategy_stats(btdata: Dict[str, DataFrame], if not isinstance(results, DataFrame): return {} config = content['config'] - pairlist = list(btdata.keys()) max_open_trades = min(config['max_open_trades'], len(pairlist)) starting_balance = config['dry_run_wallet'] stake_currency = config['stake_currency'] @@ -512,9 +511,9 @@ def generate_backtest_stats(btdata: Dict[str, DataFrame], """ result: Dict[str, Any] = {'strategy': {}} market_change = calculate_market_change(btdata, 'close') - + pairlist = list(btdata.keys()) for strategy, content in all_results.items(): - strat_stats = generate_strategy_stats(btdata, strategy, content, + strat_stats = generate_strategy_stats(pairlist, strategy, content, min_date, max_date, market_change=market_change) result['strategy'][strategy] = strat_stats diff --git a/tests/optimize/test_hyperopt.py b/tests/optimize/test_hyperopt.py index 8aa1e66f6..ca64d73d5 100644 --- a/tests/optimize/test_hyperopt.py +++ b/tests/optimize/test_hyperopt.py @@ -368,7 +368,7 @@ def test_hyperopt_format_results(hyperopt): 'backtest_start_time': 1619718665, 'backtest_end_time': 1619718665, } - results_metrics = generate_strategy_stats({'XRP/BTC': None}, '', bt_result, + results_metrics = generate_strategy_stats(['XRP/BTC'], '', bt_result, Arrow(2017, 11, 14, 19, 32, 00), Arrow(2017, 12, 14, 19, 32, 00), market_change=0)