diff --git a/web/app.js b/web/app.js index 207064d..63ce7ba 100644 --- a/web/app.js +++ b/web/app.js @@ -193,10 +193,35 @@ function renderM15(s) { const nah = z.filter(x => x.gap_atr15 != null && x.gap_atr15 <= 0.5); const zOk = nah.length > 0; $("m15-zone").className = "m15-item " + (z.length ? (zOk ? "ok" : "warn") : ""); + // ⚠⚠ RICHTUNGS-LESART, aber BEDINGT auf das Level. Eine FREIE Prognose ist + // gemessen unmoeglich (`analyze_reversal.py`: AUC 0,499–0,509 oos und + // **in-sample nur 0,52** — die Merkmale enthalten keine Richtungsinformation; + // Live-Richtung 48–51 % ueber 1.071 Episoden). P(break) fragt dagegen nicht + // „wohin geht der Kurs", sondern „haelt DIESE Struktur?" — bedingt auf ein + // reales Objekt mit Orders dahinter, AUC 0,65 oos. + // ⚠ 45–55 % bekommt BEWUSST keine Richtung: dort ist die Zahl ein Muenzwurf, + // und daraus einen Pfeil zu machen waere genau der Fehler, den die + // MQL5-Pfeile schon einmal vermieden haben. + const lesart = (x) => { + const p = x.p_break, res = x.seite === "res"; + if (p == null) return ""; + if (p >= 45 && p <= 55) return " → unentschieden"; + const bricht = p > 55; + // Widerstand gebrochen = aufwaerts · Widerstand haelt = abwaerts + const auf = res ? bricht : !bricht; + const q = bricht ? `${p} % Bruch` : `${100 - p} % Abprall`; + return ` → ${q}, eher ${auf ? "aufwärts ▲" : "abwärts ▼"}`; + }; $("m15-zone").textContent = z.length - ? "③ " + z.map(x => `${x.seite === "res" ? "Widerstand" : "Support"} ${f(x.level, 3)}` - + ` (${f(x.gap_atr15)}×ATR, Bruch ${x.p_break} %)`).join(" · ") + ? "③ " + z.map(x => `${x.seite === "res" ? "Widerstand" : "Support"} ` + + `${f(x.level, 3)} (${f(x.gap_atr15)}×ATR)${lesart(x)}`).join(" · ") : "③ kein Level in Sicht"; + $("m15-zone").title = "Richtungs-Lesart BEDINGT auf das Level, keine freie " + + "Prognose: eine solche ist gemessen unmöglich (AUC 0,50 out-of-sample und " + + "nur 0,52 in-sample — es steckt keine Richtungsinformation in den Daten). " + + "P(break) fragt stattdessen „hält diese Struktur?“ und ist out-of-sample " + + "kalibriert (AUC 0,65). ⚠ Live derzeit rund 7 Pp zu niedrig — die Abprall-" + + "Quote ist also eher noch etwas optimistisch. 45–55 % bleibt ohne Richtung."; // ── Reichweite (Kegel) — sagt WIE WEIT, nicht wohin ────────────────── // ⚠ REINE GEOMETRIE: passt das Gegenlevel (= das Ziel) noch in das 80-%-Band diff --git a/web/index.html b/web/index.html index aef08c9..fa44fae 100644 --- a/web/index.html +++ b/web/index.html @@ -6,7 +6,7 @@ Oil · MT5 - + @@ -340,6 +340,6 @@ - +