# 🌐 Web Dashboard - Martingale Degen

Dashboard web interactif pour visualiser les résultats du backtest martingale.

## 🚀 Accès Rapide

Le serveur web est **déjà lancé** et accessible sur:

### 🌍 URL Publique
```
http://51.255.160.164:5000
```

### 🏠 URL Locale
```
http://localhost:5000
```

## 📊 Fonctionnalités

Le dashboard affiche:

✅ **Métriques de Performance**
- Retour total (ROI)
- Win rate
- Profit factor
- Max drawdown

✅ **Statistiques Détaillées**
- Gain/Perte moyen par trade
- Niveau martingale maximum atteint
- Nombre de pertes consécutives

✅ **Historique Complet des Trades**
- Toutes les positions ouvertes/fermées
- PnL détaillé
- Niveaux de leverage
- Raisons de sortie (TP/SL/Timeout)

✅ **Design Moderne**
- Interface responsive (mobile-friendly)
- Animations et effets visuels
- Couleurs adaptées (vert=gains, rouge=pertes)
- Badges pour côtés (LONG/SHORT)

## 🔄 Relancer le Dashboard

Si le serveur s'est arrêté:

```bash
cd /var/www/html/HyperOracle/crypto_trader/martingale_degen

# Lancer en arrière-plan
python3 web_dashboard.py &

# Ou en mode interactif
python3 web_dashboard.py
```

## 🔄 Mettre à Jour les Résultats

Pour afficher de nouveaux résultats:

```bash
# 1. Relancer le backtest
python3 martingale_backtester.py

# 2. Recharger la page web (F5)
# Les nouveaux résultats s'afficheront automatiquement
```

## 🛑 Arrêter le Serveur

```bash
# Trouver le processus
ps aux | grep web_dashboard

# Tuer le processus
kill <PID>

# Ou utiliser pkill
pkill -f web_dashboard.py
```

## 🎨 Personnalisation

Le dashboard est dans `web_dashboard.py`:

```python
# Modifier le port
app.run(host='0.0.0.0', port=5000)  # Changer 5000

# Activer le debug mode
app.run(debug=True)
```

## 📱 Captures d'Écran

Le dashboard affiche:

```
╔════════════════════════════════════════╗
║   🎲 Martingale Degen Bot              ║
║   Résultats du Backtest - BTCUSDT 1m  ║
╚════════════════════════════════════════╝

┌─────────────┬─────────────┬─────────────┐
│ Retour Total│  Win Rate   │Profit Factor│
│    -4.25%   │    50.0%    │    0.79     │
└─────────────┴─────────────┴─────────────┘

📊 Historique des Trades (10 total)
┌───┬──────┬─────────┬─────────┬──────┬───────┐
│ # │ Côté │  Entry  │  Exit   │ PnL% │ Level │
├───┼──────┼─────────┼─────────┼──────┼───────┤
│ 1 │SHORT │ 109932  │ 110178  │-16.27│  L0   │
│ 2 │SHORT │ 110162  │ 109808  │+32.15│  L1   │
│...│  ... │   ...   │   ...   │  ... │  ...  │
└───┴──────┴─────────┴─────────┴──────┴───────┘
```

## 🔧 Dépendances

Le dashboard nécessite Flask:

```bash
pip3 install flask
```

## 📝 Notes Techniques

- **Framework**: Flask (Python)
- **Template**: HTML inline avec Jinja2
- **Style**: CSS moderne avec gradients
- **Responsive**: Grid layout adaptatif
- **Données**: Lecture de `martingale_results.json`

## 🐛 Troubleshooting

### Port déjà utilisé

```bash
# Vérifier les processus sur le port 5000
lsof -i :5000

# Tuer le processus
kill $(lsof -t -i:5000)
```

### Fichier results.json manquant

```
❌ Erreur: martingale_results.json introuvable
```

**Solution**: Lancer le backtest d'abord
```bash
python3 martingale_backtester.py
```

### Connexion refusée

Vérifier que le firewall autorise le port 5000:

```bash
# UFW (Ubuntu)
sudo ufw allow 5000

# iptables
sudo iptables -A INPUT -p tcp --dport 5000 -j ACCEPT
```

## 🎯 Prochaines Améliorations

- [ ] Graphique d'equity curve avec Chart.js
- [ ] Filtres sur les trades (par niveau, par côté)
- [ ] Export CSV des résultats
- [ ] Comparaison multi-backtest
- [ ] Dashboard temps réel pour paper trading

---

*Dashboard actif - Rafraîchir la page pour voir les derniers résultats*
