Kanal-Pullback ueber alle Zeitebenen gemessen — 24/24 negativ

Anlass: User-Beobachtung im M5-Chart "der Kurs folgt dem Marktstrukturkanal und
bricht die untere Linie nicht — koennen wir das nutzen?". Die vorhandene Messung
(backtest_structure.py, 20.07.) lief NUR auf M30; M5 war ungetestet.

Neues Skript backtest_structure_tf.py — bewusst mit dem KANONISCHEN Live-Exit
(exit_model.LIVE: Trail 1,0 + Time-Stop + TP) statt der Exit-Kopie der alten
Datei (Trail 1,5, kein Time-Stop). Die alte Datei bleibt unveraendert, weil die
Migrations-Regel eine Umstellung nur bei identischen Zahlen erlaubt.

Getestet: M5/M15/M30 x zwei Lesarten des M5-Kanals (60 Bars = 5 h "was man im
Chart sieht" und 360 Bars = 30 h zeitgleich zu M30) x drei Regel-Varianten,
80k Bars je Zeitebene, 2 Haelften, Echtkosten.

Ergebnis: 24 Zellen, ALLE negativ, PF 0,66-0,99.
- Trefferquote 37-43 % ueber 1200-2400 Beruehrungen je Haelfte: der Kanalrand
  haelt in WENIGER als der Haelfte der Faelle. Die im Chart sichtbaren "Halter"
  sind Selektion.
- M5 ist die SCHLECHTESTE Zeitebene (-0,201 vs -0,103 auf M30).
- Keine Parameterfrage: 60-Bar- und 360-Bar-Kanal liefern identische Zahlen.

Legacy-Recheck-Bonus: die M30-Zeile reproduziert den Befund vom 20.07.
(-0,103/-0,019 gegen damals -0,05...-0,11) — der alte Schluss war NICHT durch
das abweichende Exit-Modell verzerrt.

Mechanismus: hinter einer Regressionslinie liegt nichts — keine Order, kein
Pivot. Darin liegt der Unterschied zu P(break) auf einem echten S/R-Level.
19. verworfener Signal-Eingriff.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-03 16:37:52 +02:00
co-authored by Claude Opus 5
parent 00c78201fa
commit 5f94917014
2 changed files with 192 additions and 0 deletions
+30
View File
@@ -1747,6 +1747,36 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
Continuation = breakeven-negativ (0,011/0,005, Momentum-Klasse). Damit ist auch
die Struktur-Idee empirisch durch — die Kachel bleibt Ist-Zustand-Anzeige (wie
TF-Ampel/Squeeze), steuert nichts.
- **NACHTEST über ALLE Zeitebenen = ERNEUT VERWORFEN (`backtest_structure_tf.py`,
2026-08-03, User-Beobachtung im M5-Chart: „der Kurs folgt dem Kanal und bricht die
untere Linie nicht — können wir das nutzen?"):** Die alte Messung lief NUR auf M30,
M5 war streng genommen ungetestet. Jetzt mit dem **kanonischen Live-Exit**
(`exit_model.LIVE`: Trail 1,0 + Time-Stop + TP — die alte Datei nutzt eine Exit-KOPIE
mit Trail 1,5 OHNE Time-Stop) über M5/M15/M30, zwei Lesarten des M5-Kanals und drei
Regel-Varianten, 80k Bars je Zeitebene, 2 Hälften, Echtkosten:
| Zeitebene / Kanal | X=0,20 | X=0,30 | +Swing |
|---|---|---|---|
| **M5, 60 Bars** (=5 h, „was man im Chart sieht") | **0,201/0,017** | 0,170/0,054 | 0,161/0,082 |
| M5, 360 Bars (=30 h, zeitgleich zu M30) | 0,206/0,017 | 0,179/0,054 | 0,159/0,082 |
| M15, 120 Bars | 0,032/0,003 | 0,068/0,034 | 0,043/0,033 |
| M30, 60 Bars (die ALTE Messung) | 0,103/0,019 | 0,094/0,013 | 0,090/0,024 |
**24 Zellen, ALLE negativ**, PF 0,660,99. Drei Befunde:
(a) **Trefferquote 3743 %** über 1.2002.400 Berührungen je Hälfte — der Kanalrand
hält in WENIGER als der Hälfte der Fälle. Die im Chart sichtbaren „Halter" sind
Selektion: die Durchbrüche sehen hinterher nicht mehr nach Kanal aus.
(b) **M5 ist die SCHLECHTESTE Zeitebene** (0,201 vs. 0,103 auf M30) — feiner
auflösen erzeugt mehr Berührungen, und jede kostet Spread.
(c) **Keine Parameterfrage:** 60-Bar- und 360-Bar-Kanal liefern praktisch IDENTISCHE
Zahlen. Zwei so verschiedene Fenster mit gleichem Ergebnis → es liegt am Mechanismus.
**Legacy-Recheck-Bonus:** die M30-Zeile **reproduziert** den Befund vom 20.07.
(0,103/0,019 gegen damals 0,05…−0,11) — der alte Schluss war NICHT durch das
abweichende Exit-Modell verzerrt.
**Mechanismus:** Der Kanalrand ist eine Regressionslinie durch die letzten N Closes —
dahinter liegt **nichts**: keine Order, kein Pivot, keine Struktur. Er hält nur,
solange der Trend ohnehin läuft. Genau darin liegt der Unterschied zu **P(break) auf
einem echten S/R-Level** (Pivot = Stelle, an der real gehandelt wurde), das
out-of-sample kalibriert ist (AUC 0,65 bzw. 0,680,72). „Linie im Chart" ist nicht
„Struktur im Markt". **19. verworfener Signal-Eingriff.**
- **⚠⚠ P(break) LIVE-AUSWERTUNG (`analyze_pbreak_live.py`, 2026-07-31, 2275 ausgewertete
Vorhersagen seit 23.07.): DAS MODELL HÄLT LIVE NICHT, WAS DER BACKTEST VERSPRACH —
B5-Fall.** Fällige Messung aus dem Reminder, jetzt erledigt.