Netto-Rechnung aus den ECHTEN Steuer-Buchungen statt geschaetzt
Der seit 05.08. dokumentierte Defekt ist behoben. _add_net rechnete net_pnl = total_pnl - gross_win * 26,375 % und unterstellte, die Quellensteuer sei endgueltig verloren. Sie wird aber taeglich per "Tax settlement" erstattet - real zu 99 %. all: vorher net_pnl -2.449,95 EUR, jetzt +181,00 (total +209,93, echte Steuerlast +28,93). Verzerrung rund 2.630 EUR - sie machte aus einem profitablen Konto ein verlustreiches. Die Schaetzung der EINBEHALTENEN Summe war fast exakt; falsch war allein die Annahme, sie bleibe weg. trader.steuer_buchungen() liest die WHT-/Tax-Deals direkt (position_id == 0, sauber von Trade-Deals getrennt), unter mt5_lock, 5 min gecacht. Fail-safe: ohne MT5 Rueckfall auf die Schaetzung, das Feld wht_quelle sagt welche Zahl drinsteht. Kurze Zeitraeume bleiben verzerrt, in BEIDE Richtungen - die Erstattung kommt am Folgetag. Bei "today" ist wht sogar negativ, weil die Erstattung von gestern heute einging. Ehrlich benannt, nicht kaschiert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
d8839ef7c5
commit
5819a9df21
@@ -6209,6 +6209,34 @@ aber „20:11:42 CLOSE" sagte. ➜ **Epochs übergeben (lokal + Offset), beim Le
|
||||
Moment des Closes, der Broker den Fill). Die Summe hebt sich fast auf (+1,66 €
|
||||
über 19 Trades) → nur berichtet, **nicht** automatisch korrigiert.
|
||||
|
||||
## ✅✅ NETTO-RECHNUNG AUS DEN ECHTEN STEUER-BUCHUNGEN (2026-08-12)
|
||||
|
||||
Der seit dem 05.08. dokumentierte Defekt ist behoben. `server._add_net` schaetzte
|
||||
`net_pnl = total_pnl − gross_win × 26,375 %` und unterstellte, die Quellensteuer
|
||||
sei endgueltig verloren. Sie wird aber taeglich per `Tax settlement` erstattet.
|
||||
| Zeitraum | total_pnl | wht (ECHT) | net_pnl | einbehalten / erstattet |
|
||||
|---|---|---|---|---|
|
||||
| today | −32,72 | −68,93 | **+36,21** | −21,03 / **+89,96** |
|
||||
| week | −1.235,26 | −432,88 | −802,38 | −425,71 / +858,59 |
|
||||
| **all** | **+209,93** | **+28,93** | **+181,00** | −2.754,56 / **+2.725,63** |
|
||||
⚠⚠ **Vorher stand bei `all` −2.449,95 €** — eine Verzerrung von rund **2.630 €**,
|
||||
die aus einem profitablen Konto ein verlustreiches machte.
|
||||
✅ Die Schaetzung der EINBEHALTENEN Summe war fast exakt (2.620 gegen 2.755);
|
||||
falsch war allein die Annahme, sie bleibe weg — real werden **99 %** erstattet.
|
||||
|
||||
**Umsetzung:** `trader.steuer_buchungen(von, bis)` liest die `WHT #…`- und
|
||||
`Tax settlement`-Deals direkt (position_id == 0, damit sauber von den Trade-Deals
|
||||
getrennt — kein Doppelzaehlen). Unter `mt5_lock`, **5 min gecacht** (die Abfrage
|
||||
ueber lange Zeitraeume braucht Sekunden und gehoert nicht in jeden Aufruf).
|
||||
⚠ **Fail-safe:** antwortet MT5 nicht, faellt es auf die alte Schaetzung zurueck —
|
||||
das Feld **`wht_quelle`** sagt, welche Zahl drinsteht („echt" / „geschaetzt").
|
||||
⚠ **KURZE ZEITRAEUME sind verzerrt, in BEIDE Richtungen:** die Erstattung kommt
|
||||
erst am Folgetag. Bei „today" oben ist `wht` sogar **negativ** (−68,93), weil die
|
||||
Erstattung von GESTERN heute einging — das Netto liegt damit ueber dem Brutto.
|
||||
Das ist korrekt gebucht, aber als Tageszahl irrefuehrend. Das Flag `wht_lag`
|
||||
faengt bisher nur die eine Richtung (einbehalten, nichts erstattet).
|
||||
⚠ Zeitfalle beachtet: Epochs mit Broker-Offset uebergeben, beim Lesen abziehen.
|
||||
|
||||
## ✅ STATISTIK-MODUL: ARITHMETIK KORREKT, NETTO-RECHNUNG WEITER DEFEKT (2026-08-12)
|
||||
|
||||
Gegen unabhängige SQL geprüft, alle drei Zeiträume: **Abweichung 0,00 in jeder
|
||||
|
||||
Reference in New Issue
Block a user