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
+20
-4
@@ -4034,12 +4034,28 @@ class TradingEngine:
|
||||
atr15 = (ws.get("tf_atr") or {}).get("M15")
|
||||
out: dict = {"atr_m15": round(atr15, 4) if atr15 else None}
|
||||
|
||||
# ── 1) BIAS — der einzige belegte Filter (M30-Gegen-Trend: Edge ×2)
|
||||
# ── 1) VETO statt BIAS ────────────────────────────────────────
|
||||
# ⚠⚠ KORREKTUR 2026-08-08, nach dem Tagestest an 07.08.: der erste
|
||||
# Entwurf machte aus „M30+H1 einig" eine RICHTUNG („Bias LONG") und
|
||||
# erzeugte damit 13 LONG-Episoden an einem Tag, der 1,02 $ FIEL —
|
||||
# Trefferquote 0 %, ØR −0,753. Der Fehler ist strukturell, nicht
|
||||
# Pech: gemessen ist **„gegen den M30-Trend halbiert den Edge"**,
|
||||
# also eine VERBOTS-Aussage. Daraus einen Richtungsgeber zu machen
|
||||
# ist exakt der Fehler, wegen dem die Gesamtempfehlung entfernt
|
||||
# wurde (Richtung dort 48–51 % Treffer = Münzwurf).
|
||||
# Die nachlaufende EMA zeigt im Trendtag stur in die alte Richtung —
|
||||
# dokumentiert seit `analyze_signal_live.py` (06.08.).
|
||||
# Jetzt liefert das Feld nur noch, welche Richtung VERBOTEN ist.
|
||||
h30 = ws.get("htf_trend"); h1 = ws.get("h1_trend")
|
||||
einig = (h30 and h1 and h30 == h1)
|
||||
verboten = None
|
||||
if h30:
|
||||
verboten = "SHORT" if h30 == "LONG" or h30 == 1 else "LONG"
|
||||
out["bias"] = {"m30": h30, "h1": h1,
|
||||
"richtung": h30 if einig else None,
|
||||
"einig": bool(einig)}
|
||||
"verboten": verboten,
|
||||
"einig": bool(h30 and h1 and h30 == h1),
|
||||
# ⚠ `richtung` bleibt None — bewusst KEINE
|
||||
# Richtungsaussage mehr (s. o.).
|
||||
"richtung": None}
|
||||
|
||||
# ── 2) KOSTEN auf M15 — hier gewinnt M15 wirklich (gemessen 0,104
|
||||
# gegen M5 0,193). Schwellen wie beim M5-Chip (0,20 / 0,32).
|
||||
|
||||
Reference in New Issue
Block a user