From 25b20fa0e21b268ff63e15cfed599c29d4353c5c Mon Sep 17 00:00:00 2001 From: cbazza Date: Tue, 27 Jan 2026 12:39:29 +0100 Subject: [PATCH] fix: Handle empty stats in get_daily_summary Added .get() with defaults for total_trades, win_rate, and total_profit to prevent KeyError when no trades have been logged yet. Co-Authored-By: Claude Opus 4.5 --- demo_test_tracker.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/demo_test_tracker.py b/demo_test_tracker.py index 4f6a7df..549d35d 100644 --- a/demo_test_tracker.py +++ b/demo_test_tracker.py @@ -547,11 +547,15 @@ class DemoTestTracker: today_wins = sum(1 for t in today_trades if t['is_win']) today_wr = today_wins / len(today_trades) * 100 if today_trades else 0 + total_trades = stats.get('total_trades', 0) + win_rate = stats.get('win_rate', 0) + total_profit = stats.get('total_profit', 0) + summary = f""" 📊 Daily Summary - {today} ━━━━━━━━━━━━━━━━━━━━━━━━━━━ Today: {len(today_trades)} trades | {today_wins} wins | WR: {today_wr:.0f}% | P/L: ${today_profit:+.2f} -Overall: {stats['total_trades']} trades | WR: {stats['win_rate']*100:.1f}% | Total: ${stats['total_profit']:+.2f} +Overall: {total_trades} trades | WR: {win_rate*100:.1f}% | Total: ${total_profit:+.2f} ━━━━━━━━━━━━━━━━━━━━━━━━━━━ """ return summary