260 lines
6.2 KiB
Markdown
260 lines
6.2 KiB
Markdown
# ✅ AKTIVIERUNGS-CHECKLIST - Multi-Timeframe Filter
|
|
|
|
## 📋 Was wurde gemacht?
|
|
|
|
✅ Multi-Timeframe Filter entwickelt
|
|
✅ Ins Notebook integriert
|
|
✅ Alte Filter deaktiviert
|
|
✅ Test-Cell hinzugefügt
|
|
✅ Dokumentation erstellt
|
|
✅ Alles committed
|
|
|
|
## 🚀 Jetzt müssen SIE nur noch:
|
|
|
|
### SCHRITT 1: Notebook neu laden (1 Minute)
|
|
|
|
Das Notebook wurde geändert. Laden Sie es neu:
|
|
|
|
**Option A - VSCode:**
|
|
1. Schließen Sie das Notebook
|
|
2. Öffnen Sie es wieder: `TradingBot_V1.6_Adaptive_Complete_CORRECTED.ipynb`
|
|
|
|
**Option B - Jupyter:**
|
|
1. File → Close and Halt
|
|
2. Neu öffnen
|
|
|
|
---
|
|
|
|
### SCHRITT 2: Neue Cells ausführen (2 Minuten)
|
|
|
|
Sie sehen jetzt neue Cells:
|
|
|
|
#### **Cell 25** - Info (Markdown)
|
|
📝 Zeigt Übersicht über Änderungen
|
|
→ **Nichts zu tun**, nur lesen
|
|
|
|
#### **Cell 26** - Alter Filter (DEAKTIVIERT)
|
|
❌ Komplett auskommentiert
|
|
→ **NICHT ausführen!** (oder es passiert nichts)
|
|
|
|
#### **Cell 27** - ✅ NEUER MULTI-TF FILTER (WICHTIG!)
|
|
✅ Der neue Filter
|
|
→ **JETZT AUSFÜHREN!**
|
|
|
|
**Erwartete Ausgabe:**
|
|
```
|
|
✅ Multi-Timeframe Ranging Filter aktiviert!
|
|
Prüft: H1, H4, D1
|
|
Gewichtung: D1 (3x) > H4 (2x) > H1 (1x)
|
|
Threshold: ADX > 25
|
|
|
|
📊 Entscheidungslogik:
|
|
1. D1 ADX > 30 → ERLAUBT (starker Trend)
|
|
2. H4+D1 beide > 25 → ERLAUBT (bestätigter Trend)
|
|
3. Weighted ADX > 25 → ERLAUBT (Gesamtbild)
|
|
4. Sonst → BLOCKIERT (Ranging)
|
|
```
|
|
|
|
#### **Cell 28** - 🧪 TEST (Optional)
|
|
🧪 Testet den Filter
|
|
→ **Optional ausführen** zum Verifizieren
|
|
|
|
**Erwartete Ausgabe:**
|
|
```
|
|
📊 MULTI-TIMEFRAME REGIME CHECK
|
|
==================================================
|
|
H1: ADX 9.9 (weight 1.0x) 📊 RANGE
|
|
H4: ADX 23.4 (weight 2.0x) 📊 RANGE
|
|
D1: ADX 28.2 (weight 3.0x) ✅ TREND
|
|
|
|
Weighted ADX: 22.8
|
|
Threshold: 25
|
|
|
|
✅ ALLOWED: TRENDING
|
|
Reason: D1 stark trending (ADX 28.2 > 30) → Trend dominiert
|
|
==================================================
|
|
|
|
📋 ERGEBNIS:
|
|
Trading Allowed: True
|
|
Regime: trending
|
|
Weighted ADX: 22.8
|
|
|
|
✅ FILTER ERLAUBT TRADES!
|
|
→ Bot wird bei nächstem Scheduler-Run traden (wenn andere Bedingungen passen)
|
|
```
|
|
|
|
---
|
|
|
|
### SCHRITT 3: Verifizieren (1 Minute)
|
|
|
|
#### A) Prüfen Sie welche Funktion aktiv ist:
|
|
|
|
```python
|
|
print(execute_trade_v2_adaptive)
|
|
```
|
|
|
|
**Erwartung:**
|
|
```
|
|
<function create_multi_timeframe_ranging_filter.<locals>.execute_with_multi_tf_filter at 0x...>
|
|
```
|
|
|
|
Falls es ANDERS aussieht → Cell 27 nochmal ausführen!
|
|
|
|
#### B) Scheduler-Check:
|
|
|
|
```python
|
|
scheduler.get_jobs()
|
|
```
|
|
|
|
**Erwartung:** 6 Jobs sichtbar (wie vorher)
|
|
|
|
---
|
|
|
|
### SCHRITT 4: Warten & Beobachten (1-2 Stunden)
|
|
|
|
Der Bot ruft `adaptive_trading_check()` jede Minute auf.
|
|
|
|
**Was Sie sehen sollten** (scrollen Sie im Notebook nach unten):
|
|
|
|
```
|
|
📊 MULTI-TIMEFRAME REGIME CHECK
|
|
==================================================
|
|
H1: ADX 9.9 (weight 1.0x) 📊 RANGE
|
|
H4: ADX 23.4 (weight 2.0x) 📊 RANGE
|
|
D1: ADX 28.2 (weight 3.0x) ✅ TREND
|
|
|
|
✅ ALLOWED: TRENDING
|
|
Reason: D1 stark trending (ADX 28.2 > 30)
|
|
==================================================
|
|
|
|
✅ REGIME CHECK PASSED: TRENDING
|
|
Reason: D1 stark trending (ADX 28.2 > 30)
|
|
|
|
🔍 POSITION CHECK für XAUUSD
|
|
... (Trade-Logik läuft)
|
|
```
|
|
|
|
**Falls Session gerade NICHT aktiv** (London = blockiert):
|
|
```
|
|
⏸️ Trading SKIP: Session blocked: London is break-even, 29.6% win-rate
|
|
```
|
|
→ Das ist NORMAL! Warten Sie auf NY (13:00-22:00 UTC) oder Asian (23:00-08:00 UTC)
|
|
|
|
---
|
|
|
|
## 🎯 Wann kommt der erste Trade?
|
|
|
|
**Bedingungen (ALLE müssen erfüllt sein):**
|
|
|
|
1. ✅ Multi-TF Filter erlaubt (D1 trending) → **JA** (ADX 28.25)
|
|
2. ⏰ Session erlaubt (Asian ODER NY) → **Abhängig von Uhrzeit**
|
|
3. 📊 Confidence >= 70% → **Muss Signal kommen**
|
|
4. 💰 Kein Drawdown Limit erreicht → **OK** (0 consecutive losses)
|
|
5. 🎲 Signal muss vom Markt kommen → **Warten**
|
|
|
|
**Realistisch**: Innerhalb 2-6 Stunden sollte erster Trade kommen
|
|
(abhängig von Session-Timing und Signal-Qualität)
|
|
|
|
---
|
|
|
|
## ⚠️ Troubleshooting
|
|
|
|
### "ModuleNotFoundError: multi_timeframe_regime_filter"
|
|
|
|
**Problem**: Python findet das Modul nicht
|
|
|
|
**Lösung**:
|
|
```python
|
|
import sys
|
|
sys.path.append('.')
|
|
|
|
# Dann nochmal:
|
|
from multi_timeframe_regime_filter import create_multi_timeframe_ranging_filter
|
|
```
|
|
|
|
### "Filter erlaubt immer noch keine Trades"
|
|
|
|
**Prüfen Sie Cell 28 Ausgabe:**
|
|
- `allowed: True` → Filter ist OK, Problem liegt woanders
|
|
- `allowed: False` → ADX zu niedrig (unwahrscheinlich bei D1 28.25)
|
|
|
|
**Andere Filter prüfen:**
|
|
```python
|
|
# Session-Check
|
|
from datetime import datetime
|
|
hour = datetime.utcnow().hour
|
|
print(f"UTC Hour: {hour}")
|
|
print(f"Asian (23-08): {'✅' if hour >= 23 or hour < 8 else '❌'}")
|
|
print(f"NY (13-22): {'✅' if 13 <= hour < 22 else '❌'}")
|
|
```
|
|
|
|
### "Zu viele Fehler im Notebook"
|
|
|
|
**Falls beim Ausführen von Cell 27/28 Fehler auftreten:**
|
|
|
|
1. Starten Sie Jupyter Kernel neu:
|
|
- Kernel → Restart
|
|
- Führen Sie alle Cells von oben nach unten aus
|
|
|
|
2. Prüfen Sie MT5-Verbindung:
|
|
```python
|
|
import MetaTrader5 as mt5
|
|
mt5.initialize()
|
|
print(mt5.terminal_info())
|
|
```
|
|
|
|
---
|
|
|
|
## 📊 Monitoring (erste 24 Stunden)
|
|
|
|
### Stündlich prüfen:
|
|
|
|
```python
|
|
# Quick-Check
|
|
from multi_timeframe_regime_filter import detect_multi_timeframe_regime
|
|
result = detect_multi_timeframe_regime("XAUUSD", debug=True)
|
|
print(f"\nTrading allowed: {result['allowed']}")
|
|
```
|
|
|
|
### Nach erstem Trade:
|
|
|
|
```python
|
|
# Letzten Trade prüfen
|
|
import sqlite3
|
|
conn = sqlite3.connect('trading_bot.db')
|
|
cursor = conn.cursor()
|
|
cursor.execute('SELECT entry_time, type, net_profit FROM trades ORDER BY entry_time DESC LIMIT 1')
|
|
print(cursor.fetchone())
|
|
conn.close()
|
|
```
|
|
|
|
---
|
|
|
|
## ✅ SUCCESS CRITERIA
|
|
|
|
Sie wissen, dass es funktioniert wenn:
|
|
|
|
- [ ] Cell 27 ohne Fehler ausgeführt ✅
|
|
- [ ] Cell 28 zeigt "Trading Allowed: True" ✅
|
|
- [ ] `print(execute_trade_v2_adaptive)` zeigt `execute_with_multi_tf_filter` ✅
|
|
- [ ] Innerhalb 6 Stunden: Erster Trade in Datenbank ✅
|
|
- [ ] Keine "TRADE BLOCKIERT: Ranging Market!" Messages mehr (bei D1 trending) ✅
|
|
|
|
---
|
|
|
|
## 🎉 FERTIG!
|
|
|
|
Sie haben erfolgreich:
|
|
✅ Problem diagnostiziert (H1-only Filter)
|
|
✅ Lösung entwickelt (Multi-TF Filter)
|
|
✅ Ins Notebook integriert
|
|
✅ Bereit zum Laufen
|
|
|
|
**Jetzt**: Führen Sie Cell 27 aus und warten Sie auf Trades! 🚀
|
|
|
|
---
|
|
|
|
**Erstellt**: 2025-12-20
|
|
**Problem**: Ranging Filter blockiert Trends
|
|
**Status**: ✅ GELÖST, bereit zur Aktivierung
|