feat: add indicatorVersion tracking to backend

Added indicatorVersion field to track which TradingView indicator version
generated each signal (v5, v6, etc.)

Changes:
- Updated ExecuteTradeRequest interface to include indicatorVersion field
- Added indicatorVersion to both createTrade() calls with default 'v5' fallback
- Field already exists in Prisma schema (indicatorVersion String?)
- Defaults to 'v5' for backward compatibility with old alerts

This enables comparison of indicator performance:
- v5: Original Money Line indicator
- v6: Improved version with 100-bar price position filter

Works alongside existing signalQualityVersion (v4) which tracks backend
scoring algorithm changes. Two separate version fields:
1. indicatorVersion = TradingView Pine Script version (v5/v6)
2. signalQualityVersion = Backend scoring logic version (v4)

Frontend can now filter/compare trades by indicator version in analytics.
This commit is contained in:
mindesbunister
2025-11-12 08:22:06 +01:00
parent abf982d645
commit 2c6295367c

View File

@@ -27,6 +27,7 @@ export interface ExecuteTradeRequest {
rsi?: number
volumeRatio?: number
pricePosition?: number
indicatorVersion?: string // Pine Script version (v5, v6, etc.)
}
export interface ExecuteTradeResponse {
@@ -357,6 +358,7 @@ export async function POST(request: NextRequest): Promise<NextResponse<ExecuteTr
volumeAtEntry: body.volumeRatio,
pricePositionAtEntry: body.pricePosition,
signalQualityScore: qualityResult.score,
indicatorVersion: body.indicatorVersion || 'v5', // Default to v5 for backward compatibility
// Phantom-specific fields
status: 'phantom',
isPhantom: true,
@@ -576,6 +578,7 @@ export async function POST(request: NextRequest): Promise<NextResponse<ExecuteTr
volumeAtEntry: body.volumeRatio,
pricePositionAtEntry: body.pricePosition,
signalQualityScore: qualityResult.score,
indicatorVersion: body.indicatorVersion || 'v5', // Default to v5 for backward compatibility
})
console.log(`💾 Trade saved with quality score: ${qualityResult.score}/100`)