HL-Kurs: Rohkurs anzeigen + Basis bei stehendem Broker einfrieren

User-Fund: app.hyperliquid.xyz zeigt WTIOIL-USDC bei 81,392, das Dashboard
86,424. Dahinter steckten zwei Fehler.

(1) Falsches Label (vom 01.08.): angezeigt wurde mid_mt5 = HL + Basis, also
der auf Pepperstone-Niveau umgerechnete Wert - unter der Beschriftung
"HYPERLIQUID KURS". Jetzt steht dort der ROHE HL-Kurs (exakt die Zahl von der
HL-Seite); das CFD-Aequivalent ist in den Tooltip gewandert.

(2) Die Basis-Korrektur war bei geschlossenem Markt ZIRKULAER. Gegenstueck im
HL-Projekt (eigener Commit): die Basis wird jetzt auf dem letzten Stand mit
lebendem Broker eingefroren und als basis_stale durchgereicht.
Belegt aus leadlag.db: Basis bei lebendem Broker konstant +0,42...+0,58, nach
dem Freeze +5,03. Der Wochenend-Move war echt (So 03:00->05:00 von 85,51 auf
80,84, danach 13 h stabil um 81 bei ~600 Messungen/h).

Materielle Folge: die offene SHORT-Position (0,57 ab 86,163, TP 84,123) wurde
mit -15,02 EUR angezeigt; mit eingefrorener Basis sind es +211 EUR, und der TP
liegt 2,3 $ ueber dem echten Niveau. Vorbehalt bleibt (Oracle-Perp) -> weiter "≈".

Ausserdem dokumentiert: restart_server.bat hat zweimal still NICHT neu
gestartet. Eine korrekt ausgelieferte app.js?v=N belegt NICHTS ueber den
geladenen Python-Code (statische Dateien werden je Request von der Platte
gelesen). Zuverlaessig nur: Prozess killen, direkt starten, danach an einem
NEUEN Snapshot-Feld pruefen.

v=132.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Axel Hocks
2026-08-02 17:42:28 +02:00
co-authored by Claude Opus 5
parent d18d8712db
commit 89e4af4561
5 changed files with 90 additions and 13 deletions
+4
View File
@@ -3090,6 +3090,10 @@ class TradingEngine:
_hl_live = {
"mid_mt5": _w["mid_mt5"], "hl_mid": _w.get("hl_mid"),
"basis": _w.get("basis"), "age_s": _w.get("age_s"),
# Basis auf dem letzten Stand mit lebendem Broker eingefroren
# (Fix 2026-08-02, s. `core/hl_walls.py`) — ohne das war die
# Umrechnung bei geschlossenem Markt zirkulär.
"basis_stale": _w.get("basis_stale"),
"bid": _w.get("bid"), "ask": _w.get("ask"),
"bid_sz": _w.get("bid_sz"), "ask_sz": _w.get("ask_sz"),
"imb5": _w.get("imb5"),