Verdict: M30/H1 bekommen Gewicht 0 ohne Aussage (Bias-Fix Teil 3)
Anlass war die User-Frage "H1 aus der Gesamtempfehlung entfernen, da wir
jetzt mit M30 arbeiten?". Antwort NEIN, aber die Frage hat einen echten
Defekt freigelegt.
Zur Praemisse: auf M30 umgestellt wurde die S/R-LEVEL-QUELLE, nicht die
Zeitebenen-Logik. H1 war nie Basis-TF (tf_max=M30), sondern immer Kontext.
Zur vermuteten Doppelzaehlung - gemessen an verdict_votes (n=7.074):
bei gerichteter Welle stimmt M30 nur zu 14,9 % mit ihr ueberein, H1 zu
47 %, M30 und H1 untereinander nur zu 33,8 %. Keine redundanten Stimmen
(Reversals heben den M30-Filter bewusst auf, und M30 ist meist gar nicht
gerichtet). H1 fliesst zwar auch als Konfluenz-Bonus in die Konfidenz -
aber in eine ANDERE Kennzahl (Ring vs. Nadel), nicht zweimal in dieselbe.
DER ECHTE DEFEKT: add("M30", ...) und add("H1", ...) hatten Gewicht 1,5
UNBEDINGT, auch bei Stimme 0. Damit derselbe Fehler wie beim Wellen-Modul
(Bias-Fix Teil 2 vom 30.07.), hier uebersehen. Eine 0-Stimme heisst
"EMA-Abstand im Totband" = keine Aussage, nicht "neutral" - mit vollem
Gewicht im Nenner zog sie die Bias-Nadel dauerhaft zur Mitte.
Gemessen an 7.074 Verdicts: M30 ist in 57,9 % der Faelle ohne Aussage
(H1 nur 1,8 %). Oe-Bias-Betrag 0,371 -> 0,441, Median-Verstaerkung 1,30x,
in 33,3 % der Zeilen deutlich staerkere Nadel.
Fix: 1.5 if vote != 0 else 0.0 fuer beide. `others` filtert bereits auf
weight>0, die "x/y einig"-Zaehlung zieht damit automatisch mit.
Live verifiziert: M30 "flach" -> Gewicht 0,00, bias -1,5/4,5 = -0,333
statt -1,5/6,0 = -0,250 (genau die gemessene 1,33x-Verstaerkung),
agree 3/5 statt 3/6.
REINE ANZEIGE - die Order-Logik haengt an der Wellen-Headline, nicht am
Bias.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
fe5c2aae0a
commit
23c68e8837
@@ -1365,14 +1365,32 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
|||||||
2 einigen Modulen). Jetzt Referenz = Wellen-Richtung, ersatzweise die **Bias-
|
2 einigen Modulen). Jetzt Referenz = Wellen-Richtung, ersatzweise die **Bias-
|
||||||
Richtung** (real: „2/3"). Beides REINE ANZEIGE — Order-Logik unberührt. Mit 6
|
Richtung** (real: „2/3"). Beides REINE ANZEIGE — Order-Logik unberührt. Mit 6
|
||||||
synthetischen Szenarien verifiziert (alle einig · Rest dagegen · alles neutral ·
|
synthetischen Szenarien verifiziert (alle einig · Rest dagegen · alles neutral ·
|
||||||
WARTEN+alle SHORT · Welle+Squeeze). ⚠ **Offen (dokumentiert, nicht geändert):**
|
WARTEN+alle SHORT · Welle+Squeeze).
|
||||||
(a) **Doppelzählung** — die Welle nutzt M30 als Gegen-Trend-Filter und H1 als
|
⚠ **Bias-Fix DRITTER TEIL 2026-07-31 (Anlass: User-Frage „H1 aus der Gesamt-
|
||||||
Konfluenz-Bonus; beide zählen zusätzlich als eigene Stimmen (je 1,5), dieselbe
|
empfehlung entfernen, da wir jetzt mit M30 arbeiten?"):** Antwort **NEIN** — die
|
||||||
Information also zweimal. (b) **Drei divergierende Level-Quellen** seit der
|
Prämisse vermischt zwei Dinge (auf M30 umgestellt wurde die **S/R-Level-Quelle**,
|
||||||
|
nicht die Zeitebenen-Logik; H1 war nie Basis-TF, `tf_max=M30`). Und die vermutete
|
||||||
|
**Doppelzählung ist gemessen schwach** (`verdict_votes`, n=7.074): bei gerichteter
|
||||||
|
Welle stimmt **M30 nur zu 14,9 %** mit ihr überein, H1 zu 47 %, M30 und H1
|
||||||
|
untereinander nur zu **33,8 %** — keine redundanten Stimmen (Reversals heben den
|
||||||
|
M30-Filter bewusst auf, und M30 ist meist gar nicht gerichtet). H1 fließt zwar auch
|
||||||
|
als Konfluenz-Bonus in die Konfidenz — aber in eine ANDERE Kennzahl (Konfidenz-Ring
|
||||||
|
vs. Bias-Nadel), nicht zweimal in dieselbe.
|
||||||
|
**DER ECHTE DEFEKT lag woanders und ist behoben:** `add("M30", …)`/`add("H1", …)`
|
||||||
|
hatten **Gewicht 1,5 UNBEDINGT** — auch bei Stimme 0. Derselbe Fehler wie beim
|
||||||
|
Wellen-Modul (Teil 2), hier übersehen. Eine 0-Stimme heißt „EMA-Abstand im Totband"
|
||||||
|
= **keine Aussage**, nicht „neutral". Gemessen: **M30 ist in 57,9 % der Fälle ohne
|
||||||
|
Aussage** (H1 nur 1,8 %) → Ø-Bias-Betrag **0,371 → 0,441**, Median-Verstärkung
|
||||||
|
**1,30×**, in **33,3 %** der Zeilen deutlich stärkere Nadel. Jetzt
|
||||||
|
`1.5 if vote != 0 else 0.0`; `others` filtert bereits auf `weight>0`, die
|
||||||
|
„x/y einig"-Zählung zieht mit. Live verifiziert: M30 „flach" → Gewicht 0,00,
|
||||||
|
bias −1,5/4,5 = **−0,333** statt −1,5/6,0 = −0,250. REINE ANZEIGE.
|
||||||
|
⚠ **Offen (dokumentiert, nicht geändert):**
|
||||||
|
(a) **Drei divergierende Level-Quellen** seit der
|
||||||
M30-Umstellung: `_draw_levels` (M30 → Chart/S/R-Close), `pb_levels` (M5 → Entry-
|
M30-Umstellung: `_draw_levels` (M30 → Chart/S/R-Close), `pb_levels` (M5 → Entry-
|
||||||
Raum-Gate), `_sr_levels` (Misch-Set → Wellen-Konfidenz); real wichen die Supports
|
Raum-Gate), `_sr_levels` (Misch-Set → Wellen-Konfidenz); real wichen die Supports
|
||||||
um 0,65 $ ab. Bewusst so (jedes Gate ist auf seine Quelle kalibriert), aber eine
|
um 0,65 $ ab. Bewusst so (jedes Gate ist auf seine Quelle kalibriert), aber eine
|
||||||
Stolperfalle. (c) `tu` wird noch als Parameter durchgereicht, seit 2026-07-06 ungenutzt.
|
Stolperfalle. (b) `tu` wird noch als Parameter durchgereicht, seit 2026-07-06 ungenutzt.
|
||||||
Formel/Details: `docs/gesamtempfehlung.md`.
|
Formel/Details: `docs/gesamtempfehlung.md`.
|
||||||
Headline = **validierte Welle** (steuert Order) + **Zeitebene** (`verdict.tf`,
|
Headline = **validierte Welle** (steuert Order) + **Zeitebene** (`verdict.tf`,
|
||||||
z. B. „▲ LONG · M5" — TF, für die die Empfehlung gilt); Rest = nur Konsens-Anzeige.
|
z. B. „▲ LONG · M5" — TF, für die die Empfehlung gilt); Rest = nur Konsens-Anzeige.
|
||||||
|
|||||||
+16
-3
@@ -2237,11 +2237,24 @@ class TradingEngine:
|
|||||||
add("Welle", wv, 3.0 if wv != 0 else 0.0,
|
add("Welle", wv, 3.0 if wv != 0 else 0.0,
|
||||||
f"{wsig or '—'} · {(wave_signal or {}).get('conf_pct', 0)}%")
|
f"{wsig or '—'} · {(wave_signal or {}).get('conf_pct', 0)}%")
|
||||||
|
|
||||||
# 2/3) M30 / H1 — die EMA-Signale, die die Welle tatsächlich nutzt
|
# 2/3) M30 / H1 — die EMA-Signale, die die Welle tatsächlich nutzt.
|
||||||
|
# ⚠ Gewicht 0 OHNE Aussage (Fix 2026-07-31) — dieselbe Regel wie bei Welle,
|
||||||
|
# Squeeze, Elliott und KI; bei der Verdict-Überarbeitung am 30.07. hier
|
||||||
|
# übersehen. Eine 0-Stimme bedeutet „EMA-Abstand im Totband" = keine Aussage,
|
||||||
|
# nicht „neutral" — mit vollem Gewicht im Nenner zog sie die Bias-Nadel
|
||||||
|
# dauerhaft zur Mitte.
|
||||||
|
# GEMESSEN an 7.074 geloggten Verdicts (`verdict_votes`): **M30 ist in 57,9 %
|
||||||
|
# der Fälle ohne Aussage** (H1 nur in 1,8 %) → Ø-Bias-Betrag 0,371 → **0,441**,
|
||||||
|
# Median-Verstärkung **1,30×**, in **33,3 %** der Zeilen deutlich stärkere Nadel.
|
||||||
|
# ⚠ Anlass war die User-Frage „H1 aus der Gesamtempfehlung entfernen?". Die
|
||||||
|
# Antwort ist NEIN — die vermutete Doppelzählung ist gemessen schwach (bei
|
||||||
|
# gerichteter Welle stimmt M30 nur zu 14,9 % mit ihr überein, H1 zu 47 %; M30
|
||||||
|
# und H1 untereinander nur zu 33,8 %). Der eigentliche Defekt war dieser hier.
|
||||||
|
# REINE ANZEIGE — die Order-Logik hängt an der Wellen-Headline, nicht am Bias.
|
||||||
m30 = int((wave_snap or {}).get("htf_trend", 0) or 0)
|
m30 = int((wave_snap or {}).get("htf_trend", 0) or 0)
|
||||||
h1 = int((wave_snap or {}).get("h1_trend", 0) or 0)
|
h1 = int((wave_snap or {}).get("h1_trend", 0) or 0)
|
||||||
add("M30", m30, 1.5, word(m30))
|
add("M30", m30, 1.5 if m30 != 0 else 0.0, word(m30))
|
||||||
add("H1", h1, 1.5, word(h1))
|
add("H1", h1, 1.5 if h1 != 0 else 0.0, word(h1))
|
||||||
|
|
||||||
# 4) TradersUnion ENTFERNT aus dem Verdict-Konsens (User-Vorgabe 2026-07-06):
|
# 4) TradersUnion ENTFERNT aus dem Verdict-Konsens (User-Vorgabe 2026-07-06):
|
||||||
# lagt + nicht backtestbar + Standard-Indikator-Konfluenz = kein Edge. Bleibt
|
# lagt + nicht backtestbar + Standard-Indikator-Konfluenz = kein Edge. Bleibt
|
||||||
|
|||||||
Reference in New Issue
Block a user