From 99fa0477ab2b1acc3f8fa6bbc07c8a5cf0342eb7 Mon Sep 17 00:00:00 2001 From: ZhijuCen Date: Thu, 25 Jun 2026 03:12:48 +0800 Subject: [PATCH] fix: parse backtest end date from period string with trailing paren MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Period format is "H4 (2024.12.25 - 2026.06.22)" — use regex to extract the date before the closing paren instead of split+strip which fails on the trailing ")". --- skills/mql5/scripts/parse_tester_report.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/skills/mql5/scripts/parse_tester_report.py b/skills/mql5/scripts/parse_tester_report.py index d78e967..d8f490e 100644 --- a/skills/mql5/scripts/parse_tester_report.py +++ b/skills/mql5/scripts/parse_tester_report.py @@ -569,13 +569,14 @@ def analyze_report(report: Report) -> dict: if not trades: return {"error": "No trades found", "trades": []} - # Parse backtest end date from period string (e.g. "2024.01.01 - 2025.06.22") + # Parse backtest end date from period string (e.g. "H4 (2024.01.01 - 2025.06.22)") bt_end = None period = report.settings.period - if " - " in period: + m = re.search(r"(\d{4}\.\d{2}\.\d{2})\s*\)\s*$", period) + if m: try: - bt_end = datetime.strptime(period.split(" - ")[1].strip(), "%Y.%m.%d") - except (ValueError, IndexError): + bt_end = datetime.strptime(m.group(1), "%Y.%m.%d") + except ValueError: pass # Per-trade risk check