wip
This commit is contained in:
@@ -19,13 +19,72 @@ class DashboardLayoutManager:
|
||||
return html.Div([
|
||||
self._create_header(),
|
||||
self._create_interval_component(),
|
||||
self._create_main_content()
|
||||
self._create_main_content(),
|
||||
self._create_prediction_tracking_section() # NEW: Prediction tracking
|
||||
], className="container-fluid", style={
|
||||
"backgroundColor": "#111827",
|
||||
"minHeight": "100vh",
|
||||
"color": "#f8f9fa"
|
||||
})
|
||||
|
||||
def _create_prediction_tracking_section(self):
|
||||
"""Create prediction tracking and model performance section"""
|
||||
return html.Div([
|
||||
html.Div([
|
||||
html.Div([
|
||||
html.H6([
|
||||
html.I(className="fas fa-brain me-2"),
|
||||
"🧠 Model Predictions & Performance Tracking"
|
||||
], className="text-light mb-3"),
|
||||
|
||||
# Summary cards row
|
||||
html.Div([
|
||||
html.Div([
|
||||
html.Div([
|
||||
html.H6("0", id="total-predictions-count", className="mb-0 text-primary"),
|
||||
html.Small("Total Predictions", className="text-light")
|
||||
], className="card-body text-center p-2 bg-dark")
|
||||
], className="card col-md-3 mx-1 bg-dark border-secondary"),
|
||||
|
||||
html.Div([
|
||||
html.Div([
|
||||
html.H6("0", id="pending-predictions-count", className="mb-0 text-warning"),
|
||||
html.Small("Pending Resolution", className="text-light")
|
||||
], className="card-body text-center p-2 bg-dark")
|
||||
], className="card col-md-3 mx-1 bg-dark border-secondary"),
|
||||
|
||||
html.Div([
|
||||
html.Div([
|
||||
html.H6("0", id="active-models-count", className="mb-0 text-info"),
|
||||
html.Small("Active Models", className="text-light")
|
||||
], className="card-body text-center p-2 bg-dark")
|
||||
], className="card col-md-3 mx-1 bg-dark border-secondary"),
|
||||
|
||||
html.Div([
|
||||
html.Div([
|
||||
html.H6("0.0", id="total-rewards-sum", className="mb-0 text-success"),
|
||||
html.Small("Total Rewards", className="text-light")
|
||||
], className="card-body text-center p-2 bg-dark")
|
||||
], className="card col-md-3 mx-1 bg-dark border-secondary")
|
||||
], className="row mb-3"),
|
||||
|
||||
# Charts row
|
||||
html.Div([
|
||||
html.Div([
|
||||
html.H6("Recent Predictions Timeline", className="mb-2 text-light"),
|
||||
dcc.Graph(id="prediction-timeline-chart", style={"height": "300px"})
|
||||
], className="col-md-6"),
|
||||
|
||||
html.Div([
|
||||
html.H6("Model Performance", className="mb-2 text-light"),
|
||||
dcc.Graph(id="model-performance-chart", style={"height": "300px"})
|
||||
], className="col-md-6")
|
||||
], className="row")
|
||||
|
||||
], className="p-3")
|
||||
], className="card bg-dark border-secondary mb-3")
|
||||
], className="mt-3")
|
||||
|
||||
def _create_header(self):
|
||||
"""Create the dashboard header"""
|
||||
trading_mode = "SIMULATION" if (not self.trading_executor or
|
||||
|
||||
Reference in New Issue
Block a user