Breakout-Karte vorbereitet (inaktiv bis Neustart) + Bewertung der Margin-Idee

User-Idee: 40 % Margin manuell, 50 % fuer Breakout reservieren, neue Karte.

Bewertung: (1) 40 % ist der groesste gemessene Hebel (MaxDD 82,8 %) und ein
Schalter ohne Neustart. (2) Reserve ist technisch moeglich (Konto ist
RETAIL_HEDGING), aber _check_auto_squeeze feuert 'nur FLAT' und engine.py hat 17
Einzel-Positions-Annahmen -- Kern-Umbau, kein Parameter. Zudem steht die
Zuteilung gegen die Messung: autonom -4,71 EUR/Lot gegen Mensch +1,56 EUR/Lot.
Live-Befund macht (1) dringlich: freie Margin -6,21 EUR, Margin-Level 99,3 %.
Es gibt derzeit nichts zu reservieren.

Gebaut (inaktiv): history.fetch_squeeze_since, engine._squeeze_b5_cached
(120 s gecacht), Snapshot-Feld squeeze_b5, Karte #card-brk. Eigenes Fenster ab
01.08. -- squeeze_monitor.live rechnet ueber alle 42 Trades, B5 zaehlt 11. Die
Karte zeigt beide Zahlen, weil der Monitor 'ontrack' aus der MECHANIK meldet,
waehrend live Verhaeltnis 0,14 / PF 0,39 steht.

Live aendert sich nichts: Karte ist hidden, renderBrk blendet sie aus solange
squeeze_b5 fehlt. Aktiv nach dem naechsten Neustart (wartet auf den Trade).

BEINAHE-SCHADEN: ein UnicodeEncodeError liess web/app.js mit 0 Bytes zurueck.
node --check bestand trotzdem -- eine leere Datei ist gueltiges JS. Gefangen hat
es erst der Groessenvergleich. Neue Regel: erst .tmp schreiben, Groesse pruefen,
dann os.replace.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-19 13:32:48 +02:00
co-authored by Claude Opus 5
parent 3affe51030
commit 30cb77b795
8 changed files with 8490 additions and 2 deletions
+41
View File
@@ -7434,6 +7434,47 @@ vollständig.
**Verifikation der Zustellung steht aus** — sie erfolgt mit dem Report am
nächsten Morgen um 07:30. Die Bausteine sind einzeln live gegengeprüft.
## ⚙ BREAKOUT-KARTE VORBEREITET — aktiv erst nach dem nächsten Neustart (2026-08-19, v=176)
User-Idee: (1) manuell fest 40 % Margin, (2) 50 % für Breakout reservieren,
(3) neue Dashboard-Karte. **Bewertung:**
| Punkt | Urteil |
|---|---|
| ① 40 % fest | ✅ grösster gemessener Hebel (MaxDD **82,8 %**, schlechtester Trade 381 €). **Ein Schalter, kein Umbau** — Feld „Einsatz %“, ohne Neustart, nur auf neue Positionen. |
| ② 50 % Reserve | ⚠ Konto ist **RETAIL_HEDGING**, also technisch möglich — aber: `_check_auto_squeeze` feuert **„nur FLAT“**, dazu **17 Einzel-Positions-Annahmen** in `engine.py` (Trailing, Notfall-Stop, S/R-Close, Time-Stop, Breaker verwalten je EINE Position). Kern-Umbau, kein Parameter. |
| ③ Karte | ✅ gebaut, s. u. |
⚠⚠ **Der Live-Befund macht ① dringlich:** Balance 937,40 € · Equity 877,41 € ·
Margin belegt 883,62 € → **freie Margin 6,21 €, Margin-Level 99,3 %**. EINE
Position (1,19 Lot) frisst das ganze Konto. **Es gibt derzeit nichts zu
reservieren** — die Reserve aus ② entsteht überhaupt erst durch ①.
⚠⚠ **Und die Zuteilung steht gegen die Messung:** seit 01.08. je Lot
**autonom 4,71 €** (n=11) gegen **Mensch +1,56 €** (n=185). ② gäbe dem
gemessen schlechteren Pfad den grösseren Anteil; 40+50 lassen zudem nur 10 %
Puffer. **Empfehlung: ① und ③ jetzt, ② erst wenn freie Margin existiert UND
der autonome Pfad auf einem NEU vorab fixierten Fenster nicht negativ ist.**
**Gebaut (inaktiv):** `history.fetch_squeeze_since` · `engine._squeeze_b5_cached`
(~120 s gecacht, Muster `_alignment_cached`) · Snapshot-Feld `squeeze_b5` ·
Karte `#card-brk` (Zustand · Squeeze jetzt · liegende Orders · **B5-Stand**).
**Eigenes Fenster ab 01.08.**`squeeze_monitor.live` rechnet über **alle 42**
Trades, B5 zählt **11**. Beide ungetrennt zu zeigen wäre dieselbe stille
Fenster-Verwechslung wie bei `pbreak_accuracy_v2`.
⚠ Die Karte nennt beide Zahlen: der Monitor meldet **`ontrack`** aus der
**Mechanik** (ØR +0,163 / PF 1,24), während live **Verhältnis 0,14 / PF 0,39**
steht. Die Lücke IST der B4-Befund — eine der beiden allein wäre irreführend.
**Live ändert sich nichts:** die Karte ist `hidden` und `renderBrk` blendet
sie aus, solange `squeeze_b5` fehlt. Aktiv nach dem nächsten Neustart — der
wartet auf User-Wunsch, bis die offene Position zu ist.
⚠⚠ **BEINAHE-SCHADEN, dokumentiert weil es eine Fehlerklasse ist:** ein
`UnicodeEncodeError` (Emoji-Escapes) brach mitten im Schreiben ab und liess
**`web/app.js` mit 0 Bytes** zurück — `io.open(p,"w")` kürzt VOR dem Schreiben.
**`node --check` bestand trotzdem: eine LEERE Datei ist gültiges JS.** Die
Syntaxprüfung allein hätte den Totalverlust durchgewinkt; gefangen hat ihn erst
der Grössenvergleich. **Regel: Datei erst in `.tmp` schreiben, Grösse gegen das
Original prüfen, dann `os.replace`** — so ist es jetzt gemacht.
## ✅ BRK BLEIBT AN (User 2026-08-19) — und die 13-tägige Flaute war kein Defekt
User: „Breakout-Squeeze soll an bleiben. Rechne und überprüfe erneut.“