# 📊 Stratégie BB+ Breakout

## Vue d'ensemble

Cette stratégie exploite les **breakouts** au-dessus de la bande de Bollinger supérieure (BB+) pour capturer les mouvements de **momentum fort**.

## Principe

### 🟢 Signal d'ACHAT
- **Condition** : Le prix franchit et dépasse la bande de Bollinger supérieure (BB+)
- **Confirmation** : 
  - Prix actuel > BB+
  - (Optionnel) EMA alignment bullish = double confirmation
  - (Optionnel) Momentum positif > 0.5%

### 🔴 Signal de VENTE
- **Condition unique** : Le prix repasse SOUS la bande BB+
- **Exécution immédiate** : Pas d'attente de SL/TP classiques
- **Logique** : Si le momentum s'inverse (prix < BB+), sortir immédiatement

## Exemple (DASH)

```
16h04 : Prix = 53.18€  |  BB+ = 52.80€  →  Prix > BB+  →  🟢 ACHAT
        Raison: "BB+ BREAKOUT (+0.72% au-dessus)"
        
16h14 : Prix = 52.40€  |  BB+ = 52.90€  →  Prix < BB+  →  🔴 VENTE
        Raison: "bb-breakout-exit"
        P&L: Variable selon le timing
```

## Avantages

✅ **Capture les explosions haussières** : Entre sur le momentum  
✅ **Sortie rapide si échec** : Minimise les pertes si faux breakout  
✅ **Complémentaire aux autres stratégies** : S'ajoute aux signaux EMA/RSI existants  
✅ **Protection automatique** : Vente dès retour sous BB+ évite les retournements brutaux  

## Implémentation

### Code ajouté

**1. Détection du breakout (lignes ~2010-2030)**
```python
# STRATÉGIE 4: BB+ BREAKOUT
if bb_upper and current_price > bb_upper:
    bb_distance = ((current_price - bb_upper) / bb_upper) * 100
    buy_signals += 3  # Signal très fort
    buy_reasons.append(f"BB+ BREAKOUT (+{bb_distance:.2f}% au-dessus)")
```

**2. Tracking de la stratégie (ligne ~860)**
```python
self.positions[symbol] = {
    ...
    'bb_breakout_entry': bb_breakout_entry  # Flag pour cette stratégie
}
```

**3. Vente automatique (lignes ~1260-1280)**
```python
if position.get('bb_breakout_entry', False):
    if bb_upper and current_price < bb_upper:
        # Prix repassé sous BB+ → VENTE immédiate
        self.close_position(symbol, "bb-breakout-exit")
```

## Paramètres

- **Période Bollinger** : 20 (défaut)
- **Écart-type** : 2 (défaut)
- **Signal d'achat** : +3 points (signal très fort)
- **Bonus EMA bullish** : +1 point
- **Bonus momentum** : +1 point

## Intégration avec les autres stratégies

Cette stratégie **s'ajoute** aux 3 stratégies existantes :
1. ✅ Tendance haussière EMA
2. ✅ Bollinger Squeeze
3. ✅ Pullback sur EMA
4. 🆕 **BB+ Breakout** (nouvelle)

Les positions ouvertes sur BB+ breakout sont marquées avec `bb_breakout_entry=True` et suivent une logique de sortie spécifique (prix < BB+), tandis que les autres positions suivent les SL/TP classiques.

## Logs du bot

Lors d'un achat BB+ breakout :
```
✅ POSITION OUVERTE [BB+ BREAKOUT]: DASHUSDT
   Prix entrée: 53.18€
   Quantité: 0.942
   Stop-Loss: 52.12€ (-2.0%)
   Take-Profit: 53.84€ (+1.5%)
   📊 Stratégie: Vente si prix < BB+
```

Lors de la vente :
```
📊 BB+ BREAKOUT EXIT: DASHUSDT
   Prix: 52.40€ < BB+: 52.90€ (-0.95%)
   P&L: -1.47%
```

## Notes importantes

⚠️ **Attention aux faux breakouts** : Les breakouts peuvent être suivis de retournements immédiats  
⚠️ **Volatilité** : Cette stratégie fonctionne mieux sur des cryptos avec une volatilité modérée  
✅ **Complémentaire** : Utiliser avec les autres filtres (RSI, EMA, Score IA) pour éviter les pièges  

---

**Date d'implémentation** : 13 janvier 2026  
**Testé** : ✅ Compilé sans erreurs  
**Status** : 🟢 Actif
