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
+20
-2
@@ -1241,11 +1241,28 @@ class TradingEngine:
|
||||
if les not in ("auf", "ab"):
|
||||
self._m15_last_entry_sig = None
|
||||
return
|
||||
# ⚠⚠ RICHTUNG AUS DEM VETO, NICHT AUS DER LESART (Korrektur 19.08.).
|
||||
# Der erste Bau nahm `lesart` (= Backtest-Variante A) und eroeffnete
|
||||
# am 18:03 SHORT, waehrend die Karte LONG anzeigte -- also die
|
||||
# VERBOTENE Richtung. Die Anzeige (`app.js:504`) nimmt `erl`, die vom
|
||||
# Veto ERLAUBTE Richtung; das ist die einzige beidhaelftig robuste
|
||||
# Aussage der Karte (gegen das Signal -6,60 EUR/Lot ueber 1.216
|
||||
# Trades). Ein Auto-Entry auf eine ANGEZEIGTE Empfehlung muss lesen,
|
||||
# was angezeigt wird -- sonst sind es zwei Quellen fuer eine Aussage.
|
||||
# ⚠ Damit entspricht der Pfad jetzt am ehesten der gemessenen
|
||||
# KONTROLLE C (HTF-Richtung, OeR -0,085/-0,030) -- der am wenigsten
|
||||
# schlechten der vier Varianten, aber weiterhin NEGATIV.
|
||||
verb = ((s.get("bias") or {}).get("verboten") or "").upper()
|
||||
if verb not in ("LONG", "SHORT"):
|
||||
# Kein Veto -> die Karte gibt ausdruecklich KEINE Richtung
|
||||
# ("kein Trend-Veto", app.js:495). Dann auch kein Entry.
|
||||
self._m15_last_entry_sig = None
|
||||
return
|
||||
nah = s.get("nah") or {}
|
||||
lvl = nah.get("level")
|
||||
if lvl is None:
|
||||
return
|
||||
d = 1 if les == "auf" else -1 # wie im Backtest
|
||||
d = -1 if verb == "LONG" else 1 # = die ERLAUBTE Richtung
|
||||
sig = (d, round(float(lvl), 3))
|
||||
if sig == self._m15_last_entry_sig:
|
||||
return # dieselbe Episode
|
||||
@@ -1278,7 +1295,8 @@ class TradingEngine:
|
||||
return
|
||||
self._m15_entry_count += 1
|
||||
log.info(f"AUTO-M15-ENTRY: {want.upper()} auf gruene Karte "
|
||||
f"(Lesart {les}, Level {lvl}) — selbstaendig eroeffnet")
|
||||
f"(erlaubt, verboten={verb}, Lesart {les}, Level {lvl}) "
|
||||
f"— selbstaendig eroeffnet")
|
||||
except Exception as e:
|
||||
log.warning(f"_check_auto_m15: {e}")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user