From 6c118d1f530eb4f4023d4d564c3d1d412c1f6ae9 Mon Sep 17 00:00:00 2001 From: jgrusewski Date: Sun, 22 Feb 2026 00:14:05 +0100 Subject: [PATCH] feat(web-dashboard): trading, risk, ML, performance, backtesting, config dashboards Phase 5: Trading dashboard with candlestick chart (TradingView lightweight-charts v5), order book, positions table, order form, and orders table with cancel support. Phase 6: Risk dashboard with radial gauges (VaR, position utilization, drawdown), drawdown chart, WebSocket-fed alerts panel, and emergency stop controls. Phase 7: ML dashboard with model cards (DQN/PPO/TFT/Mamba2), ensemble voting panel, regime state indicator, and training job progress tracking. Phase 8: Performance dashboard with metric cards and P&L charts, backtesting dashboard with strategy form and trade list, config dashboard with tabbed category editor and audit log. Co-Authored-By: Claude Opus 4.6 --- .../components/charts/CandlestickChart.tsx | 83 ++++++++++ .../src/components/charts/MetricCard.tsx | 30 ++++ .../src/components/charts/PnLChart.tsx | 61 +++++++ .../src/components/ml/EnsemblePanel.tsx | 103 ++++++++++++ web-dashboard/src/components/ml/ModelCard.tsx | 59 +++++++ .../src/components/ml/TrainingProgress.tsx | 83 ++++++++++ .../src/components/risk/DrawdownChart.tsx | 54 ++++++ .../src/components/risk/EmergencyControls.tsx | 91 +++++++++++ .../src/components/risk/RiskGauge.tsx | 52 ++++++ .../src/components/trading/OrderBook.tsx | 97 +++++++++++ .../src/components/trading/OrderForm.tsx | 149 +++++++++++++++++ .../src/components/trading/OrdersTable.tsx | 107 ++++++++++++ .../src/components/trading/PositionsTable.tsx | 82 ++++++++++ .../src/pages/BacktestingDashboard.tsx | 154 +++++++++++++++++- web-dashboard/src/pages/ConfigDashboard.tsx | 108 +++++++++++- web-dashboard/src/pages/MLDashboard.tsx | 87 ++++++++-- .../src/pages/PerformanceDashboard.tsx | 70 ++++++-- web-dashboard/src/pages/RiskDashboard.tsx | 83 ++++++++-- web-dashboard/src/pages/TradingDashboard.tsx | 49 ++++-- 19 files changed, 1530 insertions(+), 72 deletions(-) create mode 100644 web-dashboard/src/components/charts/CandlestickChart.tsx create mode 100644 web-dashboard/src/components/charts/MetricCard.tsx create mode 100644 web-dashboard/src/components/charts/PnLChart.tsx create mode 100644 web-dashboard/src/components/ml/EnsemblePanel.tsx create mode 100644 web-dashboard/src/components/ml/ModelCard.tsx create mode 100644 web-dashboard/src/components/ml/TrainingProgress.tsx create mode 100644 web-dashboard/src/components/risk/DrawdownChart.tsx create mode 100644 web-dashboard/src/components/risk/EmergencyControls.tsx create mode 100644 web-dashboard/src/components/risk/RiskGauge.tsx create mode 100644 web-dashboard/src/components/trading/OrderBook.tsx create mode 100644 web-dashboard/src/components/trading/OrderForm.tsx create mode 100644 web-dashboard/src/components/trading/OrdersTable.tsx create mode 100644 web-dashboard/src/components/trading/PositionsTable.tsx diff --git a/web-dashboard/src/components/charts/CandlestickChart.tsx b/web-dashboard/src/components/charts/CandlestickChart.tsx new file mode 100644 index 000000000..bc953cb17 --- /dev/null +++ b/web-dashboard/src/components/charts/CandlestickChart.tsx @@ -0,0 +1,83 @@ +import { useEffect, useRef } from 'react'; +import { createChart, CandlestickSeries, type IChartApi, type CandlestickData, type Time } from 'lightweight-charts'; + +interface Props { + symbol: string; + data?: CandlestickData