M15-Auto-Entry: Richtung aus dem Veto + Abbruchregel verankert
(1) Der Auto-Entry nimmt die Richtung jetzt aus bias.verboten (= die ERLAUBTE Richtung), also genau das, was die Karte anzeigt (app.js:504 nimmt erl). Kein Veto -> kein Entry, weil die Karte dort ausdruecklich keine Richtung gibt. Gegenprobe an der Live-Lage: verboten=SHORT, lesart=ab -> alt SHORT (die verbotene!), neu LONG = identisch zur Anzeige. Damit entspricht der Pfad der gemessenen Kontrolle C (-0,085/-0,030), der am wenigsten schlechten Variante -- aber weiterhin negativ. Die Korrektur behebt den Widerspruch, nicht den fehlenden Edge. (2) measurement_reminder.py: neue Messung m15_abbruch (>=20 AUTOM15_*-Trades, Latte Verhaeltnis < 1,0 ODER PF < 1) und Config-Anker auto_m15 (validiert false), dazu der Helfer _zaehle_setup(). Der Zaehler zaehlt nur geschlossene Trades. Damit kann die vorab fixierte Regel nicht mehr unbemerkt verfallen -- genau das war bei B5 wochenlang der Fall. Aktivierung steht aus: Backend-Aenderung, braucht einen Neustart. auto_m15 ist aus, also keine Eile -- der Neustart wartet, bis das Konto flat ist. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
412aab706d
commit
c5190e77fd
@@ -48,6 +48,19 @@ def _days_since(iso: str) -> float:
|
||||
# ── Die offenen Messungen ────────────────────────────────────────────────────
|
||||
# have = aktueller Stand · need = Schwelle · unit = Anzeigeeinheit
|
||||
# cmd = was zu tun ist, wenn fällig
|
||||
def _zaehle_setup(muster: str) -> int:
|
||||
"""Geschlossene Trades mit `setup LIKE muster` (fuer die Abbruchregeln)."""
|
||||
try:
|
||||
import sqlite3
|
||||
with sqlite3.connect(DB) as c:
|
||||
return c.execute(
|
||||
"SELECT COUNT(*) FROM trades WHERE setup LIKE ?"
|
||||
" AND exit_time IS NOT NULL AND pnl IS NOT NULL", (muster,)
|
||||
).fetchone()[0]
|
||||
except Exception:
|
||||
return 0
|
||||
|
||||
|
||||
CHECKS = [
|
||||
{
|
||||
# ⚠⚠ WIEDERVORLAGE aus dem Backtest vom 2026-08-12
|
||||
@@ -213,6 +226,25 @@ CHECKS = [
|
||||
"Ziel ist ein HINWEIS im Order-Dialog ('deine Trades in dieser "
|
||||
"Konstellation: X % WR, n=Y'), ausdrücklich KEIN Auto-Entry.",
|
||||
},
|
||||
{
|
||||
# Diese Regel MUSS hier stehen: sie wurde am 19.08. vorab fixiert, und
|
||||
# genau so eine Regel blieb bei B5 wochenlang unbemerkt, weil der Zaehler
|
||||
# nirgends lief. Ohne Ueberwachung ist eine Abbruchregel keine Regel.
|
||||
"key": "m15_abbruch",
|
||||
"title": "M15-Auto-Entry: Abbruchpruefung (Latte vorab fixiert)",
|
||||
"why": "Am 19.08. auf User-Wunsch GEGEN die Messung gebaut. "
|
||||
"backtest_m15_auto.py: die Karte ist in BEIDEN Halbjahren negativ "
|
||||
"(Lesart -0,162/-0,094; die jetzt gehandelte ERLAUBTE Richtung "
|
||||
"entspricht Kontrolle C mit -0,085/-0,030). Zusaetzlich ist der "
|
||||
"gebaute MARKT-Einstieg schlechter als der gemessene "
|
||||
"Level-Einstieg. Erwartung: die Latte greift.",
|
||||
"have": lambda: _zaehle_setup("AUTOM15%"),
|
||||
"need": 20, "unit": "AUTOM15_*-Trades",
|
||||
"cmd": "LATTE (vorab fixiert, NICHT verschiebbar): Verhaeltnis "
|
||||
"(OeGewinn/OeVerlust) < 1,0 ODER PF < 1 -> auto_m15 = false "
|
||||
"(Knopf M15). Dieselbe Latte wie squeeze_b5. Rechnung analog, "
|
||||
"nur setup LIKE 'AUTOM15%'.",
|
||||
},
|
||||
{
|
||||
# ⚠ VORAB festgelegte Abbruchregel (User-Zustimmung 2026-08-01) — bewusst VOR
|
||||
# der Beobachtung fixiert, damit die Latte hinterher nicht verschoben wird.
|
||||
@@ -436,6 +468,13 @@ CONFIG_DEPS = [
|
||||
"gelesen — Reaktivieren ginge nur über die Git-Historie bzw. "
|
||||
".removed_backup/auto_signal_2026-08-12.py.",
|
||||
},
|
||||
{
|
||||
"key": "auto_m15", "test": "backtest_m15_auto.py", "soll": "false",
|
||||
"why": "Gemessen negativ (Lesart -0,162/-0,094; die gehandelte erlaubte "
|
||||
"Richtung entspricht Kontrolle C, -0,085/-0,030 -- ebenfalls "
|
||||
"negativ). Steht er auf 'true', laeuft ein gemessen negativer "
|
||||
"Auto-Entry auf echtem Geld. Das soll sichtbar bleiben.",
|
||||
},
|
||||
{
|
||||
"key": "auto_squeeze", "test": "backtest_breakout_squeeze.py",
|
||||
# ⚠⚠ ERWARTUNG GEDREHT 2026-08-17: stand auf "true" und meldete deshalb
|
||||
|
||||
Reference in New Issue
Block a user