M15-Karte misst sich selbst + Ausfuehrungsqualitaet sichtbar (v=157)

Nach Web-Recherche umgesetzt, Punkte 2 und 3 der Wahl.

SELBSTMESSUNG (neue Tabelle m15_states): die Karte hatte KEINE Rueckkopplung -
geprueft, es gab kein Logging. Das war die auffaelligste Luecke: jeder Ausfall,
der in diesem Projekt je aufgedeckt wurde, kam aus einer Rueckkopplung
(pbreak_predictions entlarvte den Modellausfall LIVE, was kein Backtest konnte;
der B4-Monitor die Squeeze-Drift). Die Karte haette monatelang falsch stehen
koennen.
Neu: eine Zeile je ZUSTANDSWECHSEL, nach 30/60 min gegen candles_m1
ausgewertet, Ergebnis als Zeile 6 in der Karte. Gewertet wird die LESART, nicht
der Status, und nur die gerichtete (45-55 % zaehlt nicht mit). Gegen 50 % lesen.
Nur bei Wechsel, nie je Tick - sonst dieselbe Cluster-Verzerrung, die am 07.08.
elf widerlegte Hypothesen ausgeloest hat. Live verifiziert: 1 Zeile trotz
laufendem Sekundentakt.

AUSFUEHRUNGSQUALITAET (Zeile 7): analyze_squeeze_entry_gap.py existiert seit dem
05.08. und misst die TCA-Kennzahl (Arrival-Price-Slippage) - niemand hat je
hineingesehen. Dabei war das der einzige Erfolgsmassstab des Stop-Order-Umbaus
und zugleich der groesste je gemessene Hebel (+0,32 R). Jetzt steht der
Zaehlstand in der Karte: 3 von 12 Bot-Trades seit dem Umbau.

NICHT gebaut: der Kegel mit Adaptive Conformal Inference. Er ist mit
76,7/76,6/75,3 % gegen 80 % Nennwert dokumentiert zu eng, und ACI waere die
Standardmethode (adjustiert online, garantiert Konvergenz auch unter Drift).
Bleibt offen.

BEIM BAU EIN NAMEERROR IM 1-SEKUNDEN-PFAD, VOM LINTER GEFANGEN: der erste
Entwurf berechnete _m15 in _run_analysis und benutzte es in snapshot(); dort
gibt es weder market noch wave_snap. py_compile sieht das NICHT, ruff F821
meldete 4 Befunde. Genau die Fehlerklasse, fuer die der Linter am 07.08.
eingebaut wurde - und der erste echte Fang. Zweiter Fehler beim Verschieben:
der Block landete mitten in einem mehrzeiligen Aufruf. Beide behoben.

