From 292ef85d966ba5a956be2c9e8d96a846e4e8bf5f Mon Sep 17 00:00:00 2001 From: Matthias Date: Sun, 31 Dec 2023 12:07:02 +0100 Subject: [PATCH] Add additional, optional arguments to metadata files closes #9517 --- freqtrade/data/btanalysis.py | 6 ++++++ freqtrade/optimize/optimize_reports/optimize_reports.py | 4 ++++ freqtrade/rpc/api_server/api_schemas.py | 4 ++++ 3 files changed, 14 insertions(+) diff --git a/freqtrade/data/btanalysis.py b/freqtrade/data/btanalysis.py index 0cce8717f..b43f64945 100644 --- a/freqtrade/data/btanalysis.py +++ b/freqtrade/data/btanalysis.py @@ -183,7 +183,13 @@ def _extract_backtest_result(filename: Path) -> List[BacktestHistoryEntryType]: 'strategy': s, 'run_id': v['run_id'], 'notes': v.get('notes', ''), + # Backtest "run" time 'backtest_start_time': v['backtest_start_time'], + # Backtest timerange + 'backtest_start_ts': v.get('backtest_start_ts', None), + 'backtest_end_ts': v.get('backtest_end_ts', None), + 'timeframe': v.get('timeframe', None), + 'timeframe_details': v.get('timeframe_details', None), } for s, v in metadata.items() ] diff --git a/freqtrade/optimize/optimize_reports/optimize_reports.py b/freqtrade/optimize/optimize_reports/optimize_reports.py index 2ca6ee947..cb75a1a32 100644 --- a/freqtrade/optimize/optimize_reports/optimize_reports.py +++ b/freqtrade/optimize/optimize_reports/optimize_reports.py @@ -561,6 +561,10 @@ def generate_backtest_stats(btdata: Dict[str, DataFrame], metadata[strategy] = { 'run_id': content['run_id'], 'backtest_start_time': content['backtest_start_time'], + 'timeframe': content['config']['timeframe'], + 'timeframe_detail': content['config'].get('timeframe_detail', None), + 'backtest_start_ts': int(min_date.timestamp()), + 'backtest_end_ts': int(max_date.timestamp()), } result['strategy'][strategy] = strat_stats diff --git a/freqtrade/rpc/api_server/api_schemas.py b/freqtrade/rpc/api_server/api_schemas.py index 770f68a5d..20a614798 100644 --- a/freqtrade/rpc/api_server/api_schemas.py +++ b/freqtrade/rpc/api_server/api_schemas.py @@ -538,6 +538,10 @@ class BacktestHistoryEntry(BaseModel): run_id: str backtest_start_time: int notes: Optional[str] = '' + backtest_start_ts: Optional[int] = None + backtest_end_ts: Optional[int] = None + timeframe: Optional[str] = None + timeframe_detail: Optional[str] = None class BacktestMetadataUpdate(BaseModel):