feat: Archive old indicator versions, focus on v8 production system

Version Management:
- v8 Money Line: PRODUCTION (8 trades, 57.1% WR, +$262.70, quality ≥95 = 100% wins)
- v5/v6/v7: ARCHIVED (historical baseline for future v9 comparison)

API Changes (app/api/analytics/version-comparison/route.ts):
- Added 'archived' flag to version stats
- Added 'production' field pointing to v8
- Updated sort order: v8 first, then archived versions
- Enhanced descriptions with PRODUCTION/ARCHIVED labels

UI Changes (app/analytics/page.tsx):
- v8 highlighted with blue gradient + 🚀 PRODUCTION badge
- Archived versions greyed out (60% opacity) + ARCHIVED badge
- Updated header: 'Indicator Versions (v8 Production)'
- Data collection notice: v8 shows 8/50 trades progress
- Kept comparison infrastructure for future v9 development

Documentation (.github/copilot-instructions.md):
- Updated Indicator Version Tracking section
- Documented perfect quality separation (≥95 = 100% wins)
- Clarified v8 production status, archived versions purpose
- Analytics UI behavior documented

Purpose: Keep comparison infrastructure for statistical validation
and future v9 testing while focusing user attention on v8 results.
This commit is contained in:
mindesbunister
2025-11-22 14:45:48 +01:00
parent 11d350cebc
commit bba91c1df8
3 changed files with 76 additions and 39 deletions

View File

@@ -76,6 +76,7 @@ interface VersionStats {
avgQualityScore: number | null
avgMFE: number | null
avgMAE: number | null
archived?: boolean
extremePositions: {
count: number
avgADX: number | null
@@ -469,33 +470,54 @@ export default function AnalyticsPage() {
{/* Indicator Version Comparison */}
{versionComparison && versionComparison.versions.length > 0 && (
<div className="mb-8">
<h2 className="text-xl font-bold text-white mb-4"><EFBFBD> TradingView Indicator Versions</h2>
<h2 className="text-xl font-bold text-white mb-4">🎯 Indicator Versions (v8 Production)</h2>
<div className="bg-gray-800/50 backdrop-blur-sm rounded-xl p-6 border border-gray-700">
<p className="text-gray-300 text-sm mb-6 leading-relaxed">
Comparing performance across different TradingView indicator strategies to optimize signal quality.
<strong className="text-blue-400">v8 Money Line</strong> is the production system with perfect quality separation (95 = 100% wins).
Archived versions shown for statistical comparison and future v9 development.
</p>
<div className="space-y-4">
{versionComparison.versions.map((version, idx) => {
const isCurrentVersion = version.version === 'v6'
const isProduction = version.version === 'v8'
const isArchived = version.archived === true
return (
<div
key={version.version}
className={`p-5 rounded-lg border ${isCurrentVersion ? 'bg-blue-900/20 border-blue-500/50' : 'bg-gray-700/30 border-gray-600'}`}
className={`p-5 rounded-lg border transition-all ${
isProduction
? 'bg-blue-900/30 border-blue-500 shadow-lg shadow-blue-500/20'
: isArchived
? 'bg-gray-800/20 border-gray-700 opacity-60'
: 'bg-gray-700/30 border-gray-600'
}`}
>
<div className="flex items-start justify-between mb-4">
<div className="flex-1">
<div className="flex items-center space-x-3 mb-2">
<h3 className={`text-lg font-bold ${isCurrentVersion ? 'text-blue-400' : 'text-white'}`}>
<h3 className={`text-lg font-bold ${
isProduction
? 'text-blue-400'
: isArchived
? 'text-gray-500'
: 'text-white'
}`}>
{version.version.toUpperCase()}
{isCurrentVersion && (
<span className="ml-2 px-2 py-1 text-xs bg-blue-600 text-white rounded-full">
CURRENT
{isProduction && (
<span className="ml-2 px-3 py-1 text-xs bg-blue-600 text-white rounded-full font-bold">
🚀 PRODUCTION
</span>
)}
{isArchived && (
<span className="ml-2 px-2 py-1 text-xs bg-gray-700 text-gray-400 rounded-full">
ARCHIVED
</span>
)}
</h3>
</div>
<p className="text-sm text-gray-400">
<p className={`text-sm ${
isArchived ? 'text-gray-500' : 'text-gray-400'
}`}>
{versionComparison.descriptions[version.version] || 'Unknown version'}
</p>
</div>
@@ -608,15 +630,15 @@ export default function AnalyticsPage() {
</div>
)}
{/* Data Collection Notice for v3 */}
{isCurrentVersion && version.tradeCount < 20 && (
<div className="mt-4 p-3 bg-yellow-900/20 rounded-lg border border-yellow-500/30">
{/* Data Collection Notice for v8 */}
{isProduction && version.tradeCount < 50 && (
<div className="mt-4 p-3 bg-blue-900/20 rounded-lg border border-blue-500/30">
<div className="flex items-start space-x-2">
<span className="text-yellow-500 text-sm">📊</span>
<p className="text-xs text-yellow-300/80 leading-relaxed">
<strong>Data Collection Phase:</strong> Need {20 - version.tradeCount} more trades
before v3 performance can be reliably evaluated. This version is designed to prevent
losses from extreme position entries with weak trends (ADX &lt; 18).
<span className="text-blue-400 text-sm">📊</span>
<p className="text-xs text-blue-300/80 leading-relaxed">
<strong>Data Collection Phase:</strong> {version.tradeCount}/50 trades completed.
v8 has shown perfect quality separation (95 = 100% wins, 90 = 0% wins).
Collecting more data for statistical confidence and future v9 development baseline.
</p>
</div>
</div>