M15-Auto-Entry gebaut (Default AUS) -- gegen die Messung, auf User-Wunsch
User wollte den Auto-Trade testen, nach vollstaendiger Information ueber die
Beleglage. backtest_m15_auto.py (13.08.): die gehandelte Lesart ist in BEIDEN
Halbjahren negativ (OeR -0,162/-0,094, PF 0,72/0,84), beide KI schliessen die
Null aus, Nachbarn monoton schlechter, und sie ist schlechter als die
HTF-Richtung UND als ihr eigenes Gegenteil. Live entkoppelt 46,8 % Treffer.
_check_auto_m15 im _pos_loop: Ausloeser gruen + gerichtet, Richtung exakt wie im
Backtest (auf->LONG, ab->SHORT), Dedup 1x je Episode ueber (Richtung, Level),
nur FLAT, Setup-Tag AUTOM15_*. Erbt die VOLLE Guard-Kette ueber
_auto_guard('m15') -- der Parameter war laut Docstring genau dafuer vorgesehen,
nachgebaut wurde nichts.
Abweichung ausdruecklich benannt: gemessen wurde der Einstieg AM Level mit Fill
bei Beruehrung, gebaut ist der Markt-Einstieg. Der ist hier mehrfach als der
schlechtere gemessen -- die Live-Zahlen sind eher noch unter -0,16/-0,09 zu
erwarten.
Abbruchregel VORAB fixiert: nach >=20 AUTOM15_*-Trades Verhaeltnis < 1,0 ODER
PF < 1 -> auto_m15 = false. Dieselbe Latte wie B5, damit sie nicht nachtraeglich
wandert.
Verifiziert: Toggle, Snapshot-Felder, Deploy mit --feld auto_m15, ruff F821
(neuer Code sitzt in einem except -- der dokumentierte blinde Fleck), 85 Tests.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
cc3a710752
commit
bd65bdaad0
@@ -7615,6 +7615,53 @@ vorab fixiert wurde** — also wird sie NICHT gesenkt, sondern als **durch
|
||||
User-Entscheidung überstimmt** vermerkt. Wer sie ersetzen will, fixiert eine
|
||||
NEUE Latte **vor** der Beobachtung, auf einem NEUEN Zählfenster ab heute.
|
||||
|
||||
## ⚠⚠ M15-AUTO-ENTRY GEBAUT — GEGEN DIE MESSUNG, auf User-Wunsch (2026-08-19, v=181)
|
||||
|
||||
User: „ich möchte das auto trade testen. Baue den Button.“ — nach vollständiger
|
||||
Information über die Beleglage. **Default AUS**, Schalter **M15** in der
|
||||
Aktionsleiste, `[trading] auto_m15 = false`.
|
||||
|
||||
⚠⚠ **DIE MESSUNG SAGT NEIN, und zwar deutlich** (`backtest_m15_auto.py`, 13.08.):
|
||||
| Variante | H1 ØR / PF | H2 ØR / PF |
|
||||
|---|---|---|
|
||||
| **A) die gehandelte Lesart** | **−0,162 / 0,72** | **−0,094 / 0,84** |
|
||||
| C) Kontrolle HTF-Richtung | −0,085 / 0,85 | −0,030 / 0,95 |
|
||||
| D) Kontrolle **Gegenrichtung** | −0,070 / 0,87 | **+0,007 / 1,01** |
|
||||
Beide KI schliessen die Null aus ([−0,222…−0,099] / [−0,152…−0,038]), die
|
||||
Nachbar-Schwellen werden **monoton schlechter**, und A ist schlechter als die
|
||||
HTF-Richtung **und als ihr eigenes Gegenteil**. Live-Gegenprobe (`m15_states`,
|
||||
entkoppelt): **46,8 %** Treffer auf 30 min. Die Karte steht in **46 %** der Zeit
|
||||
grün UND gerichtet — als Auslöser also alles andere als selektiv.
|
||||
|
||||
**Umsetzung** — `engine._check_auto_m15` im `_pos_loop`:
|
||||
• Auslöser `status=gruen` + `lesart` in (auf, ab); Richtung **exakt wie im
|
||||
Backtest**: `auf → LONG`, `ab → SHORT`. • Dedup 1× je Episode über
|
||||
**(Richtung, Level)** — derselbe Schlüssel `(d_les, nah["level"])`.
|
||||
• **Nur FLAT.** • Erbt die **volle** Guard-Kette: `_auto_guard("m15")` (Nacht,
|
||||
Circuit-Breaker, News-Blackout) — der Parameter `pfad` war laut Docstring genau
|
||||
dafür vorgesehen, **nachgebaut wurde nichts**. • Plus Startup-Schonfrist und
|
||||
beide Wiedereinstiegs-Sperren. • Setup-Tag **`AUTOM15_*`**.
|
||||
|
||||
⚠⚠ **ABWEICHUNG VON DER GEMESSENEN VARIANTE, ausdrücklich benannt:** gemessen
|
||||
wurde der Einstieg **AM Level mit Fill bei Berührung**, gebaut ist der
|
||||
**MARKT**-Einstieg. Der Markt-Einstieg ist hier mehrfach als der schlechtere
|
||||
gemessen (Squeeze +0,456 → −0,158 **allein durch den Preis**). Die Live-Zahlen
|
||||
sind also **eher noch unter** −0,16 / −0,09 zu erwarten. Eine ruhende Order
|
||||
hätte den geteilten `_pending_ziel`-Manager gebraucht (Squeeze hat dort
|
||||
Vorrang) — eigener Umbau, bewusst nicht Teil dieses Tests.
|
||||
|
||||
✅ **ABBRUCHREGEL, VORAB FIXIERT** (ohne sie wäre es kein Test, sondern nur ein
|
||||
Schalter): **nach ≥ 20 `AUTOM15_*`-Trades — Verhältnis (ØGewinn/ØVerlust) < 1,0
|
||||
ODER PF < 1 → `auto_m15 = false`.** Dieselbe Latte wie B5 beim Squeeze, damit
|
||||
sie vergleichbar und **nicht nachträglich verschiebbar** ist.
|
||||
⚠ Erwartung aus der Messung: die Regel **wird** greifen. Das ist kein Argument
|
||||
gegen den Test — aber es ist der Grund, warum die Latte **jetzt** steht.
|
||||
|
||||
✅ Verifiziert: Toggle an→aus, Snapshot `auto_m15`/`m15_entry_count`, Deploy mit
|
||||
`--feld auto_m15` (alle 5 Schritte), `ruff F821` sauber (der neue Code sitzt in
|
||||
einem `except` — der dokumentierte blinde Fleck), 85 Tests, `node --check`.
|
||||
**Zurück:** Knopf **M15** bzw. `auto_m15 = false`.
|
||||
|
||||
## ⚠ CIRCUIT BREAKER BLEIBT AUS — User-Entscheidung (2026-08-19, abends)
|
||||
|
||||
Auf den Hinweis, dass BRK **an** und die Notbremse **aus** ist, kam ein
|
||||
|
||||
Reference in New Issue
Block a user