M15-Karte: Bias war ein Richtungsgeber - korrigiert zum Veto (v=155)
Tagestest an 07.08. (test_m15_karte_tag.py) deckt einen strukturellen Fehler in meiner eigenen Karte auf. Rohzahlen: 92 M15-Bars, davon 46 (50 %) auf GRUEN. Entkoppelt auf zusammenhaengende Bloecke bleiben 13 Setup-Episoden - und ALLE 13 waren LONG, an einem Tag, der von 78,399 auf 77,383 FIEL (-1,016 $). Trefferquote 0 %, OeR -0,753, SumR -9,79. Ursache ist nicht Pech, sondern ein Denkfehler: gemessen ist "gegen den M30-Trend zu handeln halbiert den Edge" - eine VERBOTS-Aussage. Ich hatte daraus "M30+H1 einig -> Bias LONG" gemacht, also einen Richtungsgeber. Exakt der Fehler, wegen dem die Gesamtempfehlung entfernt wurde (Richtung dort 48-51 % Treffer). Die nachlaufende EMA zeigt im Trendtag stur in die alte Richtung - dokumentiert seit analyze_signal_live.py. Korrigiert: das Feld liefert nur noch, welche Richtung VERBOTEN ist (bias.verboten); bias.richtung ist dauerhaft None. Das Banner nennt keine Richtung mehr: "BEDINGUNGEN OK @ 77,098 - Order ANS LEVEL, nicht zum Markt - SHORT vermeiden" Zwei weitere Befunde aus demselben Test, offen dokumentiert: - Das Kosten-Gate blockte 0 von 92 Bars. Auf M15 liegt Spread/ATR bei ~0,10, die Schwelle bei 0,32 - das Gate ist dort faktisch dekorativ. - Die strengere Bias-Variante (M30 UND H1) unterscheidet sich kaum von der laxen (46 gegen 47 gruene Bars) - die Zusatzstrenge kostet nichts, bringt aber auch nichts. Auch ein Fehler in meinem TEST, dokumentiert: der erste Lauf zaehlte 46 fortlaufende Bars als 46 Trades und meldete 7 % Trefferquote - eine Bewegung 46-mal gezaehlt. Erst die Entkopplung auf Episoden macht die Zahl lesbar. WARNUNG zur Beweiskraft: EIN Tag ist kein Edge-Nachweis. Belastbar ist hier nicht die Trefferquote, sondern der MECHANISMUS - und der ist aus zwei Halbjahren dokumentiert. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
e5adfc9757
commit
30830d76b1
+17
-10
@@ -159,12 +159,16 @@ function renderM15(s) {
|
||||
const f = (v, d = 2) => (v == null ? "—" : (+v).toFixed(d));
|
||||
|
||||
// ── Gate 1: HTF-Bias (der einzige belegte Filter, Edge ×2) ───────────
|
||||
// ⚠⚠ VETO, KEINE RICHTUNG (Korrektur 2026-08-08). Der erste Entwurf zeigte
|
||||
// „Bias ▲ LONG" und erzeugte am 07.08. dreizehn LONG-Episoden an einem Tag,
|
||||
// der 1,02 $ FIEL (Trefferquote 0 %). Gemessen ist nur: GEGEN den M30-Trend
|
||||
// zu handeln halbiert den Edge — eine Verbots-, keine Richtungsaussage.
|
||||
const b = s.bias || {};
|
||||
const bOk = !!b.einig;
|
||||
$("m15-bias").className = "m15-item " + (bOk ? "ok" : "fail");
|
||||
const bOk = !!b.verboten; // Gate offen, sobald ein HTF steht
|
||||
$("m15-bias").className = "m15-item " + (bOk ? "ok" : "");
|
||||
$("m15-bias").textContent = bOk
|
||||
? `① Bias ${b.richtung === "LONG" ? "▲ LONG" : "▼ SHORT"} · M30+H1 einig`
|
||||
: `① Bias unklar · M30 ${b.m30 || "—"} / H1 ${b.h1 || "—"}`;
|
||||
? `① Veto: ${b.verboten} vermeiden (HTF ${b.m30}${b.einig ? " + H1 einig" : ""})`
|
||||
: `① kein Veto — HTF flach (M30 ${b.m30 ?? "—"} / H1 ${b.h1 ?? "—"})`;
|
||||
|
||||
// ── Gate 2: Kosten auf M15 ───────────────────────────────────────────
|
||||
const k = s.kosten || {};
|
||||
@@ -224,15 +228,18 @@ function renderM15(s) {
|
||||
: "⑤ Veto: noch zu wenige Trades";
|
||||
|
||||
// ── Status: die Kette wird der Reihe nach ausgewertet ────────────────
|
||||
// ⚠ Das Banner nennt AUSDRUECKLICH keine Richtung. Es sagt, ob die
|
||||
// BEDINGUNGEN fuer eine Order am Level stehen — und was verboten ist.
|
||||
let cls, txt;
|
||||
if (!bOk) { cls = "rot"; txt = "🔴 KEIN TRADE · Bias unklar (M30/H1 uneinig)"; }
|
||||
else if (!kOk && k.ratio != null) { cls = "rot"; txt = "🔴 KEIN TRADE · Kosten zu hoch"; }
|
||||
else if (!zOk) { cls = "gelb"; txt = "🟡 WARTEN AUF LEVEL · Bias und Kosten passen"; }
|
||||
else {
|
||||
if (!kOk && k.ratio != null) { cls = "rot"; txt = "🔴 KEIN TRADE · Kosten zu hoch"; }
|
||||
else if (!zOk) {
|
||||
cls = "gelb";
|
||||
txt = "🟡 WARTEN AUF LEVEL · Kosten passen, Kurs noch zu weit";
|
||||
} else {
|
||||
const nn = nah[0];
|
||||
cls = "gruen";
|
||||
txt = `🟢 SETUP BEREIT @ ${f(nn.level, 3)} · ${b.richtung === "LONG" ? "▲" : "▼"} `
|
||||
+ `${b.richtung} · Order ANS LEVEL legen, nicht zum Markt`;
|
||||
txt = `🟢 BEDINGUNGEN OK @ ${f(nn.level, 3)} · Order ANS LEVEL, nicht zum Markt`
|
||||
+ (b.verboten ? ` · ⛔ ${b.verboten} vermeiden` : "");
|
||||
}
|
||||
st.className = "m15-status " + cls;
|
||||
st.textContent = txt;
|
||||
|
||||
Reference in New Issue
Block a user