Erfolgskontrolle fuer den Stop-Order-Umbau: Skript + Reminder
analyze_squeeze_entry_gap.py fuehrt die zwei noetigen Quellen zusammen - das Ausbruchs-Level steht NUR im Log, der tatsaechliche Fill NUR in trades - und splittet am Umbau-Stichtag. Die Erfolgsmeldung ist paradox: eine per Pending gefuellte Order erzeugt KEINE AUTO-SQUEEZE-ENTRY-Logzeile (die entsteht nur im Market-Fallback), Squeeze-Trades ohne Log-Treffer sind also der Erfolg. Das Skript weist sie deshalb getrennt aus. Als Messung squeeze_entry_gap im measurement_reminder.py hinterlegt (>=12 Squeeze-Trades ab dem Umbau). Stichtag exakt 05.08. 08:55 statt Mitternacht - der 08:33-Trade lief noch ueber die Market-Order und haette die Zaehlung verfaelscht (0/12 statt faelschlich 1/12). Zahlen-Korrektur: die zuerst dokumentierten +0,306 / +0,741 xATR stammten aus einer Scratchpad-Auswertung mit FESTEM Stundenversatz. DST-korrekt ueber zoneinfo sind es +0,275 / +0,686 (n=34 unveraendert). In CLAUDE.md, engine.py, trader.py und der ini nachgezogen; die Schlussfolgerung aendert sich nicht. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
5e0e8b00ca
commit
5f70980e59
@@ -145,6 +145,30 @@ CHECKS = [
|
||||
"→ `auto_squeeze=false` (B5-Rückbau, kein Ego). Sonst weiterlaufen "
|
||||
"lassen. Zahlen: /api/squeeze_monitor bzw. Statistik-Tab.",
|
||||
},
|
||||
{
|
||||
"key": "squeeze_entry_gap",
|
||||
"title": "Stop-Order-Umbau: kommt der Einstieg jetzt AM Level an?",
|
||||
"why": "Am 05.08. wurde der Auto-Squeeze von der Market-Order auf ruhende "
|
||||
"Stop-Orders am Ausbruchs-Level umgestellt. Grund: der Squeeze hat "
|
||||
"seinen GESAMTEN Edge im Einstiegspreis — am Level ØR +0,456/+0,611, "
|
||||
"hinterhergelaufen −0,158/−0,006 (`backtest_squeeze_entry.py`). Live "
|
||||
"lag der Abstand vorher im Median +0,275×ATR (Mittel +0,686, Max "
|
||||
"+4,339). Greift die Pending-Order nicht wie gedacht, ist der ganze "
|
||||
"Umbau wirkungslos — und das fiele sonst NICHT auf, weil der Bot "
|
||||
"weiterhin Trades macht.",
|
||||
# ⚠ Stichtag exakt auf den Umbau (05.08. 08:55 Berlin = 06:55 UTC), NICHT auf
|
||||
# Mitternacht: der Squeeze-Trade von 08:33 lief noch über die Market-Order und
|
||||
# würde die Zählung verfälschen. `strftime('%s', …)` liest UTC, `entry_time`
|
||||
# ist lokale Epoch — deshalb 07:00 UTC als sicherer Schnitt.
|
||||
"have": lambda: _q("SELECT COUNT(*) FROM trades WHERE setup LIKE 'SQUEEZE%' "
|
||||
"AND entry_time >= strftime('%s','2026-08-05 07:00:00')"),
|
||||
"need": 12, "unit": "Squeeze-Trades seit dem Umbau (05.08. 08:55)",
|
||||
"cmd": "python analyze_squeeze_entry_gap.py 60 → Der Median-Abstand muss "
|
||||
"gegen 0 gehen und die Market-Log-Zeilen ('AUTO-SQUEEZE-ENTRY') "
|
||||
"sollten weitgehend verschwinden. Bleibt der Abstand bei ~0,3×ATR, "
|
||||
"füllt die Pending-Order nicht — dann Broker-Mindestabstand und die "
|
||||
"Log-Zeile 'Squeeze-Pending nicht platzierbar' prüfen.",
|
||||
},
|
||||
{
|
||||
"key": "night_window_0127",
|
||||
"title": "Nacht-Fenster 3–6: tragen die freigegebenen Stunden 0/1/2/7?",
|
||||
|
||||
Reference in New Issue
Block a user