fix: trades loggés du cycle = seulement les patterns ajoutés ce cycle

cycleTrades inclut tous les trades du scoring run (anciens patterns
re-scorés inclus). On filtre par cyclePatternIds pour ne compter
que les trades issus de patterns ajoutés pendant ce cycle.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OpenSquared
2026-06-19 22:51:04 +02:00
parent fd420d370c
commit 27846a1b63

View File

@@ -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