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