Gate 4 der M15-Karte: Ziel nur noch in der ERLAUBTEN Richtung
User-Fund: Karte zeigte "verboten SHORT" (= LONG erlaubt) UND ein Ziel 0,15 $ UNTER dem Kurs. Die Arithmetik war korrekt - aber fuer die verbotene Richtung. Ursache: das Ziel war schlicht das entferntere der beiden Level (max nach gap), ohne Richtungspruefung. Strukturell steckte dahinter ein Fade-Trade (Gegenlevel als Ziel = Mean Reversion) in einer Kette, deren Gate 2 ein Trendfilter ist - zwei unvereinbare Konzepte. Damit derselbe Fehler, wegen dem die Gesamtempfehlung entfernt wurde: aus einem VERBOT wird ueber die Hintertuer wieder eine RICHTUNG. Fix nach der gemessenen Population (backtest_m15_gates.py): Einstieg am naechstgelegenen Level, Richtung = die vom HTF erlaubte. Ein Ziel nur, wenn es jenseits dieses Einstiegs in der erlaubten Richtung liegt; sonst "kein Ziel" mit Grund statt einer erfundenen Zahl. Richtung steht jetzt im Anzeigetext. - tests/test_m15_ziel.py (6 Tests, Invariante ueber 32 Konstellationen) - Mutationsprobe: alte Zeile zurueck -> 4 von 6 Tests fallen - deploy.py --feld unterstuetzt jetzt Punktpfade (m15_setup.ziel_grund) - v=159 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
b8705e297f
commit
5474c2be61
+17
-1
@@ -168,8 +168,24 @@ def main() -> int:
|
||||
schritt(3, f"Port {p}: ⚠ {len(ids)} Instanzen {ids}")
|
||||
|
||||
# ── 4) beweist ein neues Feld, dass der PYTHON-Code neu ist? ─────────
|
||||
# ⚠ PUNKTPFADE seit 2026-08-10 (`m15_setup.ziel_grund`). Vorher ging nur die
|
||||
# oberste Ebene (`a.feld in snap`) — die meisten neuen Felder liegen aber
|
||||
# verschachtelt, und fuer die war der Neuheits-Beweis damit gar nicht
|
||||
# fuehrbar. Genau das ist Schritt 4 aber: der EINZIGE belastbare Nachweis,
|
||||
# dass wirklich neuer Python-Code laeuft (statische Dateien beweisen
|
||||
# nichts — `restart_server.bat` hat zweimal still nicht neu gestartet).
|
||||
# ⚠ Ein Feld mit Wert `None` zaehlt als VORHANDEN — geprueft wird die
|
||||
# Existenz des Schluessels, nicht sein Inhalt. Ein neues Feld ist beim
|
||||
# ersten Snapshot oft noch leer.
|
||||
if a.feld:
|
||||
if a.feld in snap:
|
||||
knoten, pfad_ok = snap, True
|
||||
for teil in a.feld.split("."):
|
||||
if isinstance(knoten, dict) and teil in knoten:
|
||||
knoten = knoten[teil]
|
||||
else:
|
||||
pfad_ok = False
|
||||
break
|
||||
if pfad_ok:
|
||||
schritt(4, f"Feld `{a.feld}` vorhanden → Python-Code ist neu ✅")
|
||||
else:
|
||||
fehler.append(f"Feld `{a.feld}` fehlt im Snapshot")
|
||||
|
||||
Reference in New Issue
Block a user