Files
Place-Order-Trading-Bot/POSITION_SIZING_UPDATE.md
cbazza 90ec9c5948 Add missing position sizing documentation and notebook session filter import
- POSITION_SIZING_UPDATE.md: Documentation from earlier commit
- Notebook: Added SESSION_WHITELIST_CONFIG import in Cell 9 for base_risk parameter
2025-12-26 12:44:54 +01:00

5.3 KiB
Raw Permalink Blame History

💰 Position Sizing Update - 20.12.2025

Was wurde geändert?

Base Risk erhöht von 1% auf 2%

Datei: session_filter_patch.py Zeile 32

'max_risk_per_trade': 0.02,  # War: 0.01

📊 Neue Position Sizes mit Adaptive Sizing

Bei Ihrem aktuellen Balance: $7,166

Signal Confidence Risk % Risk $ Erwartete Lot Size
≥ 80% (High) 3.0% $215 ~0.03 Lot
70-79% (Medium) 2.0% $143 ~0.02 Lot
< 70% (Low) 1.0% $72 ~0.01 Lot

Vorher (1% Base):

Signal Confidence Risk % Risk $ Lot Size
≥ 80% 1.5% $107 ~0.01 Lot
70-79% 1.0% $72 ~0.01 Lot
< 70% 0.5% $36 ~0.005 Lot

→ Fast alle Trades waren 0.01 Lot (Medium Confidence)


🎯 Erwartete Verbesserung

Profit Potential:

  • 2x höhere Lot Sizes bei typischen Trades (Medium = 70%)
  • 3x höhere Lot Sizes bei besten Signals (High = 80%+)
  • Gleiche Lot Size bei schwachen Signals (Low < 70%)

Beispiel Trade:

  • Vorher: 0.01 Lot × $10 Move = $10 Profit
  • Nachher: 0.02 Lot × $10 Move = $20 Profit

Risk Management bleibt intakt:

Adaptive Sizing passt an Signal-Qualität an Drawdown Protection (max 5 consecutive losses) bleibt aktiv Session Filter (nur Asian + NY) bleibt aktiv Multi-TF Ranging Filter schützt vor schlechten Markets


⚠️ Wichtig: Erhöhtes Risiko

Max Drawdown Szenarien:

Bei 5 consecutive losses (Drawdown Protection Limit):

Szenario Vorher (1%) Nachher (2%)
5× Low Signals -$360 (-5%) -$360 (-5%)
5× Medium Signals -$360 (-5%) -$715 (-10%)
5× High Signals -$535 (-7.5%) -$1,075 (-15%)

→ Drawdown Protection greift nach 5 Losses!

Worst Case (23 consecutive losses wie Anfang Dezember):

⚠️ OHNE Drawdown Protection:

  • Vorher: -$828 (-11.5%)
  • Nachher: -$1,645 (-23%)

ABER: Mit aktiviertem Drawdown Protection:

  • Stoppt nach 5 Losses
  • Max Loss: -$715 (-10%)
  • Dann 24h Cooldown

🛡️ Risk Management Features (AKTIV)

1. Adaptive Position Sizing

  • Größere Positionen nur bei besten Signals
  • Kleinere Positionen bei schwachen Signals

2. Drawdown Protection

Max Daily Loss: $100
Max Consecutive Losses: 5   Schützt vor großen Verlusten!
Cooldown: 24 Stunden

3. Multi-TF Ranging Filter

  • Blockiert Trades in Ranging Markets
  • Verhindert die 23 consecutive losses wie Anfang Dezember

4. Session Filter

  • Nur Asian (30.2% WR) + NY (47.6% WR)
  • London (29.6% WR) blockiert

📈 Empfohlene Monitoring (erste Woche)

Täglich prüfen:

1. Position Sizes:

# Letzten Trade prüfen
import sqlite3
conn = sqlite3.connect('trading_bot.db')
cursor = conn.cursor()
cursor.execute('SELECT entry_time, volume, confidence, net_profit FROM trades ORDER BY entry_time DESC LIMIT 5')
for row in cursor.fetchall():
    print(f"{row[0]} | {row[1]} lot | {row[2]}% conf | ${row[3]:.2f}")
conn.close()

Erwartung:

  • Confidence 80%+ → 0.03 Lot
  • Confidence 70-79% → 0.02 Lot
  • Confidence < 70% → 0.01 Lot

2. Drawdown:

cursor.execute('SELECT COUNT(*) FROM trades WHERE net_profit < 0 AND exit_time > datetime("now", "-1 day")')
daily_losses = cursor.fetchone()[0]
print(f"Losses heute: {daily_losses}/5")

Falls 3+ Losses: ⚠️ Vorsicht, nähert sich Limit!


🔧 Rückgängig machen (falls nötig)

Falls zu aggressiv:

Ändern Sie in session_filter_patch.py Zeile 32:

# Zurück zu 1%:
'max_risk_per_trade': 0.01,

# Oder Mittelweg (1.5%):
'max_risk_per_trade': 0.015,

Dann Notebook-Kernel neu starten (damit neue Config geladen wird).


📋 Zusammenfassung

Vorteile:

  • 2-3x höhere Profits bei erfolgreichen Trades
  • Intelligente Anpassung an Signal-Qualität
  • Bessere Nutzung von starken Signals

⚠️ Nachteile:

  • 2x höhere Verluste bei fehlgeschlagenen Trades
  • Höherer Max Drawdown (bis zu 10% bei 5 Losses)
  • Erfordert gute Signal-Qualität

🛡️ Schutz:

  • Drawdown Protection stoppt nach 5 Losses
  • Ranging Filter verhindert schlechte Markets
  • Session Filter nur beste Sessions
  • Adaptive Sizing reduziert bei schwachen Signals

🎯 Erwartete Performance

Bei gleicher Win-Rate (40%):

  • Profit pro Win: +100% (doppelt so hoch)
  • Loss pro Loss: +100% (doppelt so hoch)
  • Net Effect: +100% Profit (bei gleicher Win-Rate)

Beispiel (10 Trades):

  • Vorher: 4 Wins á $10 - 6 Losses á $10 = -$20
  • Nachher: 4 Wins á $20 - 6 Losses á $20 = -$40

ABER: Mit besserer Signal-Qualität durch Filter:

  • 4 Wins á $20 - 3 Losses á $20 (Filter stoppt früher) = +$20

Wann aktiv?

Sofort nach nächstem Notebook-Neustart!

Die Änderung wird geladen wenn:

  1. Jupyter Kernel neu gestartet wird ODER
  2. Notebook von Anfang ausgeführt wird ODER
  3. Cell mit Session Filter neu ausgeführt wird

Am Montag (23. Dez) wenn Markets öffnen → Neue Position Sizes aktiv!


Geändert: 2025-12-20 Base Risk: 1% → 2% Status: Committed, bereit für Montag Risiko-Level: Medium-Aggressiv