diff --git a/frontend/src/pages/Dashboard.tsx b/frontend/src/pages/Dashboard.tsx index 9d09e79..eaa4a66 100644 --- a/frontend/src/pages/Dashboard.tsx +++ b/frontend/src/pages/Dashboard.tsx @@ -473,9 +473,12 @@ export default function Dashboard() { : elapsed < 1440 ? `${Math.round(elapsed / 60)}h` : `${Math.round(elapsed / 1440)}j` const patternsAdded: number = last?.patterns_added ?? 0 - const tradesLogged: number = cycleTrades.length + // Only count trades whose pattern was added THIS cycle (not older patterns re-scored) + const cyclePatternIds = new Set(cyclePatterns.map((p: any) => p.id)) + const cycleTradesFromNewPatterns = cycleTrades.filter((t: any) => cyclePatternIds.has(t.pattern_id)) + const tradesLogged: number = cycleTradesFromNewPatterns.length const tradesNotLogged: number = Math.max(0, patternsAdded - tradesLogged) - const tradesClosed = cycleTrades.filter((t: any) => t.status === 'closed').length + const tradesClosed = cycleTradesFromNewPatterns.filter((t: any) => t.status === 'closed').length const commentary = last?.commentary ? (() => { try { return typeof last.commentary === 'string' ? JSON.parse(last.commentary) : last.commentary } catch { return null } })() : null