DB-Backup: oil_widget_history.db.bak-2026-08-08-m15states

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-08 23:38:56 +02:00
co-authored by Claude Opus 5
parent 5ddbe07066
commit 86c432f791
5 changed files with 341 additions and 6 deletions
+44 -2
View File
@@ -4182,7 +4182,7 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
(„⚠ die Welle (steuert die Order) schweigt").
Live gegengerechnet, beide Zeilen erscheinen wie beabsichtigt.
⚠ Reine Anzeige — an Gewichten, Gates und Order-Logik ist nichts geändert.
- Asset-Version aktuell **v=153** (in `web/index.html` hochzählen, siehe Workflows).
- Asset-Version aktuell **v=157** (in `web/index.html` hochzählen, siehe Workflows).
Schriftgrößen 2026-07-24 global **+4px** (2× je +2px auf User-Wunsch; Body-Basis
14→18px). ⚠ Betrifft in `style.css` sowohl `font-size:Npx` (71×) ALS AUCH die
`font:<weight> Npx/…`-**Shorthand** (3×: `.ms-chip`/`.ms-bos-lbl`/`.sqm-badge`
@@ -4942,6 +4942,48 @@ Modell schliesst keine Trades.
„die Rangfolge ist kaputt" ist **nicht** belegt; belegt ist nur die
Basisraten-/Kalibrierungslücke.
## ✅ DIE M15-KARTE MISST SICH JETZT SELBST + AUSFÜHRUNGSQUALITÄT SICHTBAR (2026-08-08, v=157)
Nach Web-Recherche umgesetzt (User-Wahl aus drei Vorschlägen). ⚠ Der dritte
(Kegel mit **Adaptive Conformal Inference** nachkalibrieren) bleibt OFFEN — der
Kegel ist mit **76,7 / 76,6 / 75,3 %** gegen 80 % Nennwert dokumentiert zu eng,
und ACI ist die Standardmethode dafür (adjustiert das Niveau online, garantiert
Konvergenz auch unter Drift). Nicht gebaut.
**② SELBSTMESSUNG (`m15_states`).** Die Karte hatte **keine Rückkopplung**
geprüft, es gab kein Logging. Das war die auffälligste Lücke: **jeder** Ausfall,
der in diesem Projekt je aufgedeckt wurde, kam aus einer Rückkopplung
(`pbreak_predictions` entlarvte den Modellausfall LIVE, was kein Backtest
konnte; der B4-Monitor die Squeeze-Drift). Die Karte hätte monatelang falsch
stehen können.
Neu: eine Zeile je **Zustandswechsel** (Status + Lesart + Level), nach 30/60 min
gegen `candles_m1` ausgewertet, Ergebnis als Zeile ⑥ in der Karte.
**Gewertet wird die LESART, nicht der Status** — und nur die gerichtete
(4555 % zählt nicht mit). Gegen 50 % zu lesen.
**Nur bei Wechsel**, nie je Tick: sonst entsteht dieselbe Cluster-Verzerrung,
die am 07.08. elf widerlegte Hypothesen ausgelöst hat (roh 922 Zeilen 52,6 %,
entkoppelt 93 Zeilen 45,2 %) — und die mein erster Tagestest reproduzierte
(46 fortlaufende Bars als 46 Trades). Live verifiziert: **1 Zeile** trotz
laufendem Sekundentakt.
**③ AUSFÜHRUNGSQUALITÄT (Zeile ⑦).** `analyze_squeeze_entry_gap.py` existiert
seit dem 05.08. und misst die TCA-Kennzahl (Arrival-Price-Slippage) — **niemand
hat je hineingesehen.** Dabei war das der einzige Erfolgsmaßstab des
Stop-Order-Umbaus (Abstand Einstieg↔Level muss gegen 0, vorher Median
+0,275×ATR) und zugleich der **grösste je gemessene Hebel** (+0,32 R gegenüber
Market). Jetzt steht der Zählstand in der Karte: **3 von 12** Bot-Trades seit dem
Umbau.
⚠⚠ **BEIM BAU EIN NAMEERROR IM 1-SEKUNDEN-PFAD — vom LINTER gefangen.** Der
erste Entwurf berechnete `_m15` in `_run_analysis` und benutzte es in
`snapshot()`; dort gibt es weder `market` noch `wave_snap`. **`py_compile` sieht
das NICHT**, `ruff F821` meldete **4 Befunde**, darunter `_m15` selbst. Genau
die Fehlerklasse, für die der Linter am 07.08. eingebaut wurde (die beiden
`log.`-NameError in `core/trader.py` sassen Monate in `except`-Zweigen) — und
der erste echte Fang.
⚠ Zweiter Fehler beim Verschieben: der Block landete **mitten in einem
mehrzeiligen Aufruf** (`_cone = _cone_build(`) → SyntaxError. Beide behoben.
## ⚠⚠ DIE ZWEI GERATENEN M15-SCHWELLEN GEMESSEN — beide NICHT kalibrierbar (2026-08-08)
Auftrag: die Reichweite (0,5×ATR) und die Kosten-Schwelle (0,32, von M5) messen
@@ -5885,7 +5927,7 @@ besser) · Teil-Exit bei 1:1 (`_PARTIAL_TP_FRAC=0`, User-Vorgabe).
(Beobachtungen/Feedback) ergänzt diese Datei.
- `oil_widget_config.ini` enthält **Live-Secrets** (Keys/Token) — nicht ins
Repo/Logs leaken.
- **DB** `oil_widget_history.db` (trades · intended_trades · recommendations · **candles_m1** · **pbreak_predictions** · **verdict_votes**).
- **DB** `oil_widget_history.db` (trades · intended_trades · recommendations · **m15_states** · **candles_m1** · **pbreak_predictions** · **verdict_votes**).
Vor jedem Eingriff Backup (`*.bak-<datum>`); Zeitspalten sind lokale Epoch
(Broker-Offset bereits korrigiert) — **AUSNAHME `candles_m1.time` = ROHE Broker-Zeit
(UTC+3)**, deckungsgleich mit `copy_rates`.