UI aufgeraeumt + Telegram auf Closes reduziert (v=177)
Vier User-Vorgaben:
1. Einsatz-Felder entfernt. Backend bleibt vollstaendig -- Folge: der
Prozentsatz ist ohne UI nur ueber ini + Neustart aenderbar.
2. BRK-Schalter entfernt, dafuer STOPP (Circuit-Breaker). Bewusster Tausch mit
Konsequenz: der An/Aus-Schalter des AUTONOMEN Pfads ist aus der App weg (nur
noch POST bzw. ini), sein Zustand bleibt in der Breakout-Karte sichtbar.
Dafuer ist die Notbremse bedienbar, die am 17.08. real ausgeloest hat.
set_circuit_breaker + POST /api/circuit + runtime_state (cb_limit_pct,
cb_remember -- ohne das Gedaechtnis waere die Prozentzahl nach einmal
Ausschalten fuer immer weg).
3. Telegram nur noch bei geschlossenen Trades: EINE Filterstelle vor
_send_telegram_roh statt 17 Einzeleingriffe, _TG_ERLAUBT = ('Trade
geschlossen',). Umkehren = Liste erweitern. Tages-/Wochenreport wird nur auf
dem Telegram-Weg still, die E-Mail laeuft weiter.
EINE Ausnahme mit Bypass: '<ok_word> FEHLGESCHLAGEN' beim Notfall-Close --
dort ist die Position NICHT zu und es braucht eine Handeingabe.
Verifiziert: /api/circuit vorher 405, nachher 200; Toggle aus->an->8 %/57,94 EUR
persistiert; 85 Tests, node --check, check_nfalle gruen; 0 verwaiste
JS-Referenzen; genau eine Instanz je Port.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
32c064a1a6
commit
e48ad80c0a
@@ -353,6 +353,19 @@ async def toggle_srclose(x_auth_token: str | None = Header(default=None)):
|
||||
return {"ok": True, "enabled": state}
|
||||
|
||||
|
||||
@app.post("/api/circuit")
|
||||
async def toggle_circuit(x_auth_token: str | None = Header(default=None)):
|
||||
"""Tagesverlust-Stopp (Circuit Breaker) an/aus (User-Wunsch 2026-08-19)."""
|
||||
_require_auth(x_auth_token)
|
||||
eng = app.state.engine
|
||||
state = eng.set_circuit_breaker(not (eng._cb_limit_pct > 0))
|
||||
# Herkunft mitloggen wie bei den anderen Schaltern -- sonst ist beim
|
||||
# Nachvollziehen eines Zustandswechsels nicht feststellbar, ob Dashboard
|
||||
# oder Code geschaltet hat (Fix-Muster vom 02.08.).
|
||||
log.info(f"[WEB] Circuit-Breaker {'AN' if state else 'AUS'}")
|
||||
return {"ok": True, "enabled": state, "limit_pct": eng._cb_limit_pct}
|
||||
|
||||
|
||||
@app.post("/api/autosqueeze")
|
||||
async def toggle_autosqueeze(x_auth_token: str | None = Header(default=None)):
|
||||
"""Autonomen Squeeze-Entry (echte Order auf Ausbruch) an/aus."""
|
||||
|
||||
Reference in New Issue
Block a user