diff --git a/app/analytics/optimization/page.tsx b/app/analytics/optimization/page.tsx index 312b591..3f3b653 100644 --- a/app/analytics/optimization/page.tsx +++ b/app/analytics/optimization/page.tsx @@ -64,6 +64,25 @@ interface TPSLAnalysis { slExits: number manualExits: number } + + dynamicATRAnalysis?: { + available: boolean + sampleSize: number + minSampleSize: number + sufficientData: boolean + avgATRPercent: number + dynamicTP2Percent: number + dynamicSLPercent: number + actualPnL: number + fixedSimulatedPnL: number + dynamicSimulatedPnL: number + dynamicAdvantage: number + dynamicAdvantagePercent: number + dynamicTP2HitRate: number + dynamicSLHitRate: number + recommendation: string + reasoning: string + } } error?: string } @@ -245,6 +264,142 @@ export default function OptimizationPage() { + {/* Dynamic ATR Analysis */} + {data.dynamicATRAnalysis?.available && ( +
+
+

+ 🎯 Dynamic ATR-Based TP/SL Analysis +

+
+ {data.dynamicATRAnalysis.sampleSize}/{data.dynamicATRAnalysis.minSampleSize} trades collected +
+
+ + {/* Progress Bar */} +
+
+ Data Collection Progress + + {((data.dynamicATRAnalysis.sampleSize / data.dynamicATRAnalysis.minSampleSize) * 100).toFixed(1)}% + +
+
+
+
+
+ + {/* Comparison Metrics */} +
+ {/* Left: Current Fixed Targets */} +
+

📌 Fixed Targets (Current)

+
+
+ TP2: + {data.currentLevels.tp2Percent}% +
+
+ SL: + {data.currentLevels.slPercent}% +
+
+
+ Simulated P&L: + + ${data.dynamicATRAnalysis.fixedSimulatedPnL.toFixed(2)} + +
+
+
+
+ + {/* Right: Dynamic ATR Targets */} +
+

âš¡ Dynamic ATR-Based

+
+
+ TP2 (2x ATR): + + {data.dynamicATRAnalysis.dynamicTP2Percent.toFixed(2)}% + +
+
+ SL (1.5x ATR): + + {data.dynamicATRAnalysis.dynamicSLPercent.toFixed(2)}% + +
+
+
+ Simulated P&L: + + ${data.dynamicATRAnalysis.dynamicSimulatedPnL.toFixed(2)} + +
+
+
+
+
+ + {/* Advantage Highlight */} +
= 0 + ? 'bg-green-900/30 border border-green-600' + : 'bg-red-900/30 border border-red-600' + }`}> +
+
+
Dynamic ATR Advantage
+
+ {data.dynamicATRAnalysis.dynamicAdvantage >= 0 ? '+' : ''} + ${data.dynamicATRAnalysis.dynamicAdvantage.toFixed(2)} + + ({data.dynamicATRAnalysis.dynamicAdvantagePercent >= 0 ? '+' : ''} + {data.dynamicATRAnalysis.dynamicAdvantagePercent.toFixed(1)}%) + +
+
+
+
Avg ATR
+
+ {data.dynamicATRAnalysis.avgATRPercent.toFixed(2)}% +
+
+
+
+ + {/* Recommendation */} +
+
+ {data.dynamicATRAnalysis.recommendation} +
+
+ {data.dynamicATRAnalysis.reasoning} +
+
+
+ )} + {/* Recommendations */}

💡 Optimization Recommendations