SIG-Pending faellt durch: Look-ahead 0,8 R, schlechter als der Markt-Einstieg
Der offene Test aus dem Fill-Befund ist gelaufen (backtest_signal_touchfill.py, 80k M5, voller Live-Gate-Stack, kanonischer Exit, Echtkosten): Konf A) Markt B) Close-Bruch C) BERUEHRUNG (real) >=55 -0,015/-0,172 +0,381/+0,315 -0,392/-0,338 >=65 -0,024/-0,085 +0,367/+0,385 -0,478/-0,471 >=75 -0,148/-0,310 +0,288/+0,136 -0,184/-0,202 C ist in allen sechs Feldern negativ (PF 0,38-0,71). Der Look-ahead-Aufschlag betraegt 0,77-0,85 R — groesser als beim Momentum (0,45) und Squeeze (0,32). ⚠ C ist sogar schlechter als der Markt-Einstieg. Sichtbar am Trade-Zaehler: C hat MEHR Fills als B (441 gegen 328, 659 gegen 455) — die zusaetzlichen sind die Beruehrungen, die zurueckfallen. Eine Order an einem WANDERNDEN Level faengt systematisch die Fehlausbrueche ein. Damit ist die Vorhersage bestaetigt: entscheidend ist nicht "Level statt Markt", sondern ob das Level STILLSTEHT. Squeeze-Box haelt (+0,124/+0,292), _pend und Momentum wandern und fallen durch. Empfehlung dokumentiert: signal_pending_entry = false. Nicht eigenmaechtig umgestellt — Live-Schalter sind User-Entscheidungen, und auto_signal ist ohnehin aus (der Pfad platziert derzeit keine Orders). Migrations-Pruefung ehrlich vermerkt: der Vorher/Nachher-Vergleich war nicht bitgenau (ein Trade in H2), Ursache sind zwischenzeitlich eingetroffene Live-Bars, nicht der Patch — H1 war identisch. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
2cdd1ba0e8
commit
ec6a2c5842
@@ -465,13 +465,41 @@ dort bereits nachvalidiert, ØR +0,305.) **Eine** Oberfläche:
|
||||
⚠⚠ **KONSEQUENZ: die heute mehrfach zitierten +0,456/+0,611 sind als
|
||||
Live-Erwartung ~0,32 R zu hoch.** Sie bleiben als Vergleich zwischen Market und
|
||||
Level gültig (dafür waren sie gerechnet), taugen aber nicht als Ertragsprognose.
|
||||
⚠⚠ **OFFEN und wichtig: derselbe Test fehlt für den SIG-Pending-Pfad**
|
||||
(`backtest_auto_signal_v3.py`, +0,35/+0,32 — ebenfalls Variante (a), und seit
|
||||
05.08. live). Es gibt Grund, dort ein **schlechteres** Ergebnis zu erwarten als
|
||||
beim Squeeze: die Squeeze-Box **steht still**, das `_pend`-Level dagegen
|
||||
**wandert** bei jeder k×ATR-Gegenbewegung — genau die Eigenschaft, an der das
|
||||
Momentum-Level gescheitert ist (s. u.), und die Ursache des Pending-Churns
|
||||
(Drift-Fall 9). **Vor weiteren Schlüssen aus den SIG-Zahlen: nachmessen.**
|
||||
✅✅ **ERLEDIGT — der SIG-Pending-Pfad FÄLLT DURCH (`backtest_signal_touchfill.py`,
|
||||
2026-08-06, 80k M5, voller Live-Gate-Stack, kanonischer Exit, Echtkosten).**
|
||||
| Konf | A) Markt am Bar-Close | B) Level, Fill bei Close-Bruch | **C) Level, Fill bei BERÜHRUNG** |
|
||||
|---|---|---|---|
|
||||
| ≥55 | −0,015 / −0,172 | +0,381 / +0,315 | **−0,392 / −0,338** ❌ |
|
||||
| ≥65 | −0,024 / −0,085 | +0,367 / +0,385 | **−0,478 / −0,471** ❌ |
|
||||
| ≥75 | −0,148 / −0,310 | +0,288 / +0,136 | **−0,184 / −0,202** ❌ |
|
||||
**C ist in ALLEN SECHS Feldern negativ** (PF 0,38–0,71). Der Look-ahead-Aufschlag
|
||||
beträgt **0,77–0,85 R** — grösser als beim Momentum (0,45) und beim Squeeze (0,32).
|
||||
⚠⚠ **C ist sogar schlechter als der MARKT-Einstieg** (−0,392 gegen −0,015). Der
|
||||
Mechanismus ist im Trade-Zähler sichtbar: C hat **mehr** Fills als B (441 gegen
|
||||
328 · 659 gegen 455) — die zusätzlichen sind genau die Berührungen, die
|
||||
zurückfallen, und die sind die Verlierer. Eine Order an einem **wandernden**
|
||||
Level fängt systematisch die Fehlausbrüche ein.
|
||||
✅ **Damit ist die Vorhersage bestätigt:** entscheidend ist nicht „Level statt
|
||||
Markt", sondern ob das Level **STILLSTEHT**. Squeeze-Box → hält (+0,124/+0,292);
|
||||
`_pend` und Momentum → wandern → fallen durch.
|
||||
⚠ **Die im Bau-Eintrag vom 05.08. zitierten +0,39/+0,36 sind damit als
|
||||
Live-Erwartung ungültig** — sie stehen in Variante B. Der Eintrag bleibt als
|
||||
Historie stehen, gilt aber nur noch für den Vergleich Markt↔Level.
|
||||
✅ **Empfehlung: `signal_pending_entry = false`.** Nicht dringend — `auto_signal`
|
||||
ist ohnehin aus, der Pfad platziert derzeit keine Orders (`_auto_guard` blockt am
|
||||
Toggle). Aber der Schalter ist ein geladenes Gewehr: wer SIG wieder einschaltet,
|
||||
bekommt den gemessen negativen Einstiegsweg. **Nicht eigenmächtig umgestellt** —
|
||||
Live-Schalter sind User-Entscheidungen.
|
||||
⚠ **`squeeze_pending_entry` bleibt begründet** — dort steht die Box still, und
|
||||
der Touchfill-Test ist bestanden.
|
||||
⚠ Zur Migrations-Prüfung: `lauf()` hat einen `fill`-Parameter bekommen
|
||||
(Default `"close"`). Der Vorher/Nachher-Vergleich war **nicht bitgenau** —
|
||||
Abweichung: EIN Trade in H2 (454→455). Ursache ist nicht der Patch (mit
|
||||
`fill="close"` sind die ausgeführten Anweisungen identisch), sondern
|
||||
**zwischenzeitlich eingetroffene Live-Bars**: `copy_rates_from_pos(0, 80000)`
|
||||
ankert am neuesten Bar, das Fenster verschiebt sich zwischen zwei Läufen.
|
||||
H1 war in beiden Läufen identisch.
|
||||
|
||||
- **⚠⚠ MOMENTUM-CONTINUATION MIT LEVEL-ORDER NEU GEMESSEN = BLEIBT VERWORFEN
|
||||
(`backtest_momentum_v2.py`, 2026-08-06, User-Wunsch).** Kein bloßes Wiederholen:
|
||||
der Lauf von 2026-07-17 stieg am **Bar-Close** ein, und genau diese Annahme hat
|
||||
|
||||
Reference in New Issue
Block a user