jsonet commited on
Commit
cc5978c
·
verified ·
1 Parent(s): f57badf

Desarrolle e implemente completamente una interfaz de usuario y experiencia UX/UI de vanguardia y futurista de máximo rendimiento, implementando el código en diferentes paginas independientes interconectadas, para la aplicación detallada en los siguientes diagramas, cumpliendo con los siguientes requisitos técnicos y de diseño:

Browse files

1. Implementación de las mejores prácticas de diseño y desarrollo (2025), garantizando compatibilidad total con:
- HTML6
- CSS4
- ECMAScript 2025

2. Diseño futurista y minimalista con alto impacto visual, manteniendo:
- Tiempos de respuesta inferiores a 100ms
- Eficiencia operativa del 99.9%

3. Optimización extrema del rendimiento que asegure:
- 60 FPS constantes en todos los dispositivos
- Tiempo de renderizado menor a 16ms
- Uso de memoria optimizado

4. Código de alta calidad que cumpla con:
- Estándares W3C y WCAG 3.0
- Arquitectura modular con patrones atómicos
- Cobertura de pruebas superior al 90%

5. Experiencia de usuario innovadora que incluya:
- Flujos intuitivos basados en diagramas de flujo UX
- Interacciones coherentes en todos los componentes
- Navegación predictiva con inteligencia contextual

6. Interfaz de última generación con:
- Animaciones fluidas a 60 FPS sincronizadas con el hardware
- Retroalimentación táctil precisa con respuesta háptica
- Transiciones perfectamente sincronizadas entre estados

7. Arquitectura robusta con componentes reutilizables que garanticen:
- Tiempo de carga inicial menor a 1 segundo
- Escalabilidad ilimitada mediante diseño atómico
- Mantenibilidad óptima con documentación completa

Prioridades clave:
- Coherencia visual en todos los breakpoints (desde 320px hasta 8K) con diseño adaptable
- Interacciones fluidas con latencia inferior a 50ms en todas las acciones
- Innovación demostrable en cada componente mediante métricas cuantificables

Métricas requeridas:
- Usabilidad: SUS >85 en pruebas con usuarios reales
- Rendimiento: Lighthouse score >95 en todas las categorías
- Experiencia: NPS >75 en encuestas post-implementación

@startuml TradingSystem_ComponentDiagram
!theme aws-orange
title Sistema de Trading - Diagrama de Componentes

!define RECTANGLE class

package "Frontend Layer" {
[Web Dashboard] as WebUI
[Mobile App] as MobileApp
[Trading Terminal] as Terminal
}

package "API Gateway" {
[FastAPI Gateway] as Gateway
[Authentication] as Auth
[Rate Limiting] as RateLimit
[Load Balancer] as LoadBalancer
}

package "Core Services" {
package "Trading Core" {
[Signal Service] as SignalSvc
[Strategy Service] as StrategySvc
[Indicator Service] as IndicatorSvc
[Market Data Service] as MarketDataSvc
}

package "ML/AI Services" {
[ML Model Service] as MLSvc
[Feature Engineering] as FeatureSvc
[Model Training] as TrainingSvc
[MLflow Tracking] as MLflowSvc
}

package "Integration Services" {
[MetaTrader5 Connector] as MT5Connector
[Data Provider Service] as DataProviderSvc
[Notification Service] as NotificationSvc
[MQTT Service] as MQTTSvc
}
}

package "Data Layer" {
[PostgreSQL] as PostgresDB
[Redis Cache] as RedisCache
[Time Series DB] as TimeSeriesDB
[File Storage] as FileStorage
}

package "External Systems" {
[MetaTrader 5] as MT5
[Alpha Vantage API] as AlphaVantage
[Yahoo Finance] as YahooFinance
[Telegram Bot API] as Telegram
[Email Service] as EmailSvc
}

package "Infrastructure" {
package "Monitoring" {
[Prometheus] as Prometheus
[Grafana] as Grafana
[AlertManager] as AlertManager
[Jaeger Tracing] as Jaeger
}

package "Message Queue" {
[MQTT Broker] as MQTTBroker
[Redis Pub/Sub] as RedisPubSub
}

package "Security" {
[JWT Service] as JWTSvc
[Encryption Service] as EncryptionSvc
[Audit Service] as AuditSvc
}
}

package "DevOps & Deployment" {
[Docker Containers] as Docker
[Kubernetes] as K8s
[CI/CD Pipeline] as CICD
[Backup Service] as BackupSvc
}

' Frontend connections
WebUI --> Gateway : HTTPS/REST
MobileApp --> Gateway : HTTPS/REST
Terminal --> Gateway : HTTPS/REST + WebSocket

' API Gateway connections
Gateway --> Auth : Authentication
Gateway --> RateLimit : Rate Control
LoadBalancer --> Gateway : Load Distribution

' Core Services connections
Gateway --> SignalSvc : REST API
Gateway --> StrategySvc : REST API
Gateway --> IndicatorSvc : REST API
Gateway --> MarketDataSvc : REST API

SignalSvc --> PostgresDB : Signal Data
SignalSvc --> RedisCache : Caching
SignalSvc --> MQTTSvc : Real-time Updates

StrategySvc --> MLSvc : ML Predictions
StrategySvc --> IndicatorSvc : Technical Analysis
StrategySvc --> PostgresDB : Strategy Data

IndicatorSvc --> MarketDataSvc : Market Data
IndicatorSvc --> RedisCache : Indicator Cache
IndicatorSvc --> TimeSeriesDB : Historical Data

MarketDataSvc --> MT5Connector : Live Data
MarketDataSvc --> DataProviderSvc : External Data
MarketDataSvc --> TimeSeriesDB : Storage

' ML Services connections
MLSvc --> FeatureSvc : Feature Preparation
MLSvc --> MLflowSvc : Model Management
MLSvc --> FileStorage : Model Storage
TrainingSvc --> MLflowSvc : Experiment Tracking

' Integration Services connections
MT5Connector --> MT5 : MT5 API
DataProviderSvc --> AlphaVantage : Market Data API
DataProviderSvc --> YahooFinance : Market Data API
NotificationSvc --> Telegram : Notifications
NotificationSvc --> EmailSvc : Email Alerts
MQTTSvc --> MQTTBroker : Message Publishing

' Data Layer connections
PostgresDB --> BackupSvc : Database Backup
RedisCache --> RedisPubSub : Pub/Sub Messaging
TimeSeriesDB --> BackupSvc : Time Series Backup

' Monitoring connections
SignalSvc --> Prometheus : Metrics
StrategySvc --> Prometheus : Metrics
MLSvc --> Prometheus : Metrics
Prometheus --> Grafana : Visualization
Prometheus --> AlertManager : Alerting
Gateway --> Jaeger : Distributed Tracing

' Security connections
Gateway --> JWTSvc : Token Validation
SignalSvc --> AuditSvc : Audit Logging
StrategySvc --> EncryptionSvc : Data Encryption

' Infrastructure connections
Docker --> K8s : Container Orchestration
CICD --> Docker : Container Building
CICD --> K8s : Deployment

' Notes
note right of MLSvc : Utiliza modelos ONNX\npara inferencia rápida
note right of MT5Connector : Conexión directa con\nMetaTrader 5 terminal
note right of MQTTBroker : Comunicación en tiempo real\ncon clientes suscritos
note right of Prometheus : Métricas de rendimiento\ny monitoreo del sistema
note right of PostgresDB : Base de datos principal\ncon replicación

@enduml

---------------------------------------------------------------------------------------------


@startuml TradingSystem_DeploymentDiagram
!theme aws-orange
title Sistema de Trading - Diagrama de Despliegue

!define RECTANGLE node

node "Load Balancer" as LB {
artifact "Nginx" as Nginx
artifact "SSL Termination" as SSL
}

node "Web Servers Cluster" as WebCluster {
node "Web Server 1" as Web1 {
artifact "FastAPI App" as App1
artifact "Gunicorn" as Gunicorn1
}

node "Web Server 2" as Web2 {
artifact "FastAPI App" as App2
artifact "Gunicorn" as Gunicorn2
}

node "Web Server 3" as Web3 {
artifact "FastAPI App" as App3
artifact "Gunicorn" as Gunicorn3
}
}

node "Application Services" as AppServices {
node "ML Service Node" as MLNode {
artifact "ML Model Service" as MLService
artifact "ONNX Runtime" as ONNXRuntime
artifact "Feature Engineering" as FeatureEng
database "Model Storage" as ModelStorage
}

node "Trading Service Node" as TradingNode {
artifact "Signal Service" as SignalService
artifact "Strategy Service" as StrategyService
artifact "Indicator Service" as IndicatorService
}

node "Integration Node" as IntegrationNode {
artifact "MT5 Connector" as MT5Conn
artifact "Data Provider Service" as DataProvider
artifact "MQTT Service" as MQTTService
}
}

node "Database Cluster" as DBCluster {
node "Primary DB" as PrimaryDB {
database "PostgreSQL Primary" as PostgresPrimary
artifact "Connection Pool" as ConnPool1
}

node "Replica DB 1" as ReplicaDB1 {
database "PostgreSQL Replica" as PostgresReplica1
artifact "Connection Pool" as ConnPool2
}

node "Replica DB 2" as ReplicaDB2 {
database "PostgreSQL Replica" as PostgresReplica2
artifact "Connection Pool" as ConnPool3
}
}

node "Cache Cluster" as CacheCluster {
node "Redis Master" as RedisMaster {
database "Redis Primary" as RedisDB1
}

node "Redis Slave 1" as RedisSlave1 {
database "Redis Replica" as RedisDB2
}

node "Redis Slave 2" as RedisSlave2 {
database "Redis Replica" as RedisDB3
}
}

node "Time Series Database" as TSDBNode {
database "InfluxDB" as InfluxDB
artifact "Retention Policies" as RetentionPolicies
}

node "Message Queue" as MQNode {
node "MQTT Broker Cluster" as MQTTCluster {
artifact "MQTT Broker 1" as MQTTBroker1
artifact "MQTT Broker 2" as MQTTBroker2
}

artifact "Redis Pub/Sub" as RedisPubSub
}

node "Monitoring Stack" as MonitoringStack {
node "Metrics Collection" as MetricsNode {
artifact "Prometheus" as Prometheus
database "Metrics Storage" as MetricsDB
}

node "Visualization" as VizNode {
artifact "Grafana" as Grafana
database "Dashboard Config" as DashboardDB
}

node "Alerting" as AlertNode {
artifact "AlertManager" as AlertManager
artifact "Notification Handlers" as NotificationHandlers
}

node "Tracing" as TracingNode {
artifact "Jaeger" as Jaeger
database "Trace Storage" as TraceDB
}

node "Log Aggregation" as LogNode {
artifact "Loki" as Loki
artifact "Promtail" as Promtail
database "Log Storage" as LogDB
}
}

node "External Services" as ExternalServ

Files changed (6) hide show
  1. README.md +7 -4
  2. analytics.html +559 -0
  3. index.html +509 -18
  4. monitoring.html +644 -0
  5. strategies.html +533 -0
  6. trading.html +636 -0
README.md CHANGED
@@ -1,10 +1,13 @@
1
  ---
2
- title: Quantumtrade Nexus 2025
3
- emoji: 📊
4
- colorFrom: gray
5
  colorTo: yellow
 
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
1
  ---
2
+ title: QuantumTrade Nexus 2025
3
+ colorFrom: pink
 
4
  colorTo: yellow
5
+ emoji: 🐳
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite-v3
10
  ---
11
 
