M15-Karte: Selbstmessung entkoppelt - 60 % waren 53 %

User fragte nach einer zweiten Karte auf M5. Die Antwort haengt daran,
ob die bestehende traegt - und sie misst sich seit 08.08. selbst.

Befund: die Karte zeigte 60 % Trefferquote. Zwei Gruende, warum das
nichts belegt. (1) Geclustert: m15_accuracy nahm die letzten 200
Zeilen ohne Entkopplung, bei ~990 Zustandswechseln/Tag sind das fuenf
Stunden derselben Marktlage. Aus 2.302 rohen bleiben 114 unabhaengige.
(2) Regime: das Fenster lief +4,93 $, und roh liest die Karte "auf" zu
62 % richtig und "ab" zu 46 % - das ist der Trend.

Entkoppelt: 53-54 %, KI [46 ... 63] - enthaelt die 50. Der
handlungsrelevante Zustand (gruen + gerichtet) liegt bei 45,5 %.

Behoben: m15_accuracy entkoppelt (Schluessel Level+Stunde) und meldet
beide Zahlen. Anzeige jetzt 53 % statt 60 %.

Antwort auf die M5-Frage: nein, jetzt nicht - die erste Karte hat kein
Urteil, M5 waere teurer (0,193 gegen 0,104), die M5-Information ist
grossenteils schon da (Gate 3b rechnet bereits auf M5), und eine
zweite Karte verdoppelt die Drift-Flaeche.

Offen benannt: die Karte flackert (~990 Wechsel/Tag).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-12 09:31:42 +02:00
co-authored by Claude Opus 5
parent b2a1e35f5e
commit e882d795a6
4 changed files with 88 additions and 9 deletions
+9 -1
View File
@@ -323,11 +323,19 @@ function renderM15(s) {
// ── ⑥ Selbstmessung: die Karte zeigt ihre EIGENE Trefferquote ────────
// ⚠ Gegen 50 % lesen. Gemessen wird die BEDINGTE Lesart am Level, nicht
// eine freie Prognose — die ist gemessen unmöglich (AUC 0,52 in-sample).
// ⚠⚠ ENTKOPPELT seit 2026-08-12. Vorher stand hier die ROHE Quote der letzten
// 200 Zeilen — bei ~990 Zustandswechseln/Tag sind das fünf Stunden derselben
// Marktlage, vielfach gezählt. Angezeigt wurden dadurch **60 %**, entkoppelt
// sind es **53 %**. Dieselbe Cluster-Falle hat im Projekt schon eine
// Fälligkeitsbedingung um das Zehnfache danebenliegen lassen.
// ⚠ `n` ist jetzt die ENTKOPPELTE Zahl (max 1 je Level+Stunde), `roh` die
// gelesene — beide werden genannt, damit die Schrumpfung sichtbar bleibt.
const tk = s.m15_track || {};
const tEl = $("m15-track");
if (tk.n >= 20 && tk.wr30 != null) {
tEl.className = "m15-item " + (tk.wr30 >= 55 ? "ok" : tk.wr30 <= 45 ? "warn" : "");
tEl.textContent = `⑥ eigene Trefferquote (${tk.n} Zustände): ${tk.wr30} % auf 30`
tEl.textContent = `⑥ eigene Trefferquote (${tk.n} unabh. Zustände`
+ (tk.roh ? ` aus ${tk.roh}` : "") + `): ${tk.wr30} % auf 30`
+ (tk.wr60 != null ? ` · ${tk.wr60} % auf 60` : "")
+ ` · Ø ${tk.avg30 == null ? "—" : (tk.avg30 >= 0 ? "+" : "") + f(tk.avg30, 3)}×ATR`;
} else {