Display signal quality score on analytics dashboard
- Add signalQualityScore to LastTrade interface - Display quality score badge in last trade section (0-100) - Color-coded: green (80+), yellow (70-79), orange (60-69) - Shows 'Excellent', 'Good', or 'Marginal' label - Gracefully handles null values (old trades without scores) - Better layout when quality score is present
This commit is contained in:
@@ -43,6 +43,7 @@ interface LastTrade {
|
||||
takeProfit1Price: number
|
||||
takeProfit2Price: number
|
||||
isTestTrade: boolean
|
||||
signalQualityScore?: number
|
||||
}
|
||||
|
||||
interface NetPosition {
|
||||
@@ -280,7 +281,17 @@ export default function AnalyticsPage() {
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{lastTrade.exitTime && lastTrade.exitPrice && (
|
||||
{lastTrade.signalQualityScore !== undefined ? (
|
||||
<div className="bg-gray-700/30 rounded-lg p-4">
|
||||
<div className="text-sm text-gray-400 mb-1">Signal Quality</div>
|
||||
<div className={`text-xl font-bold ${lastTrade.signalQualityScore >= 80 ? 'text-green-400' : lastTrade.signalQualityScore >= 70 ? 'text-yellow-400' : 'text-orange-400'}`}>
|
||||
{lastTrade.signalQualityScore}/100
|
||||
</div>
|
||||
<div className="text-xs text-gray-500">
|
||||
{lastTrade.signalQualityScore >= 80 ? 'Excellent' : lastTrade.signalQualityScore >= 70 ? 'Good' : 'Marginal'}
|
||||
</div>
|
||||
</div>
|
||||
) : lastTrade.exitTime && lastTrade.exitPrice ? (
|
||||
<div className="bg-gray-700/30 rounded-lg p-4">
|
||||
<div className="text-sm text-gray-400 mb-1">Exit</div>
|
||||
<div className="text-xl font-bold text-white">${lastTrade.exitPrice.toFixed(4)}</div>
|
||||
@@ -288,9 +299,21 @@ export default function AnalyticsPage() {
|
||||
{new Date(lastTrade.exitTime).toLocaleString()}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
) : null}
|
||||
</div>
|
||||
|
||||
{lastTrade.exitTime && lastTrade.exitPrice && lastTrade.signalQualityScore !== undefined && (
|
||||
<div className="grid md:grid-cols-1 gap-4 mb-4">
|
||||
<div className="bg-gray-700/30 rounded-lg p-4">
|
||||
<div className="text-sm text-gray-400 mb-1">Exit</div>
|
||||
<div className="text-xl font-bold text-white">${lastTrade.exitPrice.toFixed(4)}</div>
|
||||
<div className="text-xs text-gray-500">
|
||||
{new Date(lastTrade.exitTime).toLocaleString()}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
<div className="grid md:grid-cols-3 gap-4">
|
||||
<div className="bg-gray-700/30 rounded-lg p-3">
|
||||
<div className="text-xs text-gray-400 mb-1">Stop Loss</div>
|
||||
|
||||
Reference in New Issue
Block a user