MQL5 v1.29: Konsolidierungs-Box als Anzeige (CO;lo;hi;tight)
User: "schauen wir uns das mal an" (nach dem verworfenen Konsolidierungs-Backtest). Der Bot exportiert die Spanne der letzten 10 M5-Bars -- exakt die Box, aus der der validierte Squeeze-Ausbruch kommt (wave._squeeze_one liefert jetzt box_hi/box_lo in allen Rueckgaben). Der Indikator zeichnet sie als transparentes blaues Rechteck; ist sie KOMPRIMIERT (<=2.5xATR, also armed/active), wird sie mit doppelter Deckkraft gezeichnet -> "Ausbruch steht bevor" ist auf einen Blick sichtbar. Schalter: InpShowConsol / InpConsolColor / InpConsolAlpha / InpConsolBars. ⚠ REINE ANZEIGE. Alle Konsolidierungs-SETUPS sind gemessen verworfen (backtest_consolidation.py: False Breakout, Distribution, Accumulation, Retest -- inkl. Kontrolltest, der die Distribution-Hypothese kippte). Die Box zeigt WO gestaut wird, nicht WOHIN es geht. Validiert ist ausschliesslich der Ausbruch. Verifiziert: CO;84.105;84.815;0 (0.710$ = 2.68xATR = knapp ueber der Schwelle, daher korrekt als "nicht komprimiert" markiert). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
0d2d8679a7
commit
11e13cdb5a
@@ -2024,6 +2024,21 @@ class TradingEngine:
|
||||
lines.append(f"EQ;{tag};{z['lo']};{z['hi']};{int(z['t'])}")
|
||||
except Exception:
|
||||
pass
|
||||
# KONSOLIDIERUNGS-BOX (M5, dieselbe wie der validierte Squeeze):
|
||||
# CO;lo;hi;<0|1> — letztes Feld 1 = komprimiert (≤2,5×ATR, Ausbruch steht
|
||||
# bevor), 0 = nur die aktuelle 10-Bar-Spanne. ⚠ REINE ANZEIGE: die
|
||||
# Konsolidierungs-SETUPS (False Breakout, Distribution, Accumulation,
|
||||
# Retest) sind gemessen ALLE verworfen (`backtest_consolidation.py`);
|
||||
# validiert ist nur der Squeeze-AUSBRUCH. Die Box zeigt also, WO gerade
|
||||
# gestaut wird — nicht, wohin es geht.
|
||||
try:
|
||||
_sq = (self.wave.snapshot() or {}).get("squeeze") or {}
|
||||
_lo, _hi = _sq.get("box_lo"), _sq.get("box_hi")
|
||||
if _lo and _hi and _hi > _lo:
|
||||
_tight = 1 if _sq.get("state") in ("armed", "active") else 0
|
||||
lines.append(f"CO;{_lo};{_hi};{_tight}")
|
||||
except Exception:
|
||||
pass
|
||||
# Aktueller Kurs für die fette Anzeige oben rechts (User-Wunsch): PX;bid
|
||||
try:
|
||||
_bid = (self.data.snapshot() or {}).get("bid")
|
||||
|
||||
Reference in New Issue
Block a user