Version 2.10 2026.03.13
// CHANGELOG
// v2.10 (2026-03-13)
// - FIX: Charts werden in OnInit immer gezeichnet (unabhängig von SendReportNow)
// → CalculateDailyStats() wird beim Start aufgerufen; alle 4 Sektionen sichtbar
// - FIX: S1 Y-Labels schweben jetzt an der tatsächlichen Balkenhöhe mit
// Grün-Label: Oberkante des besten Tagesbalkens (actual_best)
// Rot-Label: Unterkante des schlechtesten Tagesbalkens (actual_worst)
// 0-Label: immer auf zero_y_global
//
// v2.9 (2026-03-13)
// - FIX: Telegram 429 "Too Many Requests" bei mehreren Chat-IDs
// ParseRetryAfter() liest retry_after aus JSON-Response
// SendAsPhoto/Document: bei 429 wird g_last_retry_after gesetzt
// Send-Loop: bis zu 3 Versuche pro Chat, wartet retry_after+3s bei Rate-Limit
// Zwischen je zwei Chat-IDs: 2.5s Pause → verhindert 429 präventiv
// SendTelegramMessage (Text): ebenfalls 429-Retry
//
// v2.8 (2026-03-12)
// - FIX: EA Sektion _x_axis-Linie entfernt (schwarze Linie unter EA-Balken)
// - FIX: S1 Y-Achse: nur noch 3 Labels - bester Tag (grün), 0 (schwarz), schlechtester Tag (rot)
// - FIX: Titel X-Position korrigiert auf (chart_width-65)/2 - berücksichtigt MT5 Preisachsen-Breite
//
// v2.7 (2026-03-12)
// - FIX: Titel-YDISTANCE korrigiert → exakt mittig in 50px Connector-Strip (ANCHOR_CENTER)
// S1: y=25, S2/S3/S4: section_y-25 (war -33 → 8px zu hoch)
// - FIX: Titel-XDISTANCE = (chart_width+100)/2 = Screenshot-Mitte (war +200/2 → 50px rechts)
// - FIX: Vor Screenshot werden Chart-Linien (Grid, Bid/Ask, OHLC, Volumes) ausgeblendet
// und danach wiederhergestellt → keine gelben/farbigen Indikator-Linien im Bild
// - FIX: bg/header ZORDER=1 für bessere Überdeckung von Chart-Objekten
//
// v2.6 (2026-03-12)
// - FIX: left_margin 90→130px, Symbol/EA/Y-Labels nicht mehr abgeschnitten
// - FIX: x_axis/zero_line Breite = eas_to_show*bar_width (kein langer Strich rechts)
// - FIX: bg/header Panels chart_width+200 breit (deckt MT5-Preisachse ab)
// - FIX: Alle Titel-Mittelpunkte auf (chart_width+200)/2 korrigiert
// - FIX: Screenshot-Höhe Balance 450→410px (weniger weißer Rand unten)
//
// v2.5 (2026-03-12)
// - FIX: Alle bg/header Panels x=0, Breite=ChartWidth+100 → kein Chart-Hintergrund sichtbar
// - FIX: Einheitliches left_margin=90 für alle 4 Sektionen → gleicher linker Startpunkt
// - FIX: Border der bg-Panels entfernt (WIDTH=0) → keine Trennlinie zwischen Sektionen
// - FIX: Balken-Nulllinie Overlap revertiert (war ok)
// - FIX: Extremwert-Schutz für alle Balkendiagramme: max. 90% plot_height
// - FIX: Balance/Equity Legende weiter auseinander (x: 90px / 260px)
// - FIX: Screenshot-Höhe +50px Puffer für Balance-Sektion → Text nicht mehr abgeschnitten
//
// v2.4 (2026-03-12)
// - FIX: Stale Objekte entfernt - ObjectsDeleteAll() vor jedem Neuzeichnen
// verhindert Garbage-Text bei Größenänderung (z.B. ChartWidth/Height)
// - FIX: OnDeinit löscht alle Chart-Objekte beim EA-Entfernen (kein Müll zurück)
// - FIX: Balance/Equity Legende sichtbar - Section-Höhe 300→350px
// - FIX: EA-Label wieder mit "EA #"-Präfix (z.B. "EA #1919")
// - NEW: Weiße Header-Connector-Balken verbinden alle 4 Sektionen
// Überschriften jetzt auf weißem Hintergrund (kein Durchblick auf Chart)
// - NEW: Default ChartWidth=900, ChartHeight=400 → Screenshot 1000x1600px
//
// v2.3 (2026-03-12)
// - FIX: Section Y-Positionen berechnen sich jetzt dynamisch aus
// ChartHeight - kein Overlap mehr beim Ändern der Höhe
// - FIX: Performance nur aus Gross P/L (DEAL_PROFIT) ohne Swap
// und Commission; offene Positionen ebenfalls nur Profit
// - FIX: EA-Balken-Beschriftung (Value Label) korrekt zentriert
// über dem Balken (ANCHOR_CENTER auf Balkenmitte)
// - FIX: EA-Label links ohne "EA "-Präfix, nur "#<Magic>" anzeigen
// - FIX: Balance/Equity Chart: Y-Padding reduziert (0.05→0.02)
// damit die Linien optisch näher zusammenrücken
//
// v2.2
// - Balance/Equity Chart mit persistenter CSV History
// - Telegram Topics Support (chat_id:thread_id)
// - SendChartAs: auto/photo/document
// - Multi-Chat-ID Support
//+------------------------------------------------------------------+
Version 2.2 2026.03.12
## 🎨 Version 2.2 (2026-03-12)

**Fokus:** Professionelle Chart-Darstellung für Screenshots und Telegram ohne Überlappungen oder Abschnitte.
Version 2.1 2026.03.11
CHANGELOG

## 🎨 Version 2.1 (2026-03-11)

### ✨ CHART READABILITY IMPROVEMENTS
Version 2.0 2026.03.10
## 🆕 VERSION 2.0 - MAJOR FEATURE

### Telegram Topics Support

**What it does:**
Send trading reports directly to specific topics (threads) within Telegram Supergroups. Organize different accounts, strategies, or time periods in separate threads.

**Format:**
```
Old format (still works): "-1001234567890"
New format with topic: "-1001234567890:12345"
Multiple topics: "-1001234567890:12345,-1001234567890:67890"
Mixed destinations: "-1001234567890:12345,-9876543210"
```

**Implementation:**
- `ParseChatID()` - Splits chat_id:thread_id format
- `BuildTelegramPostData()` - Adds message_thread_id parameter
- `SendTelegramMessage()` - Updated for Topics
- `SendAsPhoto()` - Topics support for photos
- `SendAsDocument()` - Topics support for documents
- `SendChartImageTelegram()` - Topics support for charts

**Benefits:**
- ✅ Clean organization in single supergroup
- ✅ Multiple accounts → separate topics
- ✅ Different strategies → different topics
- ✅ Team collaboration → role-based topics
- ✅ All message types supported
- ✅ All report sections supported

---
Version 1.9 2026.03.02
Changelog
v1.9 - Final
FIX ### 1️⃣ **Sign Mismatch (Zeile 51/3137) - 1 Warning**
FIX ### 2️⃣ **StringReplace() Misuse (Zeilen 1235-1388) - 18 Warnings**

**v1.9 Previous:**
- Chart-Timestamp entfernt (fester Dateiname)
- Produkt-Beschreibungen aktualisiert

**v1.8:**
- Emoji URL-Encoding
- Separate Telegram-Nachrichten
- Top EAs/Symbols (Best/Worst)