Commit Graph

6 Commits

Author SHA1 Message Date
mindesbunister
3aa704801e fix: resolve TypeScript errors in version comparison API
- Fixed extremePositionStats type to match actual SQL query fields
- Changed .count to .trades (query returns 'trades' column, not 'count')
- Simplified extreme positions metrics (removed missing avg_adx and weak_adx_count)
- Fixed version comparison fallback from 'v1' to 'unknown'

Technical:
- SQL query only returns: version, trades, wins, total_pnl, avg_quality_score
- Code was trying to access non-existent fields causing TypeScript errors
- Build now succeeds, container deployed
2025-11-14 13:28:08 +01:00
mindesbunister
2cda751dc4 fix: update analytics UI to show TradingView indicator versions correctly
- Changed section title: 'Signal Quality Logic Versions' → 'TradingView Indicator Versions'
- Updated current version marker: v3 → v6
- Added version sorting: v6 first, then v5, then unknown
- Updated description to reflect indicator strategy comparison

Context:
- User clarified: V4 display = v6 data, V1 display = v5 data
- Dashboard now shows indicator versions in proper order
- 154 unknown (pre-tracking), 15 v6 (HalfTrend), 4 v5 (Buy/Sell)
2025-11-14 13:15:30 +01:00
mindesbunister
6e8da10f7d fix: switch version comparison to use indicatorVersion instead of signalQualityVersion
- Changed SQL queries to use indicatorVersion (TradingView strategy versions)
- Updated version descriptions to only show v5/v6/unknown
- v5 = Buy/Sell Signal strategy (pre-Nov 12)
- v6 = HalfTrend + BarColor strategy (Nov 12+)
- unknown = Pre-version-tracking trades

Context:
- User clarified: 'v4 is v6. the version reflects the moneyline version'
- Dashboard should show indicator strategy versions, not scoring logic versions
2025-11-14 13:12:30 +01:00
mindesbunister
08ee899164 feat: update analytics version descriptions
- Added v4 description: 'Frequency penalties + blocked signals tracking (Nov 11-14)'
- Added v5 description: 'Buy/Sell Signal strategy (pre-Nov 12)'
- Added v6 description: 'HalfTrend + BarColor strategy (Nov 12+)'

Context:
- v1-v4 = signalQualityVersion (scoring logic evolution)
- v5-v6 = indicatorVersion (TradingView strategy versions)
- Dashboard will now correctly label both types of versions
2025-11-14 13:07:01 +01:00
mindesbunister
6983f37a59 Fix Prisma Decimal type handling in version comparison API
- Changed numeric fields from typed as number to 'any' in raw query results
- Properly convert Prisma Decimal/BigInt types to JavaScript numbers
- Fixes TypeError: e.totalPnL.toFixed is not a function
- All numeric values (totalPnL, avgPnL, avgADX, etc.) now converted with Number()

Issue: Prisma returns Decimal objects from aggregation queries which don't have
toFixed() method. Frontend expects plain numbers for .toFixed(2) formatting.
2025-11-07 13:11:04 +01:00
mindesbunister
711ff9aaf4 Add signal quality version comparison to analytics dashboard
- Created /api/analytics/version-comparison endpoint
- Shows performance metrics for v1, v2, v3 scoring logic
- Compares: trade count, win rate, P&L, quality scores, MFE/MAE
- Special focus on extreme positions (< 15% or > 85% range)
- Tracks weak ADX count (< 18) for each version
- Visual indicators for current version (v3)
- Data collection progress notice for v3 (need 20+ trades)
- Legend explaining MFE, MAE, extreme positions, weak ADX

Enables data-driven optimization by comparing algorithm performance
with clean, version-tagged datasets.
2025-11-07 13:05:48 +01:00