Files
AH-Oil-Trader/docs/gesamtempfehlung.md
T
Axel HocksandClaude Opus 4.8 75d28827e8 Initial commit: Oil Trading Bot (MT5, WTI)
Headless FastAPI-Backend (server.py + core/engine.py) mit Mobile-PWA (web/),
Strategie-/Backtest-Suite und Doku. Secrets, DB, Logs und Laufzeit-State sind
via .gitignore ausgeschlossen; Config-Vorlage: oil_widget_config.ini.example.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-24 08:29:23 +02:00

2.9 KiB
Raw Blame History

Gesamtempfehlung (Verdict-Panel)

Grafischer Empfehlungsbereich ganz oben im Mobile-Dashboard (web/), der die Module zu einer Aussage zusammenfasst.

Wer berechnet was

  • Backend (core/engine.py_verdict) baut die Aggregation und legt sie als verdict in den Snapshot (/api/snapshot, /ws). Eine Quelle der Wahrheit — das Frontend rendert nur.
  • Frontend (web/app.jsrenderVerdict) zeichnet Ring, Bias-Balken und Modul-Chips. Markup in web/index.html (#card-verdict), Stil in web/style.css (.vd-*).

Logik

Headline = die validierte Welle (wave_signal) — das einzige Modul mit per Backtest belegtem Edge. Sie bestimmt LONG/SHORT/WARTEN und die Order-Freigabe. Die übrigen Module bilden nur einen gewichteten Konsens (Anzeige, kein Eingriff in die Order-Logik).

Votes je Modul: +1 LONG · 1 SHORT · 0 neutral. Gewichte:

Modul Gewicht Quelle
Welle 3,0 wave_signal.signal (validierter Edge)
M30 1,5 wave.htf_trend (EMA12/50 der M30 — exakt das Signal, das die Welle nutzt)
H1 1,5 wave.h1_trend (EMA12/50 der H1)
KI-Copilot 1,0 (nur mit Bias) agent.advisory.bias — ohne advisory/Bias Gewicht 0
Elliott/FVG 1,0 (nur mit Ziel) Richtung zum elliott.target — ohne Ziel Gewicht 0
Squeeze 2,0 (nur active) wave.squeeze — armed/keine Kompression Gewicht 0

(TradersUnion wurde 2026-07-06 aus dem Konsens entfernt — nur noch Anzeige.)

bias = Σ(gewicht · vote) / Σ(gewicht)   →   1 … +1

Stimmberechtigt sind nur Module mit Aussage (Fix 2026-07-15): Module ohne anwendbares Signal (Squeeze ohne Ausbruch, Elliott ohne Ziel, KI aus) bekommen Gewicht 0 und stehen NICHT im Nenner — vorher dämpfte z. B. das fast immer neutrale Squeeze-Gewicht (2,0) die Nadel dauerhaft um ~×0,8 Richtung Mitte. „Flach" bei Welle/M30/H1 bleibt dagegen eine ECHTE Neutral-Stimme (mit Gewicht).

bias steuert die Nadel im Balken (1 = ganz SHORT/links, +1 = ganz LONG/rechts: left% = (bias+1)/2·100). agree/total = wie viele der anderen stimmberechtigten Module (ohne die Welle selbst — die zählte sich bis 2026-07-15 mit) die Headline-Richtung teilen. Der Konfidenz-Ring zeigt wave.conf_pct als conic-gradient in Richtungsfarbe.

⚠ Wichtig: Für M30/H1 werden die EMA12/50-Signale der Welle genutzt (htf_trend/h1_trend), NICHT das Regressions-Winkelmaß market.angles — die beiden können sich widersprechen, das Panel muss zur Empfehlung passen.

Snapshot-Feld verdict

{
  "headline": "SHORT", "conf": 90, "bias": -1.0, "agree": 3, "total": 3,
  "votes": [{"name": "Welle", "vote": -1, "weight": 3.0, "detail": "SHORT · 90%"}, ]
}

Pflege

Neues Modul ins Panel → Vote/Gewicht in _verdict ergänzen; das Frontend rendert votes generisch. Bei JS/CSS-Änderung Asset-Version v=N in index.html hochzählen. Siehe CLAUDE.md.