D+A: Klimax-Fade verworfen, Kerzen-Anatomie-Kachel gebaut (reine Anzeige, v=123)
D - backtest_candle_fade.py: der Lead aus backtest_candles.py (Fade der
volumenstarken Klimax-Kerze) faellt im echten Trade-Sim durch. Live-Exit
(SL 2,0/Trail 1,5/BE 1,3/Time-Stop 120') + Echtkosten, mit KONTROLLGRUPPE
"Fade ohne Volumen-Filter" (die Lehre aus backtest_patterns.py).
Kontrolle -0,080 / -0,046
Vol >= 2,0 -0,059 / +0,103
Vol >= 2,5 +0,144 / -0,080
Vol >= 3,0 +0,113 / -0,064
Benachbarte Schwellen exakt gegenlaeufig = Rauschmuster. Die einzige
beidseitig positive Zelle (Vol>=2,0 + Marubozu, +0,036/+0,043) hat n=91/118
bei 7 Varianten = Mehrfachvergleich-Artefakt. 18. verworfener Eingriff.
Wichtigste Lehre: Informations-Ueberschuss != handelbarer Edge. Dieselbe
2,0-Schwelle liefert im Forward-Fenster +0,12/+0,20 beim Fade, im echten
Trade -0,059/+0,103 - die Gegenbewegung ist diffus, der 2xATR-Stop wird
unterwegs getroffen (WR nur 35-40 %). Der Weg zum Ziel zaehlt.
A - core/candles.py + Kachel #card-candles (M5, ~20 s, unter mt5_lock):
Marubozu, Langer Koerper, Langer Docht oben/unten, Spinning Top, Doji,
Engulfing. Schwellen identisch zum Backtest.
Bewusste UI-Entscheidung: die Kachel ist NEUTRAL gefaerbt (keine gruen/rot-
Ampel) und nennt die GEMESSENE Lesart ("Klimax-Kerze - der Kurs laeuft
danach eher GEGEN die Kerze"), nicht die Lehrbuch-Lesart. Eine
Richtungsampel wuerde hier systematisch falsch stupsen - gleiche Korrektur
wie bei der Bounce-Anzeige. Kein Verdict-Gewicht, kein Trigger.
Beim Bau gefunden: mt5_lock ist ein CONTEXT-MANAGER, kein Lock-Objekt -
.acquire()/.release() wirft. Jetzt "with mt5_lock(3.0) as got".
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
7873bf2fb7
commit
03be3b8f5f
@@ -42,6 +42,7 @@ from core.daily_levels import DailyLevels
|
||||
from core.gaps import GapAnalyzer
|
||||
from core.structure import MarketStructure
|
||||
from core.patterns import PatternDetector
|
||||
from core.candles import CandleAnatomy
|
||||
from core.candle_logger import CandleLogger
|
||||
from core.wave_rec import (_atr as _wr_atr, _ema_last,
|
||||
_EMA_FAST, _EMA_SLOW, _TREND_DEADBAND, _STRETCH_MAX)
|
||||
@@ -165,6 +166,10 @@ class TradingEngine:
|
||||
self.elliott = ElliottAnalyzer(mt5.TIMEFRAME_M5)
|
||||
self.structure = MarketStructure() # Marktstruktur (M30) — reine Anzeige
|
||||
self.patterns = PatternDetector() # visuelle Chartmuster (M30) — reine Anzeige
|
||||
# Kerzen-Anatomie (M5) — REINE ANZEIGE. Die Lehrbuch-Deutung ist gemessen
|
||||
# invertiert (`backtest_candles.py`), das Handelssignal fiel durch
|
||||
# (`backtest_candle_fade.py`) → kein Verdict-Gewicht, kein Trigger.
|
||||
self.candle_anat = CandleAnatomy("M5")
|
||||
# Echte Liquiditäts-Wände vom HL-Orderbuch (Anzeige im MT5-Chart, kein Signal).
|
||||
# Braucht das HL-Dashboard auf 8001; ist es aus, bleibt der Chart unverändert.
|
||||
from core.hl_walls import HLWalls
|
||||
@@ -539,6 +544,8 @@ class TradingEngine:
|
||||
except Exception as se2: log.warning(f"structure.refresh_market: {se2}")
|
||||
try: self.patterns.refresh_market(self.data.symbol)
|
||||
except Exception as pe2: log.warning(f"patterns.refresh_market: {pe2}")
|
||||
try: self.candle_anat.refresh_market(self.data.symbol)
|
||||
except Exception as ka: log.warning(f"candles.refresh_market: {ka}")
|
||||
try: self.candles.log(self.data.symbol) # M1-Candle-Log (~55 s)
|
||||
except Exception as ce: log.warning(f"candles.log: {ce}")
|
||||
try: self._evaluate_pbreak_predictions() # ~alle 5 min, self-throttled
|
||||
@@ -2704,6 +2711,9 @@ class TradingEngine:
|
||||
"gaps": self.gaps.snapshot(),
|
||||
"structure": self.structure.snapshot(),
|
||||
"patterns": _pat_snap,
|
||||
# Kerzen-Anatomie (M5) — reine Anzeige, KEIN Verdict-Gewicht (gemessen:
|
||||
# Lehrbuch-Deutung invertiert, Handelssignal durchgefallen).
|
||||
"candle_anat": self.candle_anat.snapshot(),
|
||||
"stats_compact": {"week": self._compact_stats("week"),
|
||||
"all": self._compact_stats("all")},
|
||||
"close_alert_count": self._close_alert_count,
|
||||
|
||||
Reference in New Issue
Block a user