12
+ # Welcome to your new DeepSite project!
13
+ This project was created with [DeepSite](https://deepsite.hf.co).
analytics.html ADDED
@@ -0,0 +1,559 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Analytics - QuantumTrade Nexus</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.min.js"></script>
13
+ <script>
14
+ tailwind.config = {
15
+ darkMode: 'class',
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ primary: {
20
+ 50: '#f0f9ff',
21
+ 100: '#e0f2fe',
22
+ 200: '#bae6fd',
23
+ 300: '#7dd3fc',
24
+ 400: '#38bdf8',
25
+ 500: '#0ea5e9',
26
+ 600: '#0284c7',
27
+ 700: '#0369a1',
28
+ 800: '#075985',
29
+ 900: '#0c4a6e',
30
+ },
31
+ secondary: {
32
+ 50: '#fdf4ff',
33
+ 100: '#fae8ff',
34
+ 200: '#f5d0fe',
35
+ 300: '#f0abfc',
36
+ 400: '#e879f9',
37
+ 500: '#d946ef',
38
+ 600: '#c026d3',
39
+ 700: '#a21caf',
40
+ 800: '#86198f',
41
+ 900: '#701a75',
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ </script>
48
+ <style>
49
+ .glass-effect {
50
+ background: rgba(255, 255, 255, 0.05);
51
+ backdrop-filter: blur(20px);
52
+ border: 1px solid rgba(255, 255, 255, 0.1);
53
+ }
54
+
55
+ .analytics-grid {
56
+ display: grid;
57
+ gap: 1.5rem;
58
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
59
+ }
60
+
61
+ .performance-metric {
62
+ transition: all 0.3s ease;
63
+ }
64
+
65
+ .performance-metric:hover {
66
+ transform: translateY(-5px);
67
+ }
68
+
69
+ .sparkline {
70
+ stroke: #0ea5e9;
71
+ stroke-width: 2;
72
+ fill: none;
73
+ }
74
+ </style>
75
+ </head>
76
+ <body class="bg-gray-900 text-white min-h-screen">
77
+ <!-- Navigation -->
78
+ <nav class="glass-effect border-b border-gray-800 sticky top-0 z-50">
79
+ <div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8">
80
+ <div class="flex justify-between items-center h-16">
81
+ <div class="flex items-center space-x-3">
82
+ <a href="index.html" class="flex items-center space-x-3">
83
+ <div class="w-10 h-10 bg-gradient-to-br from-primary-500 to-secondary-500 rounded-lg flex items-center justify-center">
84
+ <i data-feather="trending-up" class="w-6 h-6"></i>
85
+ </div>
86
+ <span class="text-xl font-bold bg-gradient-to-r from-primary-500 to-secondary-500 bg-clip-text text-transparent">QuantumTrade</span>
87
+ </a>
88
+ </div>
89
+
90
+ <div class="hidden md:flex items-center space-x-8">
91
+ <a href="index.html" class="text-gray-300 hover:text-white transition-colors duration-200">Dashboard</a>
92
+ <a href="trading.html" class="text-gray-300 hover:text-white transition-colors duration-200">Trading</a>
93
+ <a href="analytics.html" class="text-primary-400 hover:text-primary-300 transition-colors duration-200 font-medium">Analytics</a>
94
+ <a href="strategies.html" class="text-gray-300 hover:text-white transition-colors duration-200">Strategies</a>
95
+ <a href="monitoring.html" class="text-gray-300 hover:text-white transition-colors duration-200">Monitoring</a>
96
+ </div>
97
+
98
+ <div class="flex items-center space-x-4">
99
+ <div class="hidden md:flex items-center space-x-2 text-sm">
100
+ <span class="text-gray-400">Analytics</span>
101
+ <div class="w-2 h-2 bg-blue-500 rounded-full animate-pulse"></div>
102
+ </div>
103
+ <button class="p-2 rounded-lg glass-effect hover:bg-gray-800 transition-colors duration-200">
104
+ <i data-feather="settings" class="w-5 h-5"></i>
105
+ </button>
106
+ </div>
107
+ </div>
108
+ </div>
109
+ </nav>
110
+
111
+ <!-- Analytics Dashboard -->
112
+ <main class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
113
+ <!-- Header -->
114
+ <div class="mb-8">
115
+ <h1 class="text-4xl font-bold mb-2">Advanced Analytics</h1>
116
+ <p class="text-gray-400">Real-time performance metrics, predictive analytics, and trading insights</p>
117
+ </div>
118
+
119
+ <!-- Performance Overview -->
120
+ <div class="grid grid-cols-1 lg:grid-cols-4 gap-6 mb-8">
121
+ <div class="glass-effect rounded-2xl p-6 performance-metric">
122
+ <div class="flex items-center justify-between mb-4">
123
+ <h3 class="text-lg font-semibold">Total Return</h3>
124
+ <i data-feather="dollar-sign" class="w-6 h-6 text-green-500"></i>
125
+ </div>
126
+ <div class="text-3xl font-bold text-green-500 mb-2">+28.7%</div>
127
+ <div class="text-sm text-gray-400">YTD Performance</div>
128
+ <div class="mt-4">
129
+ <canvas id="return-chart" height="60"></canvas>
130
+ </div>
131
+ </div>
132
+
133
+ <div class="glass-effect rounded-2xl p-6 performance-metric">
134
+ <div class="flex items-center justify-between mb-4">
135
+ <h3 class="text-lg font-semibold">Win Rate</h3>
136
+ <i data-feather="target" class="w-6 h-6 text-blue-500"></i>
137
+ </div>
138
+ <div class="text-3xl font-bold text-blue-500 mb-2">76.3%</div>
139
+ <div class="text-sm text-gray-400">Successful Trades</div>
140
+ <div class="mt-4">
141
+ <canvas id="winrate-chart" height="60"></canvas>
142
+ </div>
143
+ </div>
144
+
145
+ <div class="glass-effect rounded-2xl p-6 performance-metric">
146
+ <div class="flex items-center justify-between mb-4">
147
+ <h3 class="text-lg font-semibold">Sharpe Ratio</h3>
148
+ <i data-feather="trending-up" class="w-6 h-6 text-purple-500"></i>
149
+ </div>
150
+ <div class="text-3xl font-bold text-purple-500 mb-2">2.14</div>
151
+ <div class="text-sm text-gray-400">Risk-Adjusted Return</div>
152
+ <div class="mt-4">
153
+ <canvas id="sharpe-chart" height="60"></canvas>
154
+ </div>
155
+ </div>
156
+
157
+ <div class="glass-effect rounded-2xl p-6 performance-metric">
158
+ <div class="flex items-center justify-between mb-4">
159
+ <h3 class="text-lg font-semibold">Max Drawdown</h3>
160
+ <i data-feather="activity" class="w-6 h-6 text-yellow-500"></i>
161
+ </div>
162
+ <div class="text-3xl font-bold text-yellow-500 mb-2">-4.2%</div>
163
+ <div class="text-sm text-gray-400">Peak to Trough</div>
164
+ <div class="mt-4">
165
+ <canvas id="drawdown-chart" height="60"></canvas>
166
+ </div>
167
+ </div>
168
+ </div>
169
+
170
+ <!-- Main Charts Grid -->
171
+ <div class="grid grid-cols-1 xl:grid-cols-2 gap-8 mb-8">
172
+ <!-- Equity Curve -->
173
+ <div class="glass-effect rounded-2xl p-6">
174
+ <div class="flex justify-between items-center mb-6">
175
+ <h3 class="text-xl font-semibold">Equity Curve</h3>
176
+ <div class="flex space-x-2">
177
+ <button class="px-3 py-1 rounded-lg bg-primary-500 hover:bg-primary-600 transition-colors text-sm">1M</button>
178
+ <button class="px-3 py-1 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors text-sm">3M</button>
179
+ <button class="px-3 py-1 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors text-sm">1Y</button>
180
+ <button class="px-3 py-1 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors text-sm">All</button>
181
+ </div>
182
+ </div>
183
+ <div class="h-80">
184
+ <canvas id="equity-chart"></canvas>
185
+ </div>
186
+ </div>
187
+
188
+ <!-- Portfolio Allocation -->
189
+ <div class="glass-effect rounded-2xl p-6">
190
+ <div class="flex justify-between items-center mb-6">
191
+ <h3 class="text-xl font-semibold">Portfolio Allocation</h3>
192
+ <div class="flex space-x-2">
193
+ <button class="px-3 py-1 rounded-lg bg-primary-500 hover:bg-primary-600 transition-colors text-sm">By Asset</button>
194
+ <button class="px-3 py-1 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors text-sm">By Strategy</button>
195
+ </div>
196
+ </div>
197
+ <div class="h-80">
198
+ <canvas id="allocation-chart"></canvas>
199
+ </div>
200
+ </div>
201
+ </div>
202
+
203
+ <!-- Detailed Analytics -->
204
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-8 mb-8">
205
+ <!-- Trade Distribution -->
206
+ <div class="glass-effect rounded-2xl p-6 lg:col-span-2">
207
+ <h3 class="text-xl font-semibold mb-6">Trade Distribution Analysis</h3>
208
+ <div class="h-64">
209
+ <canvas id="distribution-chart"></canvas>
210
+ </div>
211
+ </div>
212
+
213
+ <!-- Performance Metrics -->
214
+ <div class="glass-effect rounded-2xl p-6">
215
+ <h3 class="text-xl font-semibold mb-6">Key Metrics</h3>
216
+ <div class="space-y-6">
217
+ <div>
218
+ <div class="flex justify-between items-center mb-2">
219
+ <span class="text-gray-400">Profit Factor</span>
220
+ <span class="font-semibold">2.8</span>
221
+ </div>
222
+ <div class="w-full bg-gray-700 rounded-full h-2">
223
+ <div class="bg-green-500 h-2 rounded-full" style="width: 80%"></div>
224
+ </div>
225
+ </div>
226
+ <div>
227
+ <div class="flex justify-between items-center mb-2">
228
+ <span class="text-gray-400">Avg Trade Duration</span>
229
+ <span class="font-semibold">2.3h</span>
230
+ </div>
231
+ <div class="w-full bg-gray-700 rounded-full h-2">
232
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 45%"></div>
233
+ </div>
234
+ </div>
235
+ <div>
236
+ <div class="flex justify-between items-center mb-2">
237
+ <span class="text-gray-400">Volatility</span>
238
+ <span class="font-semibold">12.4%</span>
239
+ </div>
240
+ <div class="w-full bg-gray-700 rounded-full h-2">
241
+ <div class="bg-yellow-500 h-2 rounded-full" style="width: 62%"></div>
242
+ </div>
243
+ </div>
244
+ <div>
245
+ <div class="flex justify-between items-center mb-2">
246
+ <span class="text-gray-400">Calmar Ratio</span>
247
+ <span class="font-semibold">3.1</span>
248
+ </div>
249
+ <div class="w-full bg-gray-700 rounded-full h-2">
250
+ <div class="bg-purple-500 h-2 rounded-full" style="width: 78%"></div>
251
+ </div>
252
+ </div>
253
+ <div>
254
+ <div class="flex justify-between items-center mb-2">
255
+ <span class="text-gray-400">Sortino Ratio</span>
256
+ <span class="font-semibold">2.9</span>
257
+ </div>
258
+ <div class="w-full bg-gray-700 rounded-full h-2">
259
+ <div class="bg-red-500 h-2 rounded-full" style="width: 72%"></div>
260
+ </div>
261
+ </div>
262
+ </div>
263
+ </div>
264
+ </div>
265
+
266
+ <!-- Strategy Performance -->
267
+ <div class="glass-effect rounded-2xl p-6 mb-8">
268
+ <h3 class="text-xl font-semibold mb-6">Strategy Performance Comparison</h3>
269
+ <div class="overflow-x-auto">
270
+ <table class="w-full">
271
+ <thead class="bg-gray-800">
272
+ <tr>
273
+ <th class="px-6 py-3 text-left text-sm font-semibold">Strategy</th>
274
+ <th class="px-6 py-3 text-left text-sm font-semibold">Return</th>
275
+ <th class="px-6 py-3 text-left text-sm font-semibold">Win Rate</th>
276
+ <th class="px-6 py-3 text-left text-sm font-semibold">Sharpe</th>
277
+ <th class="px-6 py-3 text-left text-sm font-semibold">Max DD</th>
278
+ <th class="px-6 py-3 text-left text-sm font-semibold">Status</th>
279
+ </tr>
280
+ </thead>
281
+ <tbody class="divide-y divide-gray-700">
282
+ <tr class="hover:bg-gray-800 transition-colors">
283
+ <td class="px-6 py-4">
284
+ <div class="flex items-center">
285
+ <div class="w-3 h-3 bg-green-500 rounded-full mr-3"></div>
286
+ Momentum Scalper
287
+ </div>
288
+ </td>
289
+ <td class="px-6 py-4 font-semibold text-green-500">+15.2%</td>
290
+ <td class="px-6 py-4">74.8%</td>
291
+ <td class="px-6 py-4">1.89</td>
292
+ <td class="px-6 py-4 text-red-500">-3.2%</td>
293
+ <td class="px-6 py-4">
294
+ <span class="px-3 py-1 rounded-full text-sm bg-green-500/20 text-green-500">Active</span>
295
+ </td>
296
+ </tr>
297
+ <tr class="hover:bg-gray-800 transition-colors">
298
+ <td class="px-6 py-4">
299
+ <div class="flex items-center">
300
+ <div class="w-3 h-3 bg-blue-500 rounded-full mr-3"></div>
301
+ Mean Reversion
302
+ </div>
303
+ </td>
304
+ <td class="px-6 py-4 font-semibold text-green-500">+9.7%</td>
305
+ <td class="px-6 py-4">68.3%</td>
306
+ <td class="px-6 py-4">1.45</td>
307
+ <td class="px-6 py-4 text-red-500">-5.1%</td>
308
+ <td class="px-6 py-4">
309
+ <span class="px-3 py-1 rounded-full text-sm bg-green-500/20 text-green-500">Active</span>
310
+ </td>
311
+ </tr>
312
+ <tr class="hover:bg-gray-800 transition-colors">
313
+ <td class="px-6 py-4">
314
+ <div class="flex items-center">
315
+ <div class="w-3 h-3 bg-purple-500 rounded-full mr-3"></div>
316
+ ML Trend Follower
317
+ </div>
318
+ </td>
319
+ <td class="px-6 py-4 font-semibold text-green-500">+22.4%</td>
320
+ <td class="px-6 py-4">81.2%</td>
321
+ <td class="px-6 py-4">2.34</td>
322
+ <td class="px-6 py-4 text-red-500">-2.8%</td>
323
+ <td class="px-6 py-4">
324
+ <span class="px-3 py-1 rounded-full text-sm bg-green-500/20 text-green-500">Active</span>
325
+ </td>
326
+ </tr>
327
+ <tr class="hover:bg-gray-800 transition-colors">
328
+ <td class="px-6 py-4">
329
+ <div class="flex items-center">
330
+ <div class="w-3 h-3 bg-yellow-500 rounded-full mr-3"></div>
331
+ Arbitrage Bot
332
+ </div>
333
+ </td>
334
+ <td class="px-6 py-4 font-semibold text-green-500">+5.3%</td>
335
+ <td class="px-6 py-4">92.1%</td>
336
+ <td class="px-6 py-4">0.87</td>
337
+ <td class="px-6 py-4 text-red-500">-1.2%</td>
338
+ <td class="px-6 py-4">
339
+ <span class="px-3 py-1 rounded-full text-sm bg-yellow-500/20 text-yellow-500">Testing</span>
340
+ </td>
341
+ </tr>
342
+ </tbody>
343
+ </table>
344
+ </div>
345
+ </div>
346
+
347
+ <!-- Predictive Analytics -->
348
+ <div class="glass-effect rounded-2xl p-6">
349
+ <h3 class="text-xl font-semibold mb-6">AI Predictive Analytics</h3>
350
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-8">
351
+ <div>
352
+ <h4 class="font-semibold mb-4 text-primary-400">Market Direction Forecast</h4>
353
+ <div class="space-y-4">
354
+ <div>
355
+ <div class="flex justify-between items-center mb-2">
356
+ <span class="text-gray-400">EUR/USD (Next 24h)</span>
357
+ <span class="font-semibold text-green-500">67% Bullish</span>
358
+ </div>
359
+ <div class="w-full bg-gray-700 rounded-full h-3">
360
+ <div class="bg-green-500 h-3 rounded-full" style="width: 67%"></div>
361
+ </div>
362
+ </div>
363
+ <div>
364
+ <div class="flex justify-between items-center mb-2">
365
+ <span class="text-gray-400">BTC/USD (Next 24h)</span>
366
+ <span class="font-semibold text-red-500">58% Bearish</span>
367
+ </div>
368
+ <div class="w-full bg-gray-700 rounded-full h-3">
369
+ <div class="bg-red-500 h-3 rounded-full" style="width: 58%"></div>
370
+ </div>
371
+ </div>
372
+ <div>
373
+ <div class="flex justify-between items-center mb-2">
374
+ <span class="text-gray-400">SPX (Next Week)</span>
375
+ <span class="font-semibold text-green-500">72% Bullish</span>
376
+ </div>
377
+ <div class="w-full bg-gray-700 rounded-full h-3">
378
+ <div class="bg-green-500 h-3 rounded-full" style="width: 72%"></div>
379
+ </div>
380
+ </div>
381
+ </div>
382
+ </div>
383
+ <div>
384
+ <h4 class="font-semibold mb-4 text-secondary-400">Risk Assessment</h4>
385
+ <div class="space-y-4">
386
+ <div>
387
+ <div class="flex justify-between items-center mb-2">
388
+ <span class="text-gray-400">Portfolio Risk Score</span>
389
+ <span class="font-semibold">Medium (6.2/10)</span>
390
+ </div>
391
+ <div class="w-full bg-gray-700 rounded-full h-3">
392
+ <div class="bg-yellow-500 h-3 rounded-full" style="width: 62%"></div>
393
+ </div>
394
+ </div>
395
+ <div>
396
+ <div class="flex justify-between items-center mb-2">
397
+ <span class="text-gray-400">Volatility Forecast</span>
398
+ <span class="font-semibold">Increasing (+15%)</span>
399
+ </div>
400
+ <div class="w-full bg-gray-700 rounded-full h-3">
401
+ <div class="bg-orange-500 h-3 rounded-full" style="width: 45%"></div>
402
+ </div>
403
+ </div>
404
+ <div>
405
+ <div class="flex justify-between items-center mb-2">
406
+ <span class="text-gray-400">Correlation Alert</span>
407
+ <span class="font-semibold text-red-500">High (>0.8)</span>
408
+ </div>
409
+ <div class="w-full bg-gray-700 rounded-full h-3">
410
+ <div class="bg-red-500 h-3 rounded-full" style="width: 82%"></div>
411
+ </div>
412
+ </div>
413
+ </div>
414
+ </div>
415
+ </div>
416
+ </div>
417
+ </main>
418
+
419
+ <script>
420
+ // Initialize Feather Icons
421
+ feather.replace();
422
+
423
+ // Small Sparkline Charts
424
+ function createSparklineChart(canvasId, data, color) {
425
+ const ctx = document.getElementById(canvasId).getContext('2d');
426
+ return new Chart(ctx, {
427
+ type: 'line',
428
+ data: {
429
+ labels: data.map((_, i) => i),
430
+ datasets: [{
431
+ data: data,
432
+ borderColor: color,
433
+ borderWidth: 2,
434
+ fill: false,
435
+ pointRadius: 0,
436
+ tension: 0.4
437
+ }]
438
+ },
439
+ options: {
440
+ responsive: true,
441
+ maintainAspectRatio: false,
442
+ plugins: { legend: { display: false } },
443
+ scales: {
444
+ x: { display: false },
445
+ y: { display: false }
446
+ }
447
+ }
448
+ });
449
+ }
450
+
451
+ // Equity Curve Chart
452
+ const equityCtx = document.getElementById('equity-chart').getContext('2d');
453
+ const equityChart = new Chart(equityCtx, {
454
+ type: 'line',
455
+ data: {
456
+ labels: Array.from({length: 30}, (_, i) => `Day ${i+1}`),
457
+ datasets: [{
458
+ label: 'Portfolio Value',
459
+ data: Array.from({length: 30}, () => 10000 + Math.random() * 5000),
460
+ borderColor: '#0ea5e9',
461
+ backgroundColor: 'rgba(14, 165, 233, 0.1)',
462
+ fill: true,
463
+ tension: 0.4
464
+ }]
465
+ },
466
+ options: {
467
+ responsive: true,
468
+ maintainAspectRatio: false,
469
+ plugins: {
470
+ legend: { display: false }
471
+ },
472
+ scales: {
473
+ x: {
474
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
475
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
476
+ },
477
+ y: {
478
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
479
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
480
+ }
481
+ }
482
+ }
483
+ });
484
+
485
+ // Portfolio Allocation Chart
486
+ const allocCtx = document.getElementById('allocation-chart').getContext('2d');
487
+ const allocChart = new Chart(allocCtx, {
488
+ type: 'doughnut',
489
+ data: {
490
+ labels: ['Forex', 'Crypto', 'Indices', 'Stocks', 'Commodities'],
491
+ datasets: [{
492
+ data: [35, 25, 20, 15, 5],
493
+ backgroundColor: [
494
+ '#0ea5e9', '#d946ef', '#10b981', '#f59e0b', '#ef4444'
495
+ ],
496
+ borderWidth: 0
497
+ }]
498
+ },
499
+ options: {
500
+ responsive: true,
501
+ maintainAspectRatio: false,
502
+ plugins: {
503
+ legend: {
504
+ position: 'right',
505
+ labels: { color: 'rgba(255, 255, 255, 0.7)' }
506
+ }
507
+ }
508
+ }
509
+ });
510
+
511
+ // Trade Distribution Chart
512
+ const distCtx = document.getElementById('distribution-chart').getContext('2d');
513
+ const distChart = new Chart(distCtx, {
514
+ type: 'bar',
515
+ data: {
516
+ labels: ['<1h', '1-4h', '4-8h', '8-24h', '1-7d', '>7d'],
517
+ datasets: [{
518
+ label: 'Trade Duration',
519
+ data: [12, 28, 35, 18, 5, 2],
520
+ backgroundColor: '#0ea5e9',
521
+ borderColor: '#0ea5e9',
522
+ borderWidth: 1
523
+ }]
524
+ },
525
+ options: {
526
+ responsive: true,
527
+ maintainAspectRatio: false,
528
+ plugins: { legend: { display: false } },
529
+ scales: {
530
+ x: {
531
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
532
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
533
+ },
534
+ y: {
535
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
536
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
537
+ }
538
+ }
539
+ }
540
+ });
541
+
542
+ // Initialize sparklines
543
+ createSparklineChart('return-chart', Array.from({length: 20}, () => Math.random() * 100), '#10b981');
544
+ createSparklineChart('winrate-chart', Array.from({length: 20}, () => 70 + Math.random() * 10), '#3b82f6');
545
+ createSparklineChart('sharpe-chart', Array.from({length: 20}, () => 1.5 + Math.random() * 1), '#8b5cf6');
546
+ createSparklineChart('drawdown-chart', Array.from({length: 20}, () => -Math.random() * 5), '#f59e0b');
547
+
548
+ // Add animations
549
+ anime({
550
+ targets: '.performance-metric',
551
+ translateY: [50, 0],
552
+ opacity: [0, 1],
553
+ duration: 1000,
554
+ delay: anime.stagger(100),
555
+ easing: 'easeOutQuad'
556
+ });
557
+ </script>
558
+ </body>
559
+ </html>
index.html CHANGED
@@ -1,19 +1,510 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>QuantumTrade Nexus 2025 - Trading Dashboard</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/vanta@latest/dist/vanta.globe.min.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.min.js"></script>
13
+ <script>
14
+ tailwind.config = {
15
+ darkMode: 'class',
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ primary: {
20
+ 50: '#f0f9ff',
21
+ 100: '#e0f2fe',
22
+ 200: '#bae6fd',
23
+ 300: '#7dd3fc',
24
+ 400: '#38bdf8',
25
+ 500: '#0ea5e9',
26
+ 600: '#0284c7',
27
+ 700: '#0369a1',
28
+ 800: '#075985',
29
+ 900: '#0c4a6e',
30
+ },
31
+ secondary: {
32
+ 50: '#fdf4ff',
33
+ 100: '#fae8ff',
34
+ 200: '#f5d0fe',
35
+ 300: '#f0abfc',
36
+ 400: '#e879f9',
37
+ 500: '#d946ef',
38
+ 600: '#c026d3',
39
+ 700: '#a21caf',
40
+ 800: '#86198f',
41
+ 900: '#701a75',
42
+ }
43
+ },
44
+ animation: {
45
+ 'pulse-slow': 'pulse 3s cubic-bezier(0.4, 0, 0.6, 1) infinite',
46
+ 'bounce-slow': 'bounce 2s infinite',
47
+ 'float': 'float 6s ease-in-out infinite',
48
+ }
49
+ }
50
+ }
51
+ }
52
+ </script>
53
+ <style>
54
+ @keyframes float {
55
+ 0%, 100% { transform: translateY(0px); }
56
+ 50% { transform: translateY(-20px); }
57
+ }
58
+
59
+ .glass-effect {
60
+ background: rgba(255, 255, 255, 0.05);
61
+ backdrop-filter: blur(20px);
62
+ border: 1px solid rgba(255, 255, 255, 0.1);
63
+ }
64
+
65
+ .gradient-text {
66
+ background: linear-gradient(135deg, #0ea5e9 0%, #d946ef 100%);
67
+ -webkit-background-clip: text;
68
+ -webkit-text-fill-color: transparent;
69
+ background-clip: text;
70
+ }
71
+
72
+ .performance-bar {
73
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
74
+ }
75
+
76
+ .trading-card {
77
+ transform: perspective(1000px) rotateX(0deg) rotateY(0deg);
78
+ transition: transform 0.3s ease, box-shadow 0.3s ease;
79
+ }
80
+
81
+ .trading-card:hover {
82
+ transform: perspective(1000px) rotateX(5deg) rotateY(5deg);
83
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
84
+ }
85
+ </style>
86
+ </head>
87
+ <body class="bg-gray-900 text-white min-h-screen overflow-x-hidden">
88
+ <!-- Vanta.js Background -->
89
+ <div id="vanta-bg" class="fixed inset-0 -z-10"></div>
90
+
91
+ <!-- Navigation -->
92
+ <nav class="glass-effect border-b border-gray-800 sticky top-0 z-50">
93
+ <div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8">
94
+ <div class="flex justify-between items-center h-16">
95
+ <!-- Logo -->
96
+ <div class="flex items-center space-x-3">
97
+ <div class="w-10 h-10 bg-gradient-to-br from-primary-500 to-secondary-500 rounded-lg flex items-center justify-center">
98
+ <i data-feather="trending-up" class="w-6 h-6"></i>
99
+ </div>
100
+ <span class="text-xl font-bold gradient-text">QuantumTrade</span>
101
+ </div>
102
+
103
+ <!-- Navigation Links -->
104
+ <div class="hidden md:flex items-center space-x-8">
105
+ <a href="index.html" class="text-primary-400 hover:text-primary-300 transition-colors duration-200 font-medium">Dashboard</a>
106
+ <a href="trading.html" class="text-gray-300 hover:text-white transition-colors duration-200">Trading</a>
107
+ <a href="analytics.html" class="text-gray-300 hover:text-white transition-colors duration-200">Analytics</a>
108
+ <a href="strategies.html" class="text-gray-300 hover:text-white transition-colors duration-200">Strategies</a>
109
+ <a href="monitoring.html" class="text-gray-300 hover:text-white transition-colors duration-200">Monitoring</a>
110
+ </div>
111
+
112
+ <!-- User Menu -->
113
+ <div class="flex items-center space-x-4">
114
+ <div class="hidden md:flex items-center space-x-2 text-sm">
115
+ <span class="text-gray-400">Connected</span>
116
+ <div class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></div>
117
+ </div>
118
+ <button class="p-2 rounded-lg glass-effect hover:bg-gray-800 transition-colors duration-200">
119
+ <i data-feather="settings" class="w-5 h-5"></i>
120
+ </button>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </nav>
125
+
126
+ <!-- Main Content -->
127
+ <main class="relative z-10">
128
+ <!-- Hero Section -->
129
+ <section class="pt-20 pb-16 px-4 sm:px-6 lg:px-8">
130
+ <div class="max-w-8xl mx-auto">
131
+ <div class="text-center">
132
+ <h1 class="text-5xl md:text-7xl font-bold mb-6">
133
+ <span class="gradient-text">Quantum Trading</span>
134
+ <br>
135
+ <span class="text-white">Intelligence</span>
136
+ </h1>
137
+ <p class="text-xl md:text-2xl text-gray-300 mb-8 max-w-4xl mx-auto">
138
+ Next-generation algorithmic trading platform powered by AI/ML with real-time market analysis,
139
+ predictive analytics, and automated execution at 60 FPS performance.
140
+ </p>
141
+ <div class="flex flex-col sm:flex-row gap-4 justify-center items-center">
142
+ <a href="trading.html" class="bg-gradient-to-r from-primary-500 to-secondary-500 hover:from-primary-600 hover:to-secondary-600 text-white px-8 py-4 rounded-xl font-semibold transition-all duration-300 transform hover:scale-105">
143
+ Start Trading
144
+ </a>
145
+ <a href="analytics.html" class="glass-effect hover:bg-gray-800 border border-gray-700 text-white px-8 py-4 rounded-xl font-semibold transition-all duration-300">
146
+ View Analytics
147
+ </a>
148
+ </div>
149
+ </div>
150
+ </div>
151
+ </section>
152
+
153
+ <!-- Performance Metrics -->
154
+ <section class="py-16 px-4 sm:px-6 lg:px-8">
155
+ <div class="max-w-8xl mx-auto">
156
+ <h2 class="text-3xl font-bold text-center mb-12">System Performance</h2>
157
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
158
+ <!-- Performance Card 1 -->
159
+ <div class="glass-effect rounded-2xl p-6 trading-card">
160
+ <div class="flex items-center justify-between mb-4">
161
+ <h3 class="text-lg font-semibold">Response Time</h3>
162
+ <i data-feather="zap" class="w-6 h-6 text-green-500"></i>
163
+ </div>
164
+ <div class="text-3xl font-bold text-green-500 mb-2">47ms</div>
165
+ <div class="text-sm text-gray-400">Average API Response</div>
166
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
167
+ <div class="bg-green-500 h-2 rounded-full performance-bar" style="width: 94%"></div>
168
+ </div>
169
+ </div>
170
+
171
+ <!-- Performance Card 2 -->
172
+ <div class="glass-effect rounded-2xl p-6 trading-card">
173
+ <div class="flex items-center justify-between mb-4">
174
+ <h3 class="text-lg font-semibold">Uptime</h3>
175
+ <i data-feather="activity" class="w-6 h-6 text-blue-500"></i>
176
+ </div>
177
+ <div class="text-3xl font-bold text-blue-500 mb-2">99.97%</div>
178
+ <div class="text-sm text-gray-400">30-Day Average</div>
179
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
180
+ <div class="bg-blue-500 h-2 rounded-full performance-bar" style="width: 99.97%"></div>
181
+ </div>
182
+ </div>
183
+
184
+ <!-- Performance Card 3 -->
185
+ <div class="glass-effect rounded-2xl p-6 trading-card">
186
+ <div class="flex items-center justify-between mb-4">
187
+ <h3 class="text-lg font-semibold">Accuracy</h3>
188
+ <i data-feather="target" class="w-6 h-6 text-purple-500"></i>
189
+ </div>
190
+ <div class="text-3xl font-bold text-purple-500 mb-2">87.3%</div>
191
+ <div class="text-sm text-gray-400">Signal Prediction</div>
192
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
193
+ <div class="bg-purple-500 h-2 rounded-full performance-bar" style="width: 87.3%"></div>
194
+ </div>
195
+ </div>
196
+
197
+ <!-- Performance Card 4 -->
198
+ <div class="glass-effect rounded-2xl p-6 trading-card">
199
+ <div class="flex items-center justify-between mb-4">
200
+ <h3 class="text-lg font-semibold">Profit/Loss</h3>
201
+ <i data-feather="dollar-sign" class="w-6 h-6 text-yellow-500"></i>
202
+ </div>
203
+ <div class="text-3xl font-bold text-yellow-500 mb-2">+12.8%</div>
204
+ <div class="text-sm text-gray-400">Monthly Return</div>
205
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
206
+ <div class="bg-yellow-500 h-2 rounded-full performance-bar" style="width: 85%"></div>
207
+ </div>
208
+ </div>
209
+ </div>
210
+ </div>
211
+ </section>
212
+
213
+ <!-- Real-time Market Data -->
214
+ <section class="py-16 px-4 sm:px-6 lg:px-8">
215
+ <div class="max-w-8xl mx-auto">
216
+ <h2 class="text-3xl font-bold text-center mb-12">Live Market Overview</h2>
217
+ <div class="glass-effect rounded-2xl overflow-hidden">
218
+ <div class="grid grid-cols-1 lg:grid-cols-3">
219
+ <!-- Major Pairs -->
220
+ <div class="p-6 border-r border-gray-700">
221
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
222
+ <i data-feather="globe" class="w-5 h-5 mr-2 text-primary-500"></i>
223
+ Forex Major Pairs
224
+ </h3>
225
+ <div class="space-y-3" id="forex-pairs">
226
+ <!-- Data will be populated by JavaScript -->
227
+ </div>
228
+ </div>
229
+
230
+ <!-- Indices -->
231
+ <div class="p-6 border-r border-gray-700">
232
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
233
+ <i data-feather="bar-chart-2" class="w-5 h-5 mr-2 text-secondary-500"></i>
234
+ Global Indices
235
+ </h3>
236
+ <div class="space-y-3" id="indices">
237
+ <!-- Data will be populated by JavaScript -->
238
+ </div>
239
+ </div>
240
+
241
+ <!-- Cryptocurrencies -->
242
+ <div class="p-6">
243
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
244
+ <i data-feather="bitcoin" class="w-5 h-5 mr-2 text-yellow-500"></i>
245
+ Cryptocurrencies
246
+ </h3>
247
+ <div class="space-y-3" id="crypto">
248
+ <!-- Data will be populated by JavaScript -->
249
+ </div>
250
+ </div>
251
+ </div>
252
+ </div>
253
+ </div>
254
+ </section>
255
+
256
+ <!-- Recent Signals -->
257
+ <section class="py-16 px-4 sm:px-6 lg:px-8">
258
+ <div class="max-w-8xl mx-auto">
259
+ <h2 class="text-3xl font-bold text-center mb-12">Recent Trading Signals</h2>
260
+ <div class="glass-effect rounded-2xl overflow-hidden">
261
+ <div class="overflow-x-auto">
262
+ <table class="w-full">
263
+ <thead class="bg-gray-800">
264
+ <tr>
265
+ <th class="px-6 py-4 text-left text-sm font-semibold">Symbol</th>
266
+ <th class="px-6 py-4 text-left text-sm font-semibold">Signal</th>
267
+ <th class="px-6 py-4 text-left text-sm font-semibold">Price</th>
268
+ <th class="px-6 py-4 text-left text-sm font-semibold">Strength</th>
269
+ <th class="px-6 py-4 text-left text-sm font-semibold">Time</th>
270
+ <th class="px-6 py-4 text-left text-sm font-semibold">Status</th>
271
+ </tr>
272
+ </thead>
273
+ <tbody class="divide-y divide-gray-700" id="signals-table">
274
+ <!-- Data will be populated by JavaScript -->
275
+ </tbody>
276
+ </table>
277
+ </div>
278
+ </div>
279
+ </div>
280
+ </section>
281
+ </main>
282
+
283
+ <!-- Footer -->
284
+ <footer class="glass-effect border-t border-gray-800 mt-20">
285
+ <div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
286
+ <div class="grid grid-cols-1 md:grid-cols-4 gap-8">
287
+ <div>
288
+ <h3 class="text-lg font-semibold mb-4">QuantumTrade Nexus</h3>
289
+ <p class="text-gray-400 text-sm">
290
+ Advanced algorithmic trading platform with AI-powered insights and real-time execution.
291
+ </p>
292
+ </div>
293
+ <div>
294
+ <h4 class="font-semibold mb-4">Platform</h4>
295
+ <ul class="space-y-2 text-sm text-gray-400">
296
+ <li><a href="trading.html" class="hover:text-white transition-colors">Trading Terminal</a></li>
297
+ <li><a href="analytics.html" class="hover:text-white transition-colors">Analytics</a></li>
298
+ <li><a href="strategies.html" class="hover:text-white transition-colors">Strategies</a></li>
299
+ <li><a href="monitoring.html" class="hover:text-white transition-colors">Monitoring</a></li>
300
+ </ul>
301
+ </div>
302
+ <div>
303
+ <h4 class="font-semibold mb-4">Resources</h4>
304
+ <ul class="space-y-2 text-sm text-gray-400">
305
+ <li><a href="#" class="hover:text-white transition-colors">Documentation</a></li>
306
+ <li><a href="#" class="hover:text-white transition-colors">API Reference</a></li>
307
+ <li><a href="#" class="hover:text-white transition-colors">Tutorials</a></li>
308
+ <li><a href="#" class="hover:text-white transition-colors">Support</a></li>
309
+ </ul>
310
+ </div>
311
+ <div>
312
+ <h4 class="font-semibold mb-4">Connect</h4>
313
+ <div class="flex space-x-4">
314
+ <a href="#" class="text-gray-400 hover:text-white transition-colors">
315
+ <i data-feather="twitter" class="w-5 h-5"></i>
316
+ </a>
317
+ <a href="#" class="text-gray-400 hover:text-white transition-colors">
318
+ <i data-feather="github" class="w-5 h-5"></i>
319
+ </a>
320
+ <a href="#" class="text-gray-400 hover:text-white transition-colors">
321
+ <i data-feather="linkedin" class="w-5 h-5"></i>
322
+ </a>
323
+ <a href="#" class="text-gray-400 hover:text-white transition-colors">
324
+ <i data-feather="mail" class="w-5 h-5"></i>
325
+ </a>
326
+ </div>
327
+ </div>
328
+ </div>
329
+ <div class="border-t border-gray-700 mt-8 pt-8 text-center text-sm text-gray-400">
330
+ <p>&copy; 2025 QuantumTrade Nexus. All rights reserved. Built with cutting-edge technology.</p>
331
+ </div>
332
+ </div>
333
+ </footer>
334
+
335
+ <script>
336
+ // Initialize Vanta.js
337
+ VANTA.GLOBE({
338
+ el: "#vanta-bg",
339
+ mouseControls: true,
340
+ touchControls: true,
341
+ gyroControls: false,
342
+ minHeight: 200.00,
343
+ minWidth: 200.00,
344
+ scale: 1.00,
345
+ scaleMobile: 1.00,
346
+ color: "#0ea5e9",
347
+ color2: "#d946ef",
348
+ backgroundColor: "#111827"
349
+ });
350
+
351
+ // Initialize Feather Icons
352
+ feather.replace();
353
+
354
+ // Mock real-time data updates
355
+ function updateMarketData() {
356
+ // Forex pairs data
357
+ const forexPairs = [
358
+ { symbol: 'EUR/USD', price: 1.0854, change: 0.12 },
359
+ { symbol: 'GBP/USD', price: 1.2678, change: -0.08 },
360
+ { symbol: 'USD/JPY', price: 148.23, change: 0.25 },
361
+ { symbol: 'AUD/USD', price: 0.6521, change: 0.18 }
362
+ ];
363
+
364
+ // Indices data
365
+ const indices = [
366
+ { symbol: 'S&P 500', price: 4782.34, change: 0.45 },
367
+ { symbol: 'NASDAQ', price: 16845.67, change: 0.67 },
368
+ { symbol: 'DOW JONES', price: 37654.32, change: -0.23 },
369
+ { symbol: 'FTSE 100', price: 7689.12, change: 0.31 }
370
+ ];
371
+
372
+ // Crypto data
373
+ const crypto = [
374
+ { symbol: 'BTC/USD', price: 42876.54, change: 2.34 },
375
+ { symbol: 'ETH/USD', price: 2567.89, change: 1.87 },
376
+ { symbol: 'SOL/USD', price: 98.76, change: -0.45 },
377
+ { symbol: 'ADA/USD', price: 0.5432, change: 0.92 }
378
+ ];
379
+
380
+ // Update forex pairs
381
+ const forexContainer = document.getElementById('forex-pairs');
382
+ forexContainer.innerHTML = forexPairs.map(pair => `
383
+ <div class="flex justify-between items-center">
384
+ <span class="font-medium">${pair.symbol}</span>
385
+ <div class="text-right">
386
+ <div class="font-semibold">${pair.price}</div>
387
+ <div class="text-sm ${pair.change >= 0 ? 'text-green-500' : 'text-red-500'}">
388
+ ${pair.change >= 0 ? '+' : ''}${pair.change}%
389
+ </div>
390
+ </div>
391
+ </div>
392
+ `).join('');
393
+
394
+ // Update indices
395
+ const indicesContainer = document.getElementById('indices');
396
+ indicesContainer.innerHTML = indices.map(index => `
397
+ <div class="flex justify-between items-center">
398
+ <span class="font-medium">${index.symbol}</span>
399
+ <div class="text-right">
400
+ <div class="font-semibold">${index.price.toLocaleString()}</div>
401
+ <div class="text-sm ${index.change >= 0 ? 'text-green-500' : 'text-red-500'}">
402
+ ${index.change >= 0 ? '+' : ''}${index.change}%
403
+ </div>
404
+ </div>
405
+ </div>
406
+ `).join('');
407
+
408
+ // Update crypto
409
+ const cryptoContainer = document.getElementById('crypto');
410
+ cryptoContainer.innerHTML = crypto.map(coin => `
411
+ <div class="flex justify-between items-center">
412
+ <span class="font-medium">${coin.symbol}</span>
413
+ <div class="text-right">
414
+ <div class="font-semibold">${coin.price.toLocaleString()}</div>
415
+ <div class="text-sm ${coin.change >= 0 ? 'text-green-500' : 'text-red-500'}">
416
+ ${coin.change >= 0 ? '+' : ''}${coin.change}%
417
+ </div>
418
+ </div>
419
+ </div>
420
+ `).join('');
421
+ }
422
+
423
+ // Mock trading signals
424
+ function updateTradingSignals() {
425
+ const signals = [
426
+ { symbol: 'EUR/USD', signal: 'BUY', price: 1.0854, strength: 87, time: '14:23:45', status: 'Active' },
427
+ { symbol: 'BTC/USD', signal: 'SELL', price: 42876.54, strength: 92, time: '14:20:12', status: 'Executed' },
428
+ { symbol: 'AAPL', signal: 'HOLD', price: 185.67, strength: 76, time: '14:18:33', status: 'Monitoring' },
429
+ { symbol: 'GBP/USD', signal: 'BUY', price: 1.2678, strength: 81, time: '14:15:07', status: 'Pending' },
430
+ { symbol: 'ETH/USD', signal: 'SELL', price: 2567.89, strength: 89, time: '14:12:54', status: 'Active' }
431
+ ];
432
+
433
+ const signalsTable = document.getElementById('signals-table');
434
+ signalsTable.innerHTML = signals.map(signal => `
435
+ <tr class="hover:bg-gray-800 transition-colors">
436
+ <td class="px-6 py-4">
437
+ <div class="flex items-center">
438
+ <div class="w-2 h-2 rounded-full ${signal.signal === 'BUY' ? 'bg-green-500' : signal.signal === 'SELL' ? 'bg-red-500' : 'bg-yellow-500'} mr-3"></div>
439
+ ${signal.symbol}
440
+ </div>
441
+ </td>
442
+ <td class="px-6 py-4">
443
+ <span class="px-3 py-1 rounded-full text-sm font-medium ${signal.signal === 'BUY' ? 'bg-green-500/20 text-green-500' : signal.signal === 'SELL' ? 'bg-red-500/20 text-red-500' : 'bg-yellow-500/20 text-yellow-500'}">
444
+ ${signal.signal}
445
+ </span>
446
+ </td>
447
+ <td class="px-6 py-4 font-semibold">${signal.price}</td>
448
+ <td class="px-6 py-4">
449
+ <div class="flex items-center">
450
+ <div class="w-full bg-gray-700 rounded-full h-2 mr-2">
451
+ <div class="bg-gradient-to-r from-primary-500 to-secondary-500 h-2 rounded-full" style="width: ${signal.strength}%"></div>
452
+ </div>
453
+ ${signal.strength}%
454
+ </div>
455
+ </td>
456
+ <td class="px-6 py-4 text-gray-400">${signal.time}</td>
457
+ <td class="px-6 py-4">
458
+ <span class="px-3 py-1 rounded-full text-sm font-medium ${signal.status === 'Active' ? 'bg-blue-500/20 text-blue-500' : signal.status === 'Executed' ? 'bg-green-500/20 text-green-500' : signal.status === 'Pending' ? 'bg-yellow-500/20 text-yellow-500' : 'bg-gray-500/20 text-gray-500'}">
459
+ ${signal.status}
460
+ </span>
461
+ </td>
462
+ </tr>
463
+ `).join('');
464
+ }
465
+
466
+ // Initialize data
467
+ updateMarketData();
468
+ updateTradingSignals();
469
+
470
+ // Simulate real-time updates
471
+ setInterval(() => {
472
+ updateMarketData();
473
+ updateTradingSignals();
474
+ }, 5000);
475
+
476
+ // Add interactive animations
477
+ document.addEventListener('DOMContentLoaded', function() {
478
+ // Animate performance bars
479
+ anime({
480
+ targets: '.performance-bar',
481
+ width: ['0%', '100%'],
482
+ duration: 2000,
483
+ easing: 'easeOutElastic(1, .8)',
484
+ delay: anime.stagger(100)
485
+ });
486
+
487
+ // Add hover effects to trading cards
488
+ const cards = document.querySelectorAll('.trading-card');
489
+ cards.forEach(card => {
490
+ card.addEventListener('mouseenter', () => {
491
+ anime({
492
+ targets: card,
493
+ scale: 1.02,
494
+ duration: 300,
495
+ easing: 'easeOutQuad'
496
+ });
497
+ });
498
+ card.addEventListener('mouseleave', () => {
499
+ anime({
500
+ targets: card,
501
+ scale: 1,
502
+ duration: 300,
503
+ easing: 'easeOutQuad'
504
+ });
505
+ });
506
+ });
507
+ });
508
+ </script>
509
+ </body>
510
  </html>
monitoring.html ADDED
@@ -0,0 +1,644 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Monitoring - QuantumTrade Nexus</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.min.js"></script>
13
+ <script>
14
+ tailwind.config = {
15
+ darkMode: 'class',
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ primary: {
20
+ 50: '#f0f9ff',
21
+ 100: '#e0f2fe',
22
+ 200: '#bae6fd',
23
+ 300: '#7dd3fc',
24
+ 400: '#38bdf8',
25
+ 500: '#0ea5e9',
26
+ 600: '#0284c7',
27
+ 700: '#0369a1',
28
+ 800: '#075985',
29
+ 900: '#0c4a6e',
30
+ },
31
+ secondary: {
32
+ 50: '#fdf4ff',
33
+ 100: '#fae8ff',
34
+ 200: '#f5d0fe',
35
+ 300: '#f0abfc',
36
+ 400: '#e879f9',
37
+ 500: '#d946ef',
38
+ 600: '#c026d3',
39
+ 700: '#a21caf',
40
+ 800: '#86198f',
41
+ 900: '#701a75',
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ </script>
48
+ <style>
49
+ .glass-effect {
50
+ background: rgba(255, 255, 255, 0.05);
51
+ backdrop-filter: blur(20px);
52
+ border: 1px solid rgba(255, 255, 255, 0.1);
53
+ }
54
+
55
+ .status-indicator {
56
+ width: 8px;
57
+ height: 8px;
58
+ border-radius: 50%;
59
+ display: inline-block;
60
+ margin-right: 8px;
61
+ }
62
+
63
+ .status-healthy { background-color: #10b981; animation: pulse-green 2s infinite; }
64
+ .status-warning { background-color: #f59e0b; animation: pulse-yellow 2s infinite; }
65
+ .status-critical { background-color: #ef4444; animation: pulse-red 2s infinite; }
66
+
67
+ @keyframes pulse-green {
68
+ 0%, 100% { opacity: 1; }
69
+ 50% { opacity: 0.5; }
70
+ }
71
+
72
+ @keyframes pulse-yellow {
73
+ 0%, 100% { opacity: 1; }
74
+ 50% { opacity: 0.5; }
75
+ }
76
+
77
+ @keyframes pulse-red {
78
+ 0%, 100% { opacity: 1; }
79
+ 50% { opacity: 0.5; }
80
+ }
81
+
82
+ .metric-card {
83
+ transition: all 0.3s ease;
84
+ }
85
+
86
+ .metric-card:hover {
87
+ transform: translateY(-2px);
88
+ }
89
+ </style>
90
+ </head>
91
+ <body class="bg-gray-900 text-white min-h-screen">
92
+ <!-- Navigation -->
93
+ <nav class="glass-effect border-b border-gray-800 sticky top-0 z-50">
94
+ <div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8">
95
+ <div class="flex justify-between items-center h-16">
96
+ <div class="flex items-center space-x-3">
97
+ <a href="index.html" class="flex items-center space-x-3">
98
+ <div class="w-10 h-10 bg-gradient-to-br from-primary-500 to-secondary-500 rounded-lg flex items-center justify-center">
99
+ <i data-feather="trending-up" class="w-6 h-6"></i>
100
+ </div>
101
+ <span class="text-xl font-bold bg-gradient-to-r from-primary-500 to-secondary-500 bg-clip-text text-transparent">QuantumTrade</span>
102
+ </a>
103
+ </div>
104
+
105
+ <div class="hidden md:flex items-center space-x-8">
106
+ <a href="index.html" class="text-gray-300 hover:text-white transition-colors duration-200">Dashboard</a>
107
+ <a href="trading.html" class="text-gray-300 hover:text-white transition-colors duration-200">Trading</a>
108
+ <a href="analytics.html" class="text-gray-300 hover:text-white transition-colors duration-200">Analytics</a>
109
+ <a href="strategies.html" class="text-gray-300 hover:text-white transition-colors duration-200">Strategies</a>
110
+ <a href="monitoring.html" class="text-primary-400 hover:text-primary-300 transition-colors duration-200 font-medium">Monitoring</a>
111
+ </div>
112
+
113
+ <div class="flex items-center space-x-4">
114
+ <div class="hidden md:flex items-center space-x-2 text-sm">
115
+ <span class="text-gray-400">Monitoring</span>
116
+ <div class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></div>
117
+ </div>
118
+ <button class="p-2 rounded-lg glass-effect hover:bg-gray-800 transition-colors duration-200">
119
+ <i data-feather="settings" class="w-5 h-5"></i>
120
+ </button>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </nav>
125
+
126
+ <!-- Monitoring Dashboard -->
127
+ <main class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
128
+ <!-- Header -->
129
+ <div class="mb-8">
130
+ <h1 class="text-4xl font-bold mb-2">System Monitoring</h1>
131
+ <p class="text-gray-400">Real-time system health, performance metrics, and infrastructure monitoring</p>
132
+ </div>
133
+
134
+ <!-- System Status Overview -->
135
+ <div class="grid grid-cols-1 lg:grid-cols-4 gap-6 mb-8">
136
+ <div class="glass-effect rounded-2xl p-6 metric-card">
137
+ <div class="flex items-center justify-between mb-4">
138
+ <h3 class="text-lg font-semibold">Overall Health</h3>
139
+ <span class="status-indicator status-healthy"></span>
140
+ </div>
141
+ <div class="text-3xl font-bold text-green-500 mb-2">99.97%</div>
142
+ <div class="text-sm text-gray-400">Uptime (30 days)</div>
143
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
144
+ <div class="bg-green-500 h-2 rounded-full" style="width: 99.97%"></div>
145
+ </div>
146
+ </div>
147
+
148
+ <div class="glass-effect rounded-2xl p-6 metric-card">
149
+ <div class="flex items-center justify-between mb-4">
150
+ <h3 class="text-lg font-semibold">API Response</h3>
151
+ <span class="status-indicator status-healthy"></span>
152
+ </div>
153
+ <div class="text-3xl font-bold text-blue-500 mb-2">47ms</div>
154
+ <div class="text-sm text-gray-400">Average Latency</div>
155
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
156
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 94%"></div>
157
+ </div>
158
+ </div>
159
+
160
+ <div class="glass-effect rounded-2xl p-6 metric-card">
161
+ <div class="flex items-center justify-between mb-4">
162
+ <h3 class="text-lg font-semibold">CPU Usage</h3>
163
+ <span class="status-indicator status-healthy"></span>
164
+ </div>
165
+ <div class="text-3xl font-bold text-yellow-500 mb-2">42%</div>
166
+ <div class="text-sm text-gray-400">Current Load</div>
167
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
168
+ <div class="bg-yellow-500 h-2 rounded-full" style="width: 42%"></div>
169
+ </div>
170
+ </div>
171
+
172
+ <div class="glass-effect rounded-2xl p-6 metric-card">
173
+ <div class="flex items-center justify-between mb-4">
174
+ <h3 class="text-lg font-semibold">Memory</h3>
175
+ <span class="status-indicator status-warning"></span>
176
+ </div>
177
+ <div class="text-3xl font-bold text-orange-500 mb-2">78%</div>
178
+ <div class="text-sm text-gray-400">RAM Utilization</div>
179
+ <div class="mt-4 bg-gray-700 rounded-full h-2">
180
+ <div class="bg-orange-500 h-2 rounded-full" style="width: 78%"></div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+
185
+ <!-- Real-time Metrics -->
186
+ <div class="grid grid-cols-1 xl:grid-cols-2 gap-8 mb-8">
187
+ <!-- System Performance -->
188
+ <div class="glass-effect rounded-2xl p-6">
189
+ <h3 class="text-xl font-semibold mb-6">System Performance</h3>
190
+ <div class="h-80">
191
+ <canvas id="performance-chart"></canvas>
192
+ </div>
193
+ </div>
194
+
195
+ <!-- Infrastructure Health -->
196
+ <div class="glass-effect rounded-2xl p-6">
197
+ <h3 class="text-xl font-semibold mb-6">Infrastructure Health</h3>
198
+ <div class="space-y-4">
199
+ <!-- Database Cluster -->
200
+ <div class="bg-gray-800 rounded-lg p-4">
201
+ <div class="flex items-center justify-between mb-3">
202
+ <div class="flex items-center">
203
+ <span class="status-indicator status-healthy"></span>
204
+ <span class="font-semibold">Database Cluster</span>
205
+ </div>
206
+ <span class="text-sm text-green-500">Healthy</span>
207
+ </div>
208
+ <div class="grid grid-cols-3 gap-4 text-sm">
209
+ <div>
210
+ <div class="text-gray-400">Primary</div>
211
+ <div class="font-semibold">Online</div>
212
+ </div>
213
+ <div>
214
+ <div class="text-gray-400">Replica 1</div>
215
+ <div class="font-semibold">Synced</div>
216
+ </div>
217
+ <div>
218
+ <div class="text-gray-400">Replica 2</div>
219
+ <div class="font-semibold">Synced</div>
220
+ </div>
221
+ </div>
222
+ </div>
223
+
224
+ <!-- Cache System -->
225
+ <div class="bg-gray-800 rounded-lg p-4">
226
+ <div class="flex items-center justify-between mb-3">
227
+ <div class="flex items-center">
228
+ <span class="status-indicator status-healthy"></span>
229
+ <span class="font-semibold">Redis Cache</span>
230
+ </div>
231
+ <span class="text-sm text-green-500">Optimal</span>
232
+ </div>
233
+ <div class="grid grid-cols-3 gap-4 text-sm">
234
+ <div>
235
+ <div class="text-gray-400">Hit Rate</div>
236
+ <div class="font-semibold">98.7%</div>
237
+ </div>
238
+ <div>
239
+ <div class="text-gray-400">Memory</div>
240
+ <div class="font-semibold">64%</div>
241
+ </div>
242
+ <div>
243
+ <div class="text-gray-400">Connections</div>
244
+ <div class="font-semibold">142</div>
245
+ </div>
246
+ </div>
247
+ </div>
248
+
249
+ <!-- Message Queue -->
250
+ <div class="bg-gray-800 rounded-lg p-4">
251
+ <div class="flex items-center justify-between mb-3">
252
+ <div class="flex items-center">
253
+ <span class="status-indicator status-warning"></span>
254
+ <span class="font-semibold">MQTT Broker</span>
255
+ </div>
256
+ <span class="text-sm text-yellow-500">High Load</span>
257
+ </div>
258
+ <div class="grid grid-cols-3 gap-4 text-sm">
259
+ <div>
260
+ <div class="text-gray-400">Messages/s</div>
261
+ <div class="font-semibold">1,248</div>
262
+ </div>
263
+ <div>
264
+ <div class="text-gray-400">Queue</div>
265
+ <div class="font-semibold">84%</div>
266
+ </div>
267
+ <div>
268
+ <div class="text-gray-400">Clients</div>
269
+ <div class="font-semibold">56</div>
270
+ </div>
271
+ </div>
272
+ </div>
273
+ </div>
274
+ </div>
275
+ </div>
276
+
277
+ <!-- Service Monitoring -->
278
+ <div class="glass-effect rounded-2xl p-6 mb-8">
279
+ <h3 class="text-xl font-semibold mb-6">Service Monitoring</h3>
280
+ <div class="overflow-x-auto">
281
+ <table class="w-full">
282
+ <thead class="bg-gray-800">
283
+ <tr>
284
+ <th class="px-6 py-3 text-left text-sm font-semibold">Service</th>
285
+ <th class="px-6 py-3 text-left text-sm font-semibold">Status</th>
286
+ <th class="px-6 py-3 text-left text-sm font-semibold">Response Time</th>
287
+ <th class="px-6 py-3 text-left text-sm font-semibold">CPU</th>
288
+ <th class="px-6 py-3 text-left text-sm font-semibold">Memory</th>
289
+ <th class="px-6 py-3 text-left text-sm font-semibold">Last Check</th>
290
+ <th class="px-6 py-3 text-left text-sm font-semibold">Actions</th>
291
+ </tr>
292
+ </thead>
293
+ <tbody class="divide-y divide-gray-700">
294
+ <tr class="hover:bg-gray-800 transition-colors">
295
+ <td class="px-6 py-4">
296
+ <div class="flex items-center">
297
+ <span class="status-indicator status-healthy"></span>
298
+ <span class="font-medium">API Gateway</span>
299
+ </div>
300
+ </td>
301
+ <td class="px-6 py-4">
302
+ <span class="px-3 py-1 rounded-full text-sm bg-green-500/20 text-green-500">Healthy</span>
303
+ </td>
304
+ <td class="px-6 py-4">23ms</td>
305
+ <td class="px-6 py-4">
306
+ <div class="flex items-center">
307
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
308
+ <div class="bg-green-500 h-2 rounded-full" style="width: 32%"></div>
309
+ </div>
310
+ 32%
311
+ </div>
312
+ </td>
313
+ <td class="px-6 py-4">
314
+ <div class="flex items-center">
315
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
316
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 45%"></div>
317
+ </div>
318
+ 45%
319
+ </div>
320
+ </td>
321
+ <td class="px-6 py-4 text-gray-400">2 seconds ago</td>
322
+ <td class="px-6 py-4">
323
+ <button class="text-primary-500 hover:text-primary-400 text-sm">Restart</button>
324
+ </td>
325
+ </tr>
326
+ <tr class="hover:bg-gray-800 transition-colors">
327
+ <td class="px-6 py-4">
328
+ <div class="flex items-center">
329
+ <span class="status-indicator status-healthy"></span>
330
+ <span class="font-medium">Signal Service</span>
331
+ </div>
332
+ </td>
333
+ <td class="px-6 py-4">
334
+ <span class="px-3 py-1 rounded-full text-sm bg-green-500/20 text-green-500">Healthy</span>
335
+ </td>
336
+ <td class="px-6 py-4">18ms</td>
337
+ <td class="px-6 py-4">
338
+ <div class="flex items-center">
339
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
340
+ <div class="bg-green-500 h-2 rounded-full" style="width: 28%"></div>
341
+ </div>
342
+ 28%
343
+ </div>
344
+ </td>
345
+ <td class="px-6 py-4">
346
+ <div class="flex items-center">
347
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
348
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 52%"></div>
349
+ </div>
350
+ 52%
351
+ </div>
352
+ </td>
353
+ <td class="px-6 py-4 text-gray-400">5 seconds ago</td>
354
+ <td class="px-6 py-4">
355
+ <button class="text-primary-500 hover:text-primary-400 text-sm">Restart</button>
356
+ </td>
357
+ </tr>
358
+ <tr class="hover:bg-gray-800 transition-colors">
359
+ <td class="px-6 py-4">
360
+ <div class="flex items-center">
361
+ <span class="status-indicator status-warning"></span>
362
+ <span class="font-medium">ML Model Service</span>
363
+ </div>
364
+ </td>
365
+ <td class="px-6 py-4">
366
+ <span class="px-3 py-1 rounded-full text-sm bg-yellow-500/20 text-yellow-500">High Load</span>
367
+ </td>
368
+ <td class="px-6 py-4">67ms</td>
369
+ <td class="px-6 py-4">
370
+ <div class="flex items-center">
371
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
372
+ <div class="bg-yellow-500 h-2 rounded-full" style="width: 78%"></div>
373
+ </div>
374
+ 78%
375
+ </div>
376
+ </td>
377
+ <td class="px-6 py-4">
378
+ <div class="flex items-center">
379
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
380
+ <div class="bg-orange-500 h-2 rounded-full" style="width: 82%"></div>
381
+ </div>
382
+ 82%
383
+ </div>
384
+ </td>
385
+ <td class="px-6 py-4 text-gray-400">10 seconds ago</td>
386
+ <td class="px-6 py-4">
387
+ <button class="text-primary-500 hover:text-primary-400 text-sm">Scale</button>
388
+ </td>
389
+ </tr>
390
+ <tr class="hover:bg-gray-800 transition-colors">
391
+ <td class="px-6 py-4">
392
+ <div class="flex items-center">
393
+ <span class="status-indicator status-healthy"></span>
394
+ <span class="font-medium">Market Data Service</span>
395
+ </div>
396
+ </td>
397
+ <td class="px-6 py-4">
398
+ <span class="px-3 py-1 rounded-full text-sm bg-green-500/20 text-green-500">Healthy</span>
399
+ </td>
400
+ <td class="px-6 py-4">34ms</td>
401
+ <td class="px-6 py-4">
402
+ <div class="flex items-center">
403
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
404
+ <div class="bg-green-500 h-2 rounded-full" style="width: 41%"></div>
405
+ </div>
406
+ 41%
407
+ </div>
408
+ </td>
409
+ <td class="px-6 py-4">
410
+ <div class="flex items-center">
411
+ <div class="w-16 bg-gray-700 rounded-full h-2 mr-2">
412
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 58%"></div>
413
+ </div>
414
+ 58%
415
+ </div>
416
+ </td>
417
+ <td class="px-6 py-4 text-gray-400">3 seconds ago</td>
418
+ <td class="px-6 py-4">
419
+ <button class="text-primary-500 hover:text-primary-400 text-sm">Restart</button>
420
+ </td>
421
+ </tr>
422
+ </tbody>
423
+ </table>
424
+ </div>
425
+ </div>
426
+
427
+ <!-- Alert Center -->
428
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-8 mb-8">
429
+ <!-- Active Alerts -->
430
+ <div class="glass-effect rounded-2xl p-6">
431
+ <h3 class="text-xl font-semibold mb-6">Active Alerts</h3>
432
+ <div class="space-y-4">
433
+ <div class="bg-yellow-500/10 border border-yellow-500/30 rounded-lg p-4">
434
+ <div class="flex justify-between items-start mb-2">
435
+ <span class="font-semibold">High CPU Usage</span>
436
+ <span class="text-yellow-500 text-sm">Warning</span>
437
+ </div>
438
+ <p class="text-sm text-gray-300 mb-2">ML Model Service CPU usage above 75% for 5 minutes</p>
439
+ <div class="text-xs text-gray-400">Triggered 15 minutes ago</div>
440
+ </div>
441
+ <div class="bg-orange-500/10 border border-orange-500/30 rounded-lg p-4">
442
+ <div class="flex justify-between items-start mb-2">
443
+ <span class="font-semibold">Memory Pressure</span>
444
+ <span class="text-orange-500 text-sm">Critical</span>
445
+ </div>
446
+ <p class="text-sm text-gray-300 mb-2">System memory usage at 85% capacity</p>
447
+ <div class="text-xs text-gray-400">Triggered 8 minutes ago</div>
448
+ </div>
449
+ <div class="bg-blue-500/10 border border-blue-500/30 rounded-lg p-4">
450
+ <div class="flex justify-between items-start mb-2">
451
+ <span class="font-semibold">Database Latency</span>
452
+ <span class="text-blue-500 text-sm">Info</span>
453
+ </div>
454
+ <p class="text-sm text-gray-300 mb-2">Query response time increased by 20%</p>
455
+ <div class="text-xs text-gray-400">Triggered 25 minutes ago</div>
456
+ </div>
457
+ </div>
458
+ </div>
459
+
460
+ <!-- Performance Metrics -->
461
+ <div class="glass-effect rounded-2xl p-6">
462
+ <h3 class="text-xl font-semibold mb-6">Performance Metrics</h3>
463
+ <div class="h-64">
464
+ <canvas id="metrics-chart"></canvas>
465
+ </div>
466
+ </div>
467
+ </div>
468
+
469
+ <!-- Log Viewer -->
470
+ <div class="glass-effect rounded-2xl p-6">
471
+ <h3 class="text-xl font-semibold mb-6">Real-time Log Viewer</h3>
472
+ <div class="bg-gray-800 rounded-lg p-4 h-64 overflow-y-auto font-mono text-sm">
473
+ <div class="text-green-400">[INFO] 14:23:45 - API Gateway: Processed 142 requests in last minute</div>
474
+ <div class="text-blue-400">[DEBUG] 14:23:42 - Signal Service: Generated BUY signal for EUR/USD</div>
475
+ <div class="text-gray-400">[INFO] 14:23:40 - Market Data: Updated 56 currency pairs</div>
476
+ <div class="text-yellow-400">[WARN] 14:23:38 - ML Service: Model inference latency 45ms</div>
477
+ <div class="text-green-400">[INFO] 14:23:35 - Database: Connection pool healthy (42 active)</div>
478
+ <div class="text-blue-400">[DEBUG] 14:23:32 - Trading Engine: Executed order #884732</div>
479
+ <div class="text-gray-400">[INFO] 14:23:30 - Cache: Hit rate 98.7% (12,485 requests)</div>
480
+ <div class="text-green-400">[INFO] 14:23:28 - Monitoring: All systems operational</div>
481
+ <div class="text-blue-400">[DEBUG] 14:23:25 - Strategy Service: Backtest completed</div>
482
+ <div class="text-gray-400">[INFO] 14:23:22 - Notification: Sent 3 trade alerts</div>
483
+ </div>
484
+ </div>
485
+ </main>
486
+
487
+ <script>
488
+ // Initialize Feather Icons
489
+ feather.replace();
490
+
491
+ // Performance Chart
492
+ const perfCtx = document.getElementById('performance-chart').getContext('2d');
493
+ const perfChart = new Chart(perfCtx, {
494
+ type: 'line',
495
+ data: {
496
+ labels: Array.from({length: 24}, (_, i) => `${i}:00`),
497
+ datasets: [{
498
+ label: 'CPU Usage',
499
+ data: Array.from({length: 24}, () => 20 + Math.random() * 60),
500
+ borderColor: '#0ea5e9',
501
+ backgroundColor: 'rgba(14, 165, 233, 0.1)',
502
+ fill: true,
503
+ tension: 0.4
504
+ }, {
505
+ label: 'Memory Usage',
506
+ data: Array.from({length: 24}, () => 40 + Math.random() * 40),
507
+ borderColor: '#d946ef',
508
+ backgroundColor: 'rgba(217, 70, 239, 0.1)',
509
+ fill: true,
510
+ tension: 0.4
511
+ }, {
512
+ label: 'Network I/O',
513
+ data: Array.from({length: 24}, () => 10 + Math.random() * 30),
514
+ borderColor: '#10b981',
515
+ backgroundColor: 'rgba(16, 185, 129, 0.1)',
516
+ fill: true,
517
+ tension: 0.4
518
+ }]
519
+ },
520
+ options: {
521
+ responsive: true,
522
+ maintainAspectRatio: false,
523
+ plugins: {
524
+ legend: {
525
+ labels: { color: 'rgba(255, 255, 255, 0.7)' }
526
+ }
527
+ },
528
+ scales: {
529
+ x: {
530
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
531
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
532
+ },
533
+ y: {
534
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
535
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
536
+ }
537
+ }
538
+ }
539
+ });
540
+
541
+ // Metrics Chart
542
+ const metricsCtx = document.getElementById('metrics-chart').getContext('2d');
543
+ const metricsChart = new Chart(metricsCtx, {
544
+ type: 'bar',
545
+ data: {
546
+ labels: ['API Latency', 'DB Queries', 'Cache Hits', 'Messages/s', 'Errors'],
547
+ datasets: [{
548
+ label: 'Current',
549
+ data: [23, 142, 12485, 1248, 2],
550
+ backgroundColor: '#0ea5e9',
551
+ borderColor: '#0ea5e9',
552
+ borderWidth: 1
553
+ }, {
554
+ label: 'Average',
555
+ data: [28, 135, 11800, 1100, 1],
556
+ backgroundColor: '#d946ef',
557
+ borderColor: '#d946ef',
558
+ borderWidth: 1
559
+ }]
560
+ },
561
+ options: {
562
+ responsive: true,
563
+ maintainAspectRatio: false,
564
+ plugins: {
565
+ legend: {
566
+ labels: { color: 'rgba(255, 255, 255, 0.7)' }
567
+ }
568
+ },
569
+ scales: {
570
+ x: {
571
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
572
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
573
+ },
574
+ y: {
575
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
576
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
577
+ }
578
+ }
579
+ }
580
+ });
581
+
582
+ // Simulate real-time updates
583
+ setInterval(() => {
584
+ // Update performance chart
585
+ perfChart.data.datasets.forEach(dataset => {
586
+ dataset.data.push(Math.random() * 80 + 20);
587
+ dataset.data.shift();
588
+ });
589
+ perfChart.update('none');
590
+
591
+ // Update metrics chart with random variations
592
+ metricsChart.data.datasets[0].data = metricsChart.data.datasets[0].data.map(value =>
593
+ Math.max(0, value + (Math.random() - 0.5) * 20)
594
+ );
595
+ metricsChart.update('none');
596
+
597
+ // Add new log entry
598
+ const logContainer = document.querySelector('.font-mono');
599
+ const logTypes = [
600
+ { class: 'text-green-400', prefix: '[INFO]' },
601
+ { class: 'text-blue-400', prefix: '[DEBUG]' },
602
+ { class: 'text-yellow-400', prefix: '[WARN]' },
603
+ { class: 'text-gray-400', prefix: '[INFO]' }
604
+ ];
605
+ const logType = logTypes[Math.floor(Math.random() * logTypes.length)];
606
+ const now = new Date();
607
+ const time = `${now.getHours()}:${now.getMinutes()}:${now.getSeconds()}`;
608
+ const messages = [
609
+ 'API Gateway: Processed requests',
610
+ 'Signal Service: Market analysis',
611
+ 'Market Data: Price updates',
612
+ 'ML Service: Model inference',
613
+ 'Database: Query execution',
614
+ 'Cache: Memory optimization',
615
+ 'Trading Engine: Order processing'
616
+ ];
617
+ const message = messages[Math.floor(Math.random() * messages.length)];
618
+
619
+ const logEntry = document.createElement('div');
620
+ logEntry.className = logType.class;
621
+ logEntry.textContent = `${logType.prefix} ${time} - ${message}`;
622
+
623
+ logContainer.appendChild(logEntry);
624
+ logContainer.scrollTop = logContainer.scrollHeight;
625
+
626
+ // Keep only last 10 log entries
627
+ if (logContainer.children.length > 10) {
628
+ logContainer.removeChild(logContainer.firstChild);
629
+ }
630
+ }, 3000);
631
+
632
+ // Add animations
633
+ anime({
634
+ targets: '.metric-card',
635
+ translateY: [20, 0],
636
+ opacity: [0, 1],
637
+ duration: 600,
638
+ delay: anime.stagger(100),
639
+ easing: 'easeOutQuad'
640
+ });
641
+ </script>
642
+ </body>
643
+ </
644
+ </html>
strategies.html ADDED
@@ -0,0 +1,533 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Strategies - QuantumTrade Nexus</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.min.js"></script>
13
+ <script>
14
+ tailwind.config = {
15
+ darkMode: 'class',
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ primary: {
20
+ 50: '#f0f9ff',
21
+ 100: '#e0f2fe',
22
+ 200: '#bae6fd',
23
+ 300: '#7dd3fc',
24
+ 400: '#38bdf8',
25
+ 500: '#0ea5e9',
26
+ 600: '#0284c7',
27
+ 700: '#0369a1',
28
+ 800: '#075985',
29
+ 900: '#0c4a6e',
30
+ },
31
+ secondary: {
32
+ 50: '#fdf4ff',
33
+ 100: '#fae8ff',
34
+ 200: '#f5d0fe',
35
+ 300: '#f0abfc',
36
+ 400: '#e879f9',
37
+ 500: '#d946ef',
38
+ 600: '#c026d3',
39
+ 700: '#a21caf',
40
+ 800: '#86198f',
41
+ 900: '#701a75',
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ </script>
48
+ <style>
49
+ .glass-effect {
50
+ background: rgba(255, 255, 255, 0.05);
51
+ backdrop-filter: blur(20px);
52
+ border: 1px solid rgba(255, 255, 255, 0.1);
53
+ }
54
+
55
+ .strategy-card {
56
+ transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
57
+ }
58
+
59
+ .strategy-card:hover {
60
+ transform: translateY(-5px);
61
+ box-shadow: 0 20px 40px -10px rgba(0, 0, 0, 0.3);
62
+ }
63
+
64
+ .parameter-slider {
65
+ -webkit-appearance: none;
66
+ width: 100%;
67
+ height: 4px;
68
+ background: #374151;
69
+ border-radius: 2px;
70
+ outline: none;
71
+ }
72
+
73
+ .parameter-slider::-webkit-slider-thumb {
74
+ -webkit-appearance: none;
75
+ appearance: none;
76
+ width: 16px;
77
+ height: 16px;
78
+ background: #0ea5e9;
79
+ border-radius: 50%;
80
+ cursor: pointer;
81
+ }
82
+
83
+ .strategy-badge {
84
+ font-size: 0.75rem;
85
+ padding: 0.25rem 0.5rem;
86
+ border-radius: 0.375rem;
87
+ font-weight: 600;
88
+ }
89
+ </style>
90
+ </head>
91
+ <body class="bg-gray-900 text-white min-h-screen">
92
+ <!-- Navigation -->
93
+ <nav class="glass-effect border-b border-gray-800 sticky top-0 z-50">
94
+ <div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8">
95
+ <div class="flex justify-between items-center h-16">
96
+ <div class="flex items-center space-x-3">
97
+ <a href="index.html" class="flex items-center space-x-3">
98
+ <div class="w-10 h-10 bg-gradient-to-br from-primary-500 to-secondary-500 rounded-lg flex items-center justify-center">
99
+ <i data-feather="trending-up" class="w-6 h-6"></i>
100
+ </div>
101
+ <span class="text-xl font-bold bg-gradient-to-r from-primary-500 to-secondary-500 bg-clip-text text-transparent">QuantumTrade</span>
102
+ </a>
103
+ </div>
104
+
105
+ <div class="hidden md:flex items-center space-x-8">
106
+ <a href="index.html" class="text-gray-300 hover:text-white transition-colors duration-200">Dashboard</a>
107
+ <a href="trading.html" class="text-gray-300 hover:text-white transition-colors duration-200">Trading</a>
108
+ <a href="analytics.html" class="text-gray-300 hover:text-white transition-colors duration-200">Analytics</a>
109
+ <a href="strategies.html" class="text-primary-400 hover:text-primary-300 transition-colors duration-200 font-medium">Strategies</a>
110
+ <a href="monitoring.html" class="text-gray-300 hover:text-white transition-colors duration-200">Monitoring</a>
111
+ </div>
112
+
113
+ <div class="flex items-center space-x-4">
114
+ <div class="hidden md:flex items-center space-x-2 text-sm">
115
+ <span class="text-gray-400">Strategies</span>
116
+ <div class="w-2 h-2 bg-purple-500 rounded-full animate-pulse"></div>
117
+ </div>
118
+ <button class="p-2 rounded-lg glass-effect hover:bg-gray-800 transition-colors duration-200">
119
+ <i data-feather="settings" class="w-5 h-5"></i>
120
+ </button>
121
+ </div>
122
+ </div>
123
+ </div>
124
+ </nav>
125
+
126
+ <!-- Strategies Dashboard -->
127
+ <main class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
128
+ <!-- Header -->
129
+ <div class="mb-8">
130
+ <h1 class="text-4xl font-bold mb-2">Trading Strategies</h1>
131
+ <p class="text-gray-400">AI-powered algorithmic strategies with real-time optimization and backtesting</p>
132
+ </div>
133
+
134
+ <!-- Strategy Grid -->
135
+ <div class="grid grid-cols-1 lg:grid-cols-2 xl:grid-cols-3 gap-6 mb-8">
136
+ <!-- Strategy Card 1 -->
137
+ <div class="glass-effect rounded-2xl p-6 strategy-card">
138
+ <div class="flex items-center justify-between mb-4">
139
+ <div class="flex items-center space-x-3">
140
+ <div class="w-12 h-12 bg-gradient-to-br from-green-500 to-blue-500 rounded-lg flex items-center justify-center">
141
+ <i data-feather="zap" class="w-6 h-6"></i>
142
+ </div>
143
+ <div>
144
+ <h3 class="font-semibold">Momentum Scalper</h3>
145
+ <span class="text-xs text-gray-400">High-Frequency</span>
146
+ </div>
147
+ </div>
148
+ <span class="strategy-badge bg-green-500/20 text-green-500">Active</span>
149
+ </div>
150
+ <p class="text-sm text-gray-300 mb-4">
151
+ Captures short-term momentum using ML pattern recognition and real-time order flow analysis.
152
+ </p>
153
+ <div class="space-y-3 mb-4">
154
+ <div class="flex justify-between text-sm">
155
+ <span class="text-gray-400">Performance</span>
156
+ <span class="text-green-500 font-semibold">+15.2%</span>
157
+ </div>
158
+ <div class="flex justify-between text-sm">
159
+ <span class="text-gray-400">Win Rate</span>
160
+ <span>74.8%</span>
161
+ </div>
162
+ <div class="flex justify-between text-sm">
163
+ <span class="text-gray-400">Trades/Day</span>
164
+ <span>42</span>
165
+ </div>
166
+ </div>
167
+ <div class="flex space-x-2">
168
+ <button class="flex-1 bg-primary-500 hover:bg-primary-600 text-white py-2 px-4 rounded-lg transition-colors">
169
+ Configure
170
+ </button>
171
+ <button class="flex-1 bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">
172
+ Backtest
173
+ </button>
174
+ </div>
175
+ </div>
176
+
177
+ <!-- Strategy Card 2 -->
178
+ <div class="glass-effect rounded-2xl p-6 strategy-card">
179
+ <div class="flex items-center justify-between mb-4">
180
+ <div class="flex items-center space-x-3">
181
+ <div class="w-12 h-12 bg-gradient-to-br from-blue-500 to-purple-500 rounded-lg flex items-center justify-center">
182
+ <i data-feather="repeat" class="w-6 h-6"></i>
183
+ </div>
184
+ <div>
185
+ <h3 class="font-semibold">Mean Reversion</h3>
186
+ <span class="text-xs text-gray-400">Statistical</span>
187
+ </div>
188
+ </div>
189
+ <span class="strategy-badge bg-green-500/20 text-green-500">Active</span>
190
+ </div>
191
+ <p class="text-sm text-gray-300 mb-4">
192
+ Identifies overextended price movements and capitalizes on reversion to statistical means.
193
+ </p>
194
+ <div class="space-y-3 mb-4">
195
+ <div class="flex justify-between text-sm">
196
+ <span class="text-gray-400">Performance</span>
197
+ <span class="text-green-500 font-semibold">+9.7%</span>
198
+ </div>
199
+ <div class="flex justify-between text-sm">
200
+ <span class="text-gray-400">Win Rate</span>
201
+ <span>68.3%</span>
202
+ </div>
203
+ <div class="flex justify-between text-sm">
204
+ <span class="text-gray-400">Trades/Day</span>
205
+ <span>18</span>
206
+ </div>
207
+ </div>
208
+ <div class="flex space-x-2">
209
+ <button class="flex-1 bg-primary-500 hover:bg-primary-600 text-white py-2 px-4 rounded-lg transition-colors">
210
+ Configure
211
+ </button>
212
+ <button class="flex-1 bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">
213
+ Backtest
214
+ </button>
215
+ </div>
216
+ </div>
217
+
218
+ <!-- Strategy Card 3 -->
219
+ <div class="glass-effect rounded-2xl p-6 strategy-card">
220
+ <div class="flex items-center justify-between mb-4">
221
+ <div class="flex items-center space-x-3">
222
+ <div class="w-12 h-12 bg-gradient-to-br from-purple-500 to-pink-500 rounded-lg flex items-center justify-center">
223
+ <i data-feather="cpu" class="w-6 h-6"></i>
224
+ </div>
225
+ <div>
226
+ <h3 class="font-semibold">ML Trend Follower</h3>
227
+ <span class="text-xs text-gray-400">AI-Powered</span>
228
+ </div>
229
+ </div>
230
+ <span class="strategy-badge bg-green-500/20 text-green-500">Active</span>
231
+ </div>
232
+ <p class="text-sm text-gray-300 mb-4">
233
+ Uses deep learning models to identify and follow emerging trends with high accuracy.
234
+ </p>
235
+ <div class="space-y-3 mb-4">
236
+ <div class="flex justify-between text-sm">
237
+ <span class="text-gray-400">Performance</span>
238
+ <span class="text-green-500 font-semibold">+22.4%</span>
239
+ </div>
240
+ <div class="flex justify-between text-sm">
241
+ <span class="text-gray-400">Win Rate</span>
242
+ <span>81.2%</span>
243
+ </div>
244
+ <div class="flex justify-between text-sm">
245
+ <span class="text-gray-400">Trades/Day</span>
246
+ <span>8</span>
247
+ </div>
248
+ </div>
249
+ <div class="flex space-x-2">
250
+ <button class="flex-1 bg-primary-500 hover:bg-primary-600 text-white py-2 px-4 rounded-lg transition-colors">
251
+ Configure
252
+ </button>
253
+ <button class="flex-1 bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">
254
+ Backtest
255
+ </button>
256
+ </div>
257
+ </div>
258
+
259
+ <!-- Strategy Card 4 -->
260
+ <div class="glass-effect rounded-2xl p-6 strategy-card">
261
+ <div class="flex items-center justify-between mb-4">
262
+ <div class="flex items-center space-x-3">
263
+ <div class="w-12 h-12 bg-gradient-to-br from-yellow-500 to-orange-500 rounded-lg flex items-center justify-center">
264
+ <i data-feather="refresh-cw" class="w-6 h-6"></i>
265
+ </div>
266
+ <div>
267
+ <h3 class="font-semibold">Arbitrage Bot</h3>
268
+ <span class="text-xs text-gray-400">Market Making</span>
269
+ </div>
270
+ </div>
271
+ <span class="strategy-badge bg-yellow-500/20 text-yellow-500">Testing</span>
272
+ </div>
273
+ <p class="text-sm text-gray-300 mb-4">
274
+ Exploits price discrepancies across multiple exchanges with sub-millisecond execution.
275
+ </p>
276
+ <div class="space-y-3 mb-4">
277
+ <div class="flex justify-between text-sm">
278
+ <span class="text-gray-400">Performance</span>
279
+ <span class="text-green-500 font-semibold">+5.3%</span>
280
+ </div>
281
+ <div class="flex justify-between text-sm">
282
+ <span class="text-gray-400">Win Rate</span>
283
+ <span>92.1%</span>
284
+ </div>
285
+ <div class="flex justify-between text-sm">
286
+ <span class="text-gray-400">Trades/Day</span>
287
+ <span>156</span>
288
+ </div>
289
+ </div>
290
+ <div class="flex space-x-2">
291
+ <button class="flex-1 bg-primary-500 hover:bg-primary-600 text-white py-2 px-4 rounded-lg transition-colors">
292
+ Configure
293
+ </button>
294
+ <button class="flex-1 bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">
295
+ Backtest
296
+ </button>
297
+ </div>
298
+ </div>
299
+
300
+ <!-- Strategy Card 5 -->
301
+ <div class="glass-effect rounded-2xl p-6 strategy-card">
302
+ <div class="flex items-center justify-between mb-4">
303
+ <div class="flex items-center space-x-3">
304
+ <div class="w-12 h-12 bg-gradient-to-br from-red-500 to-pink-500 rounded-lg flex items-center justify-center">
305
+ <i data-feather="shield" class="w-6 h-6"></i>
306
+ </div>
307
+ <div>
308
+ <h3 class="font-semibold">Hedging Strategy</h3>
309
+ <span class="text-xs text-gray-400">Risk Management</span>
310
+ </div>
311
+ </div>
312
+ <span class="strategy-badge bg-blue-500/20 text-blue-500">Paused</span>
313
+ </div>
314
+ <p class="text-sm text-gray-300 mb-4">
315
+ Advanced portfolio hedging using options and futures to minimize downside risk.
316
+ </p>
317
+ <div class="space-y-3 mb-4">
318
+ <div class="flex justify-between text-sm">
319
+ <span class="text-gray-400">Performance</span>
320
+ <span class="text-green-500 font-semibold">+3.8%</span>
321
+ </div>
322
+ <div class="flex justify-between text-sm">
323
+ <span class="text-gray-400">Win Rate</span>
324
+ <span>85.4%</span>
325
+ </div>
326
+ <div class="flex justify-between text-sm">
327
+ <span class="text-gray-400">Trades/Day</span>
328
+ <span>6</span>
329
+ </div>
330
+ </div>
331
+ <div class="flex space-x-2">
332
+ <button class="flex-1 bg-primary-500 hover:bg-primary-600 text-white py-2 px-4 rounded-lg transition-colors">
333
+ Configure
334
+ </button>
335
+ <button class="flex-1 bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">
336
+ Backtest
337
+ </button>
338
+ </div>
339
+ </div>
340
+
341
+ <!-- Create New Strategy -->
342
+ <div class="glass-effect rounded-2xl p-6 strategy-card border-2 border-dashed border-gray-600 hover:border-primary-500 transition-colors">
343
+ <div class="flex flex-col items-center justify-center h-full text-center">
344
+ <div class="w-16 h-16 bg-gray-800 rounded-full flex items-center justify-center mb-4">
345
+ <i data-feather="plus" class="w-8 h-8 text-gray-400"></i>
346
+ </div>
347
+ <h3 class="font-semibold mb-2">Create New Strategy</h3>
348
+ <p class="text-sm text-gray-400 mb-4">
349
+ Build custom algorithmic strategies using our visual strategy builder
350
+ </p>
351
+ <button class="bg-gradient-to-r from-primary-500 to-secondary-500 hover:from-primary-600 hover:to-secondary-600 text-white px-6 py-3 rounded-lg font-semibold transition-all duration-300">
352
+ Start Building
353
+ </button>
354
+ </div>
355
+ </div>
356
+ </div>
357
+
358
+ <!-- Strategy Configuration -->
359
+ <div class="glass-effect rounded-2xl p-6 mb-8">
360
+ <h2 class="text-2xl font-semibold mb-6">Strategy Configuration</h2>
361
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-8">
362
+ <!-- Parameters -->
363
+ <div>
364
+ <h3 class="text-lg font-semibold mb-4 text-primary-400">Trading Parameters</h3>
365
+ <div class="space-y-6">
366
+ <div>
367
+ <label class="block text-sm font-medium mb-2">Risk per Trade</label>
368
+ <input type="range" min="0.1" max="5" step="0.1" value="2" class="parameter-slider">
369
+ <div class="flex justify-between text-sm text-gray-400 mt-1">
370
+ <span>0.1%</span>
371
+ <span>2.0%</span>
372
+ <span>5.0%</span>
373
+ </div>
374
+ </div>
375
+ <div>
376
+ <label class="block text-sm font-medium mb-2">Maximum Drawdown</label>
377
+ <input type="range" min="1" max="20" step="1" value="10" class="parameter-slider">
378
+ <div class="flex justify-between text-sm text-gray-400 mt-1">
379
+ <span>1%</span>
380
+ <span>10%</span>
381
+ <span>20%</span>
382
+ </div>
383
+ </div>
384
+ <div>
385
+ <label class="block text-sm font-medium mb-2">Trade Frequency</label>
386
+ <input type="range" min="1" max="100" step="1" value="25" class="parameter-slider">
387
+ <div class="flex justify-between text-sm text-gray-400 mt-1">
388
+ <span>Low</span>
389
+ <span>Medium</span>
390
+ <span>High</span>
391
+ </div>
392
+ </div>
393
+ </div>
394
+ </div>
395
+
396
+ <!-- Performance Preview -->
397
+ <div>
398
+ <h3 class="text-lg font-semibold mb-4 text-secondary-400">Performance Preview</h3>
399
+ <div class="h-64">
400
+ <canvas id="strategy-preview-chart"></canvas>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ </div>
405
+
406
+ <!-- Backtesting Results -->
407
+ <div class="glass-effect rounded-2xl p-6">
408
+ <h2 class="text-2xl font-semibold mb-6">Backtesting Results</h2>
409
+ <div class="overflow-x-auto">
410
+ <table class="w-full">
411
+ <thead class="bg-gray-800">
412
+ <tr>
413
+ <th class="px-6 py-3 text-left text-sm font-semibold">Strategy</th>
414
+ <th class="px-6 py-3 text-left text-sm font-semibold">Period</th>
415
+ <th class="px-6 py-3 text-left text-sm font-semibold">Return</th>
416
+ <th class="px-6 py-3 text-left text-sm font-semibold">Sharpe</th>
417
+ <th class="px-6 py-3 text-left text-sm font-semibold">Max DD</th>
418
+ <th class="px-6 py-3 text-left text-sm font-semibold">Win Rate</th>
419
+ <th class="px-6 py-3 text-left text-sm font-semibold">Actions</th>
420
+ </tr>
421
+ </thead>
422
+ <tbody class="divide-y divide-gray-700">
423
+ <tr class="hover:bg-gray-800 transition-colors">
424
+ <td class="px-6 py-4 font-medium">Momentum Scalper v2.1</td>
425
+ <td class="px-6 py-4 text-gray-400">Jan 2024 - Present</td>
426
+ <td class="px-6 py-4 font-semibold text-green-500">+15.2%</td>
427
+ <td class="px-6 py-4">1.89</td>
428
+ <td class="px-6 py-4 text-red-500">-3.2%</td>
429
+ <td class="px-6 py-4">74.8%</td>
430
+ <td class="px-6 py-4">
431
+ <button class="text-primary-500 hover:text-primary-400 text-sm mr-3">View Report</button>
432
+ <button class="text-gray-400 hover:text-white text-sm">Export</button>
433
+ </td>
434
+ </tr>
435
+ <tr class="hover:bg-gray-800 transition-colors">
436
+ <td class="px-6 py-4 font-medium">ML Trend Follower v1.5</td>
437
+ <td class="px-6 py-4 text-gray-400">Mar 2024 - Present</td>
438
+ <td class="px-6 py-4 font-semibold text-green-500">+22.4%</td>
439
+ <td class="px-6 py-4">2.34</td>
440
+ <td class="px-6 py-4 text-red-500">-2.8%</td>
441
+ <td class="px-6 py-4">81.2%</td>
442
+ <td class="px-6 py-4">
443
+ <button class="text-primary-500 hover:text-primary-400 text-sm mr-3">View Report</button>
444
+ <button class="text-gray-400 hover:text-white text-sm">Export</button>
445
+ </td>
446
+ </tr>
447
+ <tr class="hover:bg-gray-800 transition-colors">
448
+ <td class="px-6 py-4 font-medium">Arbitrage Bot v0.8</td>
449
+ <td class="px-6 py-4 text-gray-400">Apr 2024 - Present</td>
450
+ <td class="px-6 py-4 font-semibold text-green-500">+5.3%</td>
451
+ <td class="px-6 py-4">0.87</td>
452
+ <td class="px-6 py-4 text-red-500">-1.2%</td>
453
+ <td class="px-6 py-4">92.1%</td>
454
+ <td class="px-6 py-4">
455
+ <button class="text-primary-500 hover:text-primary-400 text-sm mr-3">View Report</button>
456
+ <button class="text-gray-400 hover:text-white text-sm">Export</button>
457
+ </td>
458
+ </tr>
459
+ </tbody>
460
+ </table>
461
+ </div>
462
+ </div>
463
+ </main>
464
+
465
+ <script>
466
+ // Initialize Feather Icons
467
+ feather.replace();
468
+
469
+ // Strategy Preview Chart
470
+ const previewCtx = document.getElementById('strategy-preview-chart').getContext('2d');
471
+ const previewChart = new Chart(previewCtx, {
472
+ type: 'line',
473
+ data: {
474
+ labels: Array.from({length: 12}, (_, i) => `M${i+1}`),
475
+ datasets: [{
476
+ label: 'Strategy Equity',
477
+ data: Array.from({length: 12}, (_, i) => 10000 + i * 500 + Math.random() * 1000),
478
+ borderColor: '#0ea5e9',
479
+ backgroundColor: 'rgba(14, 165, 233, 0.1)',
480
+ fill: true,
481
+ tension: 0.4
482
+ }, {
483
+ label: 'Benchmark',
484
+ data: Array.from({length: 12}, (_, i) => 10000 + i * 300 + Math.random() * 800),
485
+ borderColor: '#d946ef',
486
+ backgroundColor: 'rgba(217, 70, 239, 0.1)',
487
+ fill: true,
488
+ tension: 0.4,
489
+ borderDash: [5, 5]
490
+ }]
491
+ },
492
+ options: {
493
+ responsive: true,
494
+ maintainAspectRatio: false,
495
+ plugins: {
496
+ legend: {
497
+ labels: { color: 'rgba(255, 255, 255, 0.7)' }
498
+ }
499
+ },
500
+ scales: {
501
+ x: {
502
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
503
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
504
+ },
505
+ y: {
506
+ grid: { color: 'rgba(255, 255, 255, 0.1)' },
507
+ ticks: { color: 'rgba(255, 255, 255, 0.7)' }
508
+ }
509
+ }
510
+ }
511
+ });
512
+
513
+ // Slider interactivity
514
+ const sliders = document.querySelectorAll('.parameter-slider');
515
+ sliders.forEach(slider => {
516
+ slider.addEventListener('input', function() {
517
+ // Update chart based on slider values
518
+ previewChart.update();
519
+ });
520
+ });
521
+
522
+ // Card animations
523
+ anime({
524
+ targets: '.strategy-card',
525
+ translateY: [30, 0],
526
+ opacity: [0, 1],
527
+ duration: 800,
528
+ delay: anime.stagger(100),
529
+ easing: 'easeOutQuad'
530
+ });
531
+ </script>
532
+ </body>
533
+ </html>
trading.html ADDED
@@ -0,0 +1,636 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en" class="dark">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Trading Terminal - QuantumTrade Nexus</title>
7
+ <link rel="icon" type="image/x-icon" href="/static/favicon.ico">
8
+ <script src="https://cdn.tailwindcss.com"></script>
9
+ <script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
10
+ <script src="https://unpkg.com/feather-icons"></script>
11
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
12
+ <script src="https://cdn.jsdelivr.net/npm/animejs/lib/anime.min.js"></script>
13
+ <script>
14
+ tailwind.config = {
15
+ darkMode: 'class',
16
+ theme: {
17
+ extend: {
18
+ colors: {
19
+ primary: {
20
+ 50: '#f0f9ff',
21
+ 100: '#e0f2fe',
22
+ 200: '#bae6fd',
23
+ 300: '#7dd3fc',
24
+ 400: '#38bdf8',
25
+ 500: '#0ea5e9',
26
+ 600: '#0284c7',
27
+ 700: '#0369a1',
28
+ 800: '#075985',
29
+ 900: '#0c4a6e',
30
+ },
31
+ secondary: {
32
+ 50: '#fdf4ff',
33
+ 100: '#fae8ff',
34
+ 200: '#f5d0fe',
35
+ 300: '#f0abfc',
36
+ 400: '#e879f9',
37
+ 500: '#d946ef',
38
+ 600: '#c026d3',
39
+ 700: '#a21caf',
40
+ 800: '#86198f',
41
+ 900: '#701a75',
42
+ }
43
+ }
44
+ }
45
+ }
46
+ }
47
+ </script>
48
+ <style>
49
+ .glass-effect {
50
+ background: rgba(255, 255, 255, 0.05);
51
+ backdrop-filter: blur(20px);
52
+ border: 1px solid rgba(255, 255, 255, 0.1);
53
+ }
54
+
55
+ .trading-terminal {
56
+ background: linear-gradient(135deg, rgba(14, 165, 233, 0.1) 0%, rgba(217, 70, 239, 0.1) 100%);
57
+ }
58
+
59
+ .order-book {
60
+ scrollbar-width: thin;
61
+ scrollbar-color: rgba(14, 165, 233, 0.5) transparent;
62
+ }
63
+
64
+ .order-book::-webkit-scrollbar {
65
+ width: 6px;
66
+ }
67
+
68
+ .order-book::-webkit-scrollbar-track {
69
+ background: transparent;
70
+ }
71
+
72
+ .order-book::-webkit-scrollbar-thumb {
73
+ background: rgba(14, 165, 233, 0.5);
74
+ border-radius: 3px;
75
+ }
76
+
77
+ .price-up {
78
+ color: #10b981;
79
+ animation: pulse-green 2s infinite;
80
+ }
81
+
82
+ .price-down {
83
+ color: #ef4444;
84
+ animation: pulse-red 2s infinite;
85
+ }
86
+
87
+ @keyframes pulse-green {
88
+ 0%, 100% { opacity: 1; }
89
+ 50% { opacity: 0.5; }
90
+ }
91
+
92
+ @keyframes pulse-red {
93
+ 0%, 100% { opacity: 1; }
94
+ 50% { opacity: 0.5; }
95
+ }
96
+ </style>
97
+ </head>
98
+ <body class="bg-gray-900 text-white min-h-screen">
99
+ <!-- Navigation -->
100
+ <nav class="glass-effect border-b border-gray-800 sticky top-0 z-50">
101
+ <div class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8">
102
+ <div class="flex justify-between items-center h-16">
103
+ <div class="flex items-center space-x-3">
104
+ <a href="index.html" class="flex items-center space-x-3">
105
+ <div class="w-10 h-10 bg-gradient-to-br from-primary-500 to-secondary-500 rounded-lg flex items-center justify-center">
106
+ <i data-feather="trending-up" class="w-6 h-6"></i>
107
+ </div>
108
+ <span class="text-xl font-bold bg-gradient-to-r from-primary-500 to-secondary-500 bg-clip-text text-transparent">QuantumTrade</span>
109
+ </a>
110
+ </div>
111
+
112
+ <div class="hidden md:flex items-center space-x-8">
113
+ <a href="index.html" class="text-gray-300 hover:text-white transition-colors duration-200">Dashboard</a>
114
+ <a href="trading.html" class="text-primary-400 hover:text-primary-300 transition-colors duration-200 font-medium">Trading</a>
115
+ <a href="analytics.html" class="text-gray-300 hover:text-white transition-colors duration-200">Analytics</a>
116
+ <a href="strategies.html" class="text-gray-300 hover:text-white transition-colors duration-200">Strategies</a>
117
+ <a href="monitoring.html" class="text-gray-300 hover:text-white transition-colors duration-200">Monitoring</a>
118
+ </div>
119
+
120
+ <div class="flex items-center space-x-4">
121
+ <div class="hidden md:flex items-center space-x-2 text-sm">
122
+ <span class="text-gray-400">Live</span>
123
+ <div class="w-2 h-2 bg-green-500 rounded-full animate-pulse"></div>
124
+ </div>
125
+ <button class="p-2 rounded-lg glass-effect hover:bg-gray-800 transition-colors duration-200">
126
+ <i data-feather="settings" class="w-5 h-5"></i>
127
+ </button>
128
+ </div>
129
+ </div>
130
+ </div>
131
+ </nav>
132
+
133
+ <!-- Trading Terminal -->
134
+ <main class="max-w-8xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
135
+ <div class="grid grid-cols-1 xl:grid-cols-4 gap-6">
136
+ <!-- Left Sidebar - Market Overview -->
137
+ <div class="xl:col-span-1 space-y-6">
138
+ <!-- Market Selector -->
139
+ <div class="glass-effect rounded-2xl p-6">
140
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
141
+ <i data-feather="bar-chart-2" class="w-5 h-5 mr-2 text-primary-500"></i>
142
+ Market Selection
143
+ </h3>
144
+ <div class="space-y-3">
145
+ <select class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:border-primary-500">
146
+ <option>Forex - Major Pairs</option>
147
+ <option>Cryptocurrencies</option>
148
+ <option>Indices</option>
149
+ <option>Commodities</option>
150
+ <option>Stocks</option>
151
+ </select>
152
+ <div class="grid grid-cols-2 gap-2">
153
+ <button class="bg-primary-500 hover:bg-primary-600 text-white py-2 px-4 rounded-lg transition-colors">EUR/USD</button>
154
+ <button class="bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">GBP/USD</button>
155
+ <button class="bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">USD/JPY</button>
156
+ <button class="bg-gray-800 hover:bg-gray-700 text-white py-2 px-4 rounded-lg transition-colors">BTC/USD</button>
157
+ </div>
158
+ </div>
159
+ </div>
160
+
161
+ <!-- Quick Stats -->
162
+ <div class="glass-effect rounded-2xl p-6">
163
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
164
+ <i data-feather="activity" class="w-5 h-5 mr-2 text-secondary-500"></i>
165
+ Quick Stats
166
+ </h3>
167
+ <div class="space-y-4">
168
+ <div>
169
+ <div class="flex justify-between text-sm text-gray-400">
170
+ <span>Balance</span>
171
+ <span>$25,847.32</span>
172
+ </div>
173
+ <div class="w-full bg-gray-700 rounded-full h-2 mt-1">
174
+ <div class="bg-green-500 h-2 rounded-full" style="width: 65%"></div>
175
+ </div>
176
+ </div>
177
+ <div>
178
+ <div class="flex justify-between text-sm text-gray-400">
179
+ <span>Open Positions</span>
180
+ <span>3</span>
181
+ </div>
182
+ <div class="w-full bg-gray-700 rounded-full h-2 mt-1">
183
+ <div class="bg-blue-500 h-2 rounded-full" style="width: 30%"></div>
184
+ </div>
185
+ </div>
186
+ <div>
187
+ <div class="flex justify-between text-sm text-gray-400">
188
+ <span>Today's P&L</span>
189
+ <span class="text-green-500">+$342.18</span>
190
+ </div>
191
+ <div class="w-full bg-gray-700 rounded-full h-2 mt-1">
192
+ <div class="bg-green-500 h-2 rounded-full" style="width: 85%"></div>
193
+ </div>
194
+ </div>
195
+ </div>
196
+ </div>
197
+
198
+ <!-- Order Book -->
199
+ <div class="glass-effect rounded-2xl p-6">
200
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
201
+ <i data-feather="book" class="w-5 h-5 mr-2 text-yellow-500"></i>
202
+ Order Book
203
+ </h3>
204
+ <div class="order-book max-h-64 overflow-y-auto">
205
+ <div class="space-y-2">
206
+ <!-- Buy Orders -->
207
+ <div class="text-sm">
208
+ <div class="flex justify-between text-red-400 mb-1">
209
+ <span>BID</span>
210
+ <span>Size</span>
211
+ </div>
212
+ <div id="buy-orders">
213
+ <!-- Dynamic content -->
214
+ </div>
215
+ </div>
216
+ <!-- Current Price -->
217
+ <div class="text-center py-2 border-y border-gray-700 my-2">
218
+ <div class="text-2xl font-bold" id="current-price">1.0854</div>
219
+ <div class="text-sm text-gray-400" id="price-change">+0.0012 (+0.11%)</div>
220
+ </div>
221
+ <!-- Sell Orders -->
222
+ <div class="text-sm">
223
+ <div class="flex justify-between text-green-400 mb-1">
224
+ <span>ASK</span>
225
+ <span>Size</span>
226
+ </div>
227
+ <div id="sell-orders">
228
+ <!-- Dynamic content -->
229
+ </div>
230
+ </div>
231
+ </div>
232
+ </div>
233
+ </div>
234
+ </div>
235
+
236
+ <!-- Main Chart Area -->
237
+ <div class="xl:col-span-2">
238
+ <div class="glass-effect rounded-2xl p-6 trading-terminal">
239
+ <!-- Chart Header -->
240
+ <div class="flex justify-between items-center mb-6">
241
+ <div>
242
+ <h2 class="text-2xl font-bold" id="chart-symbol">EUR/USD</h2>
243
+ <div class="flex items-center space-x-4 text-sm text-gray-400">
244
+ <span>Forex</span>
245
+ <span>•</span>
246
+ <span>Spread: 0.8 pips</span>
247
+ <span>•</span>
248
+ <span>Leverage: 1:100</span>
249
+ </div>
250
+ </div>
251
+ <div class="flex space-x-2">
252
+ <button class="px-4 py-2 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors">1H</button>
253
+ <button class="px-4 py-2 rounded-lg bg-primary-500 hover:bg-primary-600 transition-colors">4H</button>
254
+ <button class="px-4 py-2 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors">1D</button>
255
+ <button class="px-4 py-2 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors">1W</button>
256
+ </div>
257
+ </div>
258
+
259
+ <!-- Chart Container -->
260
+ <div class="h-96">
261
+ <canvas id="trading-chart"></canvas>
262
+ </div>
263
+
264
+ <!-- Technical Indicators -->
265
+ <div class="mt-6">
266
+ <div class="flex space-x-4 overflow-x-auto pb-2">
267
+ <button class="px-4 py-2 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors whitespace-nowrap">RSI</button>
268
+ <button class="px-4 py-2 rounded-lg bg-primary-500 hover:bg-primary-600 transition-colors whitespace-nowrap">MACD</button>
269
+ <button class="px-4 py-2 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors whitespace-nowrap">Bollinger</button>
270
+ <button class="px-4 py-2 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors whitespace-nowrap">Stochastic</button>
271
+ <button class="px-4 py-2 rounded-lg bg-gray-800 hover:bg-gray-700 transition-colors whitespace-nowrap">Volume</button>
272
+ </div>
273
+ </div>
274
+ </div>
275
+
276
+ <!-- Trading Panel -->
277
+ <div class="grid grid-cols-1 md:grid-cols-2 gap-6 mt-6">
278
+ <!-- Buy/Sell Panel -->
279
+ <div class="glass-effect rounded-2xl p-6">
280
+ <h3 class="text-lg font-semibold mb-4">Execute Trade</h3>
281
+ <div class="space-y-4">
282
+ <div class="grid grid-cols-2 gap-4">
283
+ <button id="buy-btn" class="bg-green-500 hover:bg-green-600 text-white py-3 px-6 rounded-lg font-semibold transition-colors">
284
+ BUY
285
+ </button>
286
+ <button id="sell-btn" class="bg-red-500 hover:bg-red-600 text-white py-3 px-6 rounded-lg font-semibold transition-colors">
287
+ SELL
288
+ </button>
289
+ </div>
290
+ <div class="space-y-3">
291
+ <div>
292
+ <label class="block text-sm text-gray-400 mb-2">Volume (Lots)</label>
293
+ <input type="number" value="0.1" class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:border-primary-500">
294
+ </div>
295
+ <div>
296
+ <label class="block text-sm text-gray-400 mb-2">Stop Loss</label>
297
+ <input type="number" placeholder="Auto" class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:border-primary-500">
298
+ </div>
299
+ <div>
300
+ <label class="block text-sm text-gray-400 mb-2">Take Profit</label>
301
+ <input type="number" placeholder="Auto" class="w-full bg-gray-800 border border-gray-700 rounded-lg px-4 py-3 focus:outline-none focus:border-primary-500">
302
+ </div>
303
+ </div>
304
+ <button class="w-full bg-gradient-to-r from-primary-500 to-secondary-500 hover:from-primary-600 hover:to-secondary-600 text-white py-3 px-6 rounded-lg font-semibold transition-all duration-300">
305
+ Execute Order
306
+ </button>
307
+ </div>
308
+ </div>
309
+
310
+ <!-- Position Management -->
311
+ <div class="glass-effect rounded-2xl p-6">
312
+ <h3 class="text-lg font-semibold mb-4">Active Positions</h3>
313
+ <div class="space-y-3 max-h-64 overflow-y-auto">
314
+ <!-- Position 1 -->
315
+ <div class="bg-gray-800 rounded-lg p-4">
316
+ <div class="flex justify-between items-start mb-2">
317
+ <div>
318
+ <span class="font-semibold">EUR/USD</span>
319
+ <span class="text-sm text-gray-400 ml-2">BUY</span>
320
+ </div>
321
+ <span class="text-green-500 font-semibold">+$142.50</span>
322
+ </div>
323
+ <div class="grid grid-cols-2 gap-2 text-sm text-gray-400">
324
+ <div>Size: 0.5 lots</div>
325
+ <div>Open: 1.0832</div>
326
+ <div>Current: 1.0854</div>
327
+ <div>SL: 1.0800</div>
328
+ </div>
329
+ <div class="flex space-x-2 mt-3">
330
+ <button class="flex-1 bg-red-500 hover:bg-red-600 text-white py-1 px-3 rounded text-sm transition-colors">Close</button>
331
+ <button class="flex-1 bg-gray-700 hover:bg-gray-600 text-white py-1 px-3 rounded text-sm transition-colors">Modify</button>
332
+ </div>
333
+ </div>
334
+ <!-- Position 2 -->
335
+ <div class="bg-gray-800 rounded-lg p-4">
336
+ <div class="flex justify-between items-start mb-2">
337
+ <div>
338
+ <span class="font-semibold">BTC/USD</span>
339
+ <span class="text-sm text-gray-400 ml-2">SELL</span>
340
+ </div>
341
+ <span class="text-red-500 font-semibold">-$23.80</span>
342
+ </div>
343
+ <div class="grid grid-cols-2 gap-2 text-sm text-gray-400">
344
+ <div>Size: 0.1 lots</div>
345
+ <div>Open: 43012.50</div>
346
+ <div>Current: 42876.54</div>
347
+ <div>TP: 42500.00</div>
348
+ </div>
349
+ <div class="flex space-x-2 mt-3">
350
+ <button class="flex-1 bg-red-500 hover:bg-red-600 text-white py-1 px-3 rounded text-sm transition-colors">Close</button>
351
+ <button class="flex-1 bg-gray-700 hover:bg-gray-600 text-white py-1 px-3 rounded text-sm transition-colors">Modify</button>
352
+ </div>
353
+ </div>
354
+ </div>
355
+ </div>
356
+ </div>
357
+ </div>
358
+
359
+ <!-- Right Sidebar - Signals & News -->
360
+ <div class="xl:col-span-1 space-y-6">
361
+ <!-- AI Signals -->
362
+ <div class="glass-effect rounded-2xl p-6">
363
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
364
+ <i data-feather="zap" class="w-5 h-5 mr-2 text-yellow-500"></i>
365
+ AI Signals
366
+ </h3>
367
+ <div class="space-y-3">
368
+ <div class="bg-gradient-to-r from-green-500/20 to-green-500/10 border border-green-500/30 rounded-lg p-3">
369
+ <div class="flex justify-between items-start mb-2">
370
+ <span class="font-semibold">EUR/USD</span>
371
+ <span class="text-green-500 text-sm font-semibold">BUY</span>
372
+ </div>
373
+ <div class="text-sm text-gray-300">Strong bullish momentum detected with 87% confidence</div>
374
+ <div class="flex justify-between items-center mt-2">
375
+ <span class="text-xs text-gray-400">2 min ago</span>
376
+ <div class="w-16 bg-gray-700 rounded-full h-2">
377
+ <div class="bg-green-500 h-2 rounded-full" style="width: 87%"></div>
378
+ </div>
379
+ </div>
380
+ </div>
381
+ <div class="bg-gradient-to-r from-red-500/20 to-red-500/10 border border-red-500/30 rounded-lg p-3">
382
+ <div class="flex justify-between items-start mb-2">
383
+ <span class="font-semibold">BTC/USD</span>
384
+ <span class="text-red-500 text-sm font-semibold">SELL</span>
385
+ </div>
386
+ <div class="text-sm text-gray-300">Resistance level breakthrough with 92% accuracy</div>
387
+ <div class="flex justify-between items-center mt-2">
388
+ <span class="text-xs text-gray-400">5 min ago</span>
389
+ <div class="w-16 bg-gray-700 rounded-full h-2">
390
+ <div class="bg-red-500 h-2 rounded-full" style="width: 92%"></div>
391
+ </div>
392
+ </div>
393
+ </div>
394
+ </div>
395
+ </div>
396
+
397
+ <!-- Market News -->
398
+ <div class="glass-effect rounded-2xl p-6">
399
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
400
+ <i data-feather="rss" class="w-5 h-5 mr-2 text-blue-500"></i>
401
+ Market News
402
+ </h3>
403
+ <div class="space-y-3">
404
+ <div class="border-l-4 border-blue-500 pl-3">
405
+ <div class="text-sm font-semibold">ECB Interest Rate Decision</div>
406
+ <div class="text-xs text-gray-400 mt-1">European Central Bank maintains rates at 4.5%</div>
407
+ </div>
408
+ <div class="border-l-4 border-green-500 pl-3">
409
+ <div class="text-sm font-semibold">US Inflation Data</div>
410
+ <div class="text-xs text-gray-400 mt-1">CPI comes in lower than expected at 3.2%</div>
411
+ </div>
412
+ <div class="border-l-4 border-red-500 pl-3">
413
+ <div class="text-sm font-semibold">Oil Prices Volatile</div>
414
+ <div class="text-xs text-gray-400 mt-1">Middle East tensions drive crude prices up 3%</div>
415
+ </div>
416
+ </div>
417
+ </div>
418
+
419
+ <!-- Risk Management -->
420
+ <div class="glass-effect rounded-2xl p-6">
421
+ <h3 class="text-lg font-semibold mb-4 flex items-center">
422
+ <i data-feather="shield" class="w-5 h-5 mr-2 text-purple-500"></i>
423
+ Risk Management
424
+ </h3>
425
+ <div class="space-y-4">
426
+ <div>
427
+ <div class="flex justify-between text-sm mb-1">
428
+ <span class="text-gray-400">Max Drawdown</span>
429
+ <span>2.3%</span>
430
+ </div>
431
+ <div class="w-full bg-gray-700 rounded-full h-2">
432
+ <div class="bg-yellow-500 h-2 rounded-full" style="width: 23%"></div>
433
+ </div>
434
+ </div>
435
+ <div>
436
+ <div class="flex justify-between text-sm mb-1">
437
+ <span class="text-gray-400">Volatility</span>
438
+ <span>Medium</span>
439
+ </div>
440
+ <div class="w-full bg-gray-700 rounded-full h-2">
441
+ <div class="bg-orange-500 h-2 rounded-full" style="width: 65%"></div>
442
+ </div>
443
+ </div>
444
+ <div>
445
+ <div class="flex justify-between text-sm mb-1">
446
+ <span class="text-gray-400">Risk Score</span>
447
+ <span>6.8/10</span>
448
+ </div>
449
+ <div class="w-full bg-gray-700 rounded-full h-2">
450
+ <div class="bg-red-500 h-2 rounded-full" style="width: 68%"></div>
451
+ </div>
452
+ </div>
453
+ </div>
454
+ </div>
455
+ </div>
456
+ </div>
457
+ </main>
458
+
459
+ <script>
460
+ // Initialize Feather Icons
461
+ feather.replace();
462
+
463
+ // Trading Chart
464
+ const ctx = document.getElementById('trading-chart').getContext('2d');
465
+ const tradingChart = new Chart(ctx, {
466
+ type: 'candlestick',
467
+ data: {
468
+ datasets: [{
469
+ label: 'EUR/USD',
470
+ data: generateCandlestickData(),
471
+ borderColor: '#0ea5e9',
472
+ borderWidth: 1,
473
+ color: {
474
+ up: '#10b981',
475
+ down: '#ef4444',
476
+ unchanged: '#6b7280'
477
+ }
478
+ }]
479
+ },
480
+ options: {
481
+ responsive: true,
482
+ maintainAspectRatio: false,
483
+ plugins: {
484
+ legend: {
485
+ display: false
486
+ }
487
+ },
488
+ scales: {
489
+ x: {
490
+ type: 'time',
491
+ time: {
492
+ unit: 'hour'
493
+ },
494
+ grid: {
495
+ color: 'rgba(255, 255, 255, 0.1)'
496
+ },
497
+ ticks: {
498
+ color: 'rgba(255, 255, 255, 0.7)'
499
+ }
500
+ },
501
+ y: {
502
+ grid: {
503
+ color: 'rgba(255, 255, 255, 0.1)'
504
+ },
505
+ ticks: {
506
+ color: 'rgba(255, 255, 255, 0.7)'
507
+ }
508
+ }
509
+ }
510
+ }
511
+ });
512
+
513
+ function generateCandlestickData() {
514
+ const data = [];
515
+ let basePrice = 1.0800;
516
+ const baseTime = new Date();
517
+ baseTime.setHours(baseTime.getHours() - 24);
518
+
519
+ for (let i = 0; i < 100; i++) {
520
+ const open = basePrice + (Math.random() - 0.5) * 0.01;
521
+ const close = open + (Math.random() - 0.5) * 0.02;
522
+ const high = Math.max(open, close) + Math.random() * 0.005;
523
+ const low = Math.min(open, close) - Math.random() * 0.005;
524
+
525
+ data.push({
526
+ x: new Date(baseTime.getTime() + i * 15 * 60000), // 15-minute intervals
527
+ o: open,
528
+ h: high,
529
+ l: low,
530
+ c: close
531
+ });
532
+
533
+ basePrice = close;
534
+ }
535
+ return data;
536
+ }
537
+
538
+ // Order Book Simulation
539
+ function updateOrderBook() {
540
+ const buyOrders = document.getElementById('buy-orders');
541
+ const sellOrders = document.getElementById('sell-orders');
542
+
543
+ let buyHtml = '';
544
+ let sellHtml = '';
545
+
546
+ // Generate buy orders (descending price)
547
+ let buyPrice = 1.0850;
548
+ for (let i = 0; i < 5; i++) {
549
+ const size = (Math.random() * 10).toFixed(2);
550
+ buyHtml += `
551
+ <div class="flex justify-between text-red-400">
552
+ <span>${buyPrice.toFixed(4)}</span>
553
+ <span>${size}</span>
554
+ </div>
555
+ `;
556
+ buyPrice -= 0.0002;
557
+ }
558
+
559
+ // Generate sell orders (ascending price)
560
+ let sellPrice = 1.0858;
561
+ for (let i = 0; i < 5; i++) {
562
+ const size = (Math.random() * 10).toFixed(2);
563
+ sellHtml += `
564
+ <div class="flex justify-between text-green-400">
565
+ <span>${sellPrice.toFixed(4)}</span>
566
+ <span>${size}</span>
567
+ </div>
568
+ `;
569
+ sellPrice += 0.0002;
570
+ }
571
+
572
+ buyOrders.innerHTML = buyHtml;
573
+ sellOrders.innerHTML = sellHtml;
574
+ }
575
+
576
+ // Real-time Price Updates
577
+ function updatePrice() {
578
+ const currentPrice = document.getElementById('current-price');
579
+ const priceChange = document.getElementById('price-change');
580
+
581
+ const change = (Math.random() - 0.5) * 0.002;
582
+ const newPrice = 1.0854 + change;
583
+ const percentChange = (change / 1.0854 * 100).toFixed(2);
584
+
585
+ currentPrice.textContent = newPrice.toFixed(4);
586
+ currentPrice.className = `text-2xl font-bold ${change >= 0 ? 'price-up' : 'price-down'}`;
587
+ priceChange.textContent = `${change >= 0 ? '+' : ''}${change.toFixed(4)} (${percentChange}%)`;
588
+ priceChange.className = `text-sm ${change >= 0 ? 'text-green-500' : 'text-red-500'}`;
589
+ }
590
+
591
+ // Initialize
592
+ updateOrderBook();
593
+ updatePrice();
594
+
595
+ // Simulate real-time updates
596
+ setInterval(() => {
597
+ updateOrderBook();
598
+ updatePrice();
599
+
600
+ // Add new candlestick to chart
601
+ const lastCandle = tradingChart.data.datasets[0].data[tradingChart.data.datasets[0].data.length - 1];
602
+ const newClose = parseFloat(document.getElementById('current-price').textContent);
603
+ const newCandle = {
604
+ x: new Date(lastCandle.x.getTime() + 15 * 60000),
605
+ o: lastCandle.c,
606
+ h: Math.max(lastCandle.c, newClose) + Math.random() * 0.001,
607
+ l: Math.min(lastCandle.c, newClose) - Math.random() * 0.001,
608
+ c: newClose
609
+ };
610
+
611
+ tradingChart.data.datasets[0].data.push(newCandle);
612
+ tradingChart.data.datasets[0].data.shift(); // Remove first candle
613
+ tradingChart.update('none');
614
+ }, 3000);
615
+
616
+ // Buy/Sell Button Animations
617
+ document.getElementById('buy-btn').addEventListener('click', function() {
618
+ anime({
619
+ targets: this,
620
+ scale: [1, 1.1, 1],
621
+ duration: 300,
622
+ easing: 'easeInOutQuad'
623
+ });
624
+ });
625
+
626
+ document.getElementById('sell-btn').addEventListener('click', function() {
627
+ anime({
628
+ targets: this,
629
+ scale: [1, 1.1, 1],
630
+ duration: 300,
631
+ easing: 'easeInOutQuad'
632
+ });
633
+ });
634
+ </script>
635
+ </body>
636
+ </html>