S/R-Beschriftung: Chart und M15-Karte nannten verschiedene Zahlen (v1.35, v=169)
User: "die Beschriftung fuer S/R im Chart stimmt nicht mit der Analyse in der M15-Karte ueberein." Die LEVEL stimmten -- nur die Zahl daneben nicht. Live gegengeprueft: die CSV enthielt R;82.069;69, Gate 3 der Karte meldete res 82.069 / p_break 69. Beide kommen aus _draw_levels(), sind also per Konstruktion identisch; auch die Distanzen sind exakt (0,477~0,48 / 0,909~0,91 / 0,455~0,45). DER DEFEKT: das Chart schrieb die NACKTE Zahl = P(Bruch), die Karte klappte unter 45 % still auf P(Abprall) um und nennt 45-55 % "unentschieden". P(Bruch) 33 % -> Chart "33%" Karte "67 % Abprall" P(Bruch) 46 % -> Chart "46%" Karte "unentschieden" P(Bruch) 72 % -> Chart "72%" Karte "72 % Bruch" Beide Zahlen richtig, aber die Chart-Zahl sagte nicht, WAS sie ist. GEMESSEN in 88,1 % der Zeit verschieden (1.797 Vorhersagen / 14 Tage: 66,3 % unter 45 %, 21,9 % im unentschiedenen Band). Behoben im Indikator v1.35, wortgleich zu app.js. Ueber 1.678 echte P(break)-Werte gegengeprueft: Uebereinstimmung 0 % -> 100 %. Ins RICHTIGE Terminal kompiliert (es gibt real zwei Ordner, nur D0E8209F... bekommt die sr_levels.csv): 0 errors, 0 warnings, .ex5 frisch, Version im Terminal gegengeprueft. Zwei Verdachtsmomente ausgeschlossen statt vermutet: eine stehengebliebene Alt-Linie (der Indikator ruft ObjectsDeleteAll bei jedem Redraw) und ein falsch einsortiertes Level (_draw_levels waehlt seit 23.07. nach Lage zum Kurs). ZWEITER Befund derselben Klasse, ebenfalls behoben: Gate 3 und 3b nannten Level aus VERSCHIEDENEN Zeitebenen, beide nur als "xATR" -- 3 M30-Pivots, ATR_M15, im Chart gezeichnet 3b M5-Pivots, ATR_M5, NICHT gezeichnet Real standen "0,48xATR" und "0,45xATR" nebeneinander, die nicht vergleichbar sind, und die Karte nannte einen "Support 81,78", den man im Chart vergeblich sucht (alle 10 M30-Pivots lagen ueber dem Kurs). Die Quellen-Trennung BLEIBT -- entry_room_atr=0,6 ist ueber 80k Bars auf M5 kalibriert. Geaendert wurde nur die Beschriftung plus Tooltips. Reine Anzeige: an Gates, Gewichten und Order-Logik nichts geaendert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
95521d041c
commit
77ed1d5572
+24
-6
@@ -219,11 +219,22 @@ function renderM15(s) {
|
||||
const q = bricht ? `${p} % Bruch` : `${100 - p} % Abprall`;
|
||||
return ` → ${q}, eher ${auf ? "aufwärts ▲" : "abwärts ▼"}`;
|
||||
};
|
||||
// ⚠⚠ ZEITEBENE MIT IM TEXT (Fix 2026-08-13). ③ liest M30-Level und misst in
|
||||
// ATR_M15, ③b liest M5-Level und misst in ATR_M5. Beide standen vorher nur als
|
||||
// „×ATR" da — zwei Zahlen nebeneinander (0,48 und 0,45), die vergleichbar
|
||||
// AUSSAHEN und verschiedene Bezugsgroessen hatten. Die Quellen-Trennung ist
|
||||
// Absicht (`entry_room_atr=0,6` ist auf M5 kalibriert), die stumme
|
||||
// Beschriftung war es nicht.
|
||||
// ⚠ „(Chart)" markiert, dass GENAU diese Linie im MT5-Chart gezeichnet wird —
|
||||
// die M5-Level aus ③b werden dort NICHT gezeichnet.
|
||||
$("m15-zone").textContent = z.length
|
||||
? "③ " + z.map(x => `${x.seite === "res" ? "Widerstand" : "Support"} `
|
||||
+ `${f(x.level, 3)} (${f(x.gap_atr15)}×ATR)${lesart(x)}`).join(" · ")
|
||||
? "③ " + z.map(x => `${x.seite === "res" ? "Widerstand" : "Support"} M30 `
|
||||
+ `${f(x.level, 3)} (Chart · ${f(x.gap_atr15)}×ATR_M15)${lesart(x)}`).join(" · ")
|
||||
: "③ kein Level in Sicht";
|
||||
$("m15-zone").title = "Richtungs-Lesart BEDINGT auf das Level, keine freie "
|
||||
$("m15-zone").title = "GENAU diese Linie wird im MT5-Chart gezeichnet (M30-Pivots, "
|
||||
+ "geclustert) — der Chart nennt seit v1.35 dieselbe Zahl mit denselben Worten. "
|
||||
+ "⚠ Die Level in ③b stammen dagegen aus M5 und stehen NICHT im Chart. "
|
||||
+ "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 "
|
||||
@@ -275,7 +286,7 @@ function renderM15(s) {
|
||||
const seite = (o, lbl) => {
|
||||
if (!o) return null;
|
||||
if (o.level == null) return `${lbl} frei`;
|
||||
return `${lbl} ${o.dist_atr}×ATR${o.frei ? "" : " ⚠"}`;
|
||||
return `${lbl} ${o.dist_atr}×ATR_M5${o.frei ? "" : " ⚠"}`;
|
||||
};
|
||||
if (mo.block) {
|
||||
// Der Motor blockt — das ist die Information, die gefehlt hat.
|
||||
@@ -300,14 +311,21 @@ function renderM15(s) {
|
||||
moEl.className = "m15-item";
|
||||
moEl.textContent = "③b Motor —";
|
||||
}
|
||||
// ⚠ „M5" und „×ATR_M5" ausgeschrieben: diese Level stammen aus einer ANDEREN
|
||||
// Zeitebene als ③ (M30) und werden im Chart NICHT gezeichnet. Ohne den Zusatz
|
||||
// sucht man die genannte Linie dort vergeblich.
|
||||
const teile = [seite(rm.long, "▲"), seite(rm.short, "▼")].filter(Boolean);
|
||||
if (teile.length) {
|
||||
moEl.textContent += ` · Raum ${teile.join(" / ")}`
|
||||
+ (rm.gate ? ` (Gate ${rm.gate})` : "");
|
||||
}
|
||||
moEl.title = "Was der Signal-Motor GERADE blockt, plus der Raum zum nächsten "
|
||||
+ "Gegenlevel je Richtung (M5 — dieselbe Rechnung wie das Gate selbst, kein "
|
||||
+ "Nachbau). Unter 0,6×ATR ist der Ertrag am Level gedeckelt: gemessen "
|
||||
+ "Gegenlevel je Richtung. ⚠ Quelle sind M5-Pivots und ATR_M5 — eine ANDERE "
|
||||
+ "Zeitebene als ③ (M30-Level, ATR_M15), und diese Linien werden im Chart NICHT "
|
||||
+ "gezeichnet. Das ist Absicht: entry_room=0,6 ist über 80k Bars auf M5 "
|
||||
+ "kalibriert. Die beiden ×ATR-Zahlen sind deshalb NICHT vergleichbar. "
|
||||
+ "Dieselbe Rechnung wie das Gate selbst, kein "
|
||||
+ "Nachbau. Unter 0,6×ATR ist der Ertrag am Level gedeckelt: gemessen "
|
||||
+ "ØR −0,119/−0,067 bei PF 0,42/0,66 — Trefferquote hoch und trotzdem "
|
||||
+ "Verlust. ⚠ Gate ③ liest dieselbe Nähe als GUT (ruhende Order AM Level), "
|
||||
+ "entry_room als SCHLECHT (Markt-Einstieg mit dem Level als Hindernis). "
|
||||
|
||||
+2
-2
@@ -6,7 +6,7 @@
|
||||
<meta name="theme-color" content="#0d1117">
|
||||
<title>Oil · MT5</title>
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<link rel="stylesheet" href="style.css?v=168">
|
||||
<link rel="stylesheet" href="style.css?v=169">
|
||||
</head>
|
||||
<body>
|
||||
<!-- Modul-Menü (ganz oben) -->
|
||||
@@ -356,6 +356,6 @@
|
||||
</div>
|
||||
<div id="toast" class="toast hidden"></div>
|
||||
|
||||
<script src="app.js?v=168"></script>
|
||||
<script src="app.js?v=169"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user