KI-Copilot: zwei Prompt-Fehler behoben + kalibrierte Groessen ergaenzt
Diagnose zur Frage "Bias fast immer neutral": es ist NICHT der Prompt, es ist
der Provider. Bruch exakt am 20.07. (DeepSeek-Wechsel) - bis 19.07. war der
Copilot zu 42-90 % gerichtet, ab 21.07. nur noch zu 1,5-9,3 %. Der Prompt war
unveraendert. Und er hedged aus KORREKTER Schlussfolgerung: ~90 % WARTEN-Signal,
negativer Track-Record, plus die Prompt-Anweisung, genau dann NEUTRAL zu sagen.
Gemessen, ob mehr Meinung ueberhaupt Wert haette: KI-LONG n=286 +0,29 $ / 76 %
Treffer, KI-SHORT n=93 -0,02 $ / 55 %. ABER die 286 sind 20 Episoden an 5 Tagen
(Minutentakt-Logger), die 93 sind 16 Episoden -> effektiv n~20 gegen n~16, ein
Regime. Kein Beleg. Deshalb BEWUSST nicht am Prompt gedreht, um Meinung zu
erzwingen; Verdict-Gewicht unveraendert.
Zwei echte Prompt-Fehler behoben (Korrektheit, keine Meinungsmache):
- _SYS beschrieb das Wellen-Signal als "ATR-ZigZag" - es ist EMA12 vs EMA50
- _SYS nannte "TradersUnion-Tachos" als Input - TU ist seit 19.07. raus
Kalibrierte Groessen ergaenzt: _tool_market gab dem Copiloten NUR Wellen-Signal
und Session. Neu: p_break_target / p_break_stop (AUC 0,65 bzw. 0,68-0,72) und
cone (80%-Baender mit der REAL gemessenen Abdeckung 77 %), plus Lese-Anleitung
im Prompt (45-55 % explizit als Muenzwurf markiert).
Zwei Fallen an Live-Daten korrigiert: p_break steht bereits in PROZENT (die
zuerst gebaute x100-Umrechnung haette 300 erzeugt), und die Engine-Felder plus
die engine-Referenz im Agent existierten gar nicht - der Fail-safe haette still
nichts geliefert. Snapshot weist die Werte jetzt nur zu, rechnet sie nicht neu.
DeepSeek max_tokens 4000 -> 8000: das JSON brach regelmaessig mitten im Text ab
("Unterminated string"), real 2x in ~14 Zyklen = ~14 % stille Ausfaelle.
Kerzen/Muster bewusst NICHT eingespeist - die Lehrbuch-Lesart ist hier gemessen
invertiert (langer Koerper im Trend -0,132/-0,042; 2x Volumen -0,117/-0,204;
Muster-Kursziel trifft nur 13-38 %). Roh eingespeist wuerden sie schaden.
Verifiziert: Stub-Test von _tool_market (Werte unveraendert durchgereicht, nur
80%-Baender, ohne Engine kein Absturz); Prozess juenger als beide Dateien.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
20cd04caa7
commit
00c78201fa
+18
-4
@@ -237,7 +237,14 @@ class TradingEngine:
|
||||
self.agent = TradingAgent(
|
||||
self.cfg, data=self.data, trader=self.trader, trail=self.trail,
|
||||
tu=self.tu, wave=self.wave, history=self.history,
|
||||
news=self.news, elliott=self.elliott)
|
||||
news=self.news, elliott=self.elliott, engine=self)
|
||||
# Letzte kalibrierte Größen für den Copiloten (2026-08-02). Der Snapshot
|
||||
# rechnet sie ohnehin je Zyklus — hier nur festhalten, damit `agent.
|
||||
# _tool_market` sie mitgeben kann, OHNE sie ein zweites Mal zu rechnen
|
||||
# (derselbe Fehler wie beim Konsens-Pfeil, der ein zweites `_verdict()` zog).
|
||||
self._last_sr_close_hint: dict | None = None
|
||||
self._last_stop_approach: dict | None = None
|
||||
self._last_cone: dict | None = None
|
||||
# Tägliche WTI-Intraday-Level per Web-Recherche (z.ai/GLM + web_search).
|
||||
# Nur Kontext → S/R + Anzeige, NICHT Handelsrichtung.
|
||||
zc = self.cfg["zai"] if self.cfg.has_section("zai") else {}
|
||||
@@ -3049,6 +3056,15 @@ class TradingEngine:
|
||||
}
|
||||
sr_close_hint = self._sr_close_hint(market, position, wave_snap)
|
||||
stop_approach = self._stop_approach_hint(market, position, wave_snap)
|
||||
_cone = _cone_build(
|
||||
(market or {}).get("bid"),
|
||||
float(((wave_snap or {}).get("pb_feats") or {}).get("atr") or 0.0))
|
||||
# Für den KI-Copiloten festhalten (2026-08-02) — er bekam bis dahin nur
|
||||
# das Wellen-Signal und sah ausgerechnet die beiden kalibrierten Größen
|
||||
# des Projekts nicht. Hier nur ZUWEISEN, nicht neu rechnen.
|
||||
self._last_sr_close_hint = sr_close_hint
|
||||
self._last_stop_approach = stop_approach
|
||||
self._last_cone = _cone
|
||||
# einmal holen — Verdict-Stimme UND Snapshot-Feld nutzen dasselbe Objekt
|
||||
_pat_snap = self.patterns.snapshot()
|
||||
# ── Marktstatus + Hyperliquid-Kurs (User 2026-08-01) ─────────────────
|
||||
@@ -3184,9 +3200,7 @@ class TradingEngine:
|
||||
"candle_anat": self.candle_anat.snapshot(),
|
||||
# Wahrscheinlichkeits-Kegel (Streuung, NICHT Richtung) — out-of-sample
|
||||
# kalibriert (`analyze_cone.py`). Reine Anzeige.
|
||||
"cone": _cone_build(
|
||||
(market or {}).get("bid"),
|
||||
float(((wave_snap or {}).get("pb_feats") or {}).get("atr") or 0.0)),
|
||||
"cone": _cone,
|
||||
"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