15 knowledge objects (log, note, index, module, history) migrated to C3 knowledge schema v1. Bodies unchanged, metadata preserved.
52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
---
|
||
id: object/799b279e-9709-3c05-972b-3751d1dc8a8d
|
||
type: arch
|
||
role: note
|
||
representation: standalone
|
||
state: current
|
||
knowledge_schema: 1
|
||
_organized: true
|
||
---
|
||
|
||
# Echter Stop-Loss + Risiko-Sizing — Fix 18.08.2026
|
||
|
||
## Problem
|
||
Der Stop-Loss war bisher **nur ein lokaler Wert** in `trades.json`. Der Monitor prüfte
|
||
**stündlich** und verkaufte dann per Market-Order. Bei volatilen Pennystocks (MXL, ACRS,
|
||
ULCC, XRX) rutschte der Kurs in der Zwischenzeit deutlich unter den SL → Verluste von
|
||
−7 bis −10 % statt der konfigurierten −8 %. Realisierte Rendite der Periode: **−24,33 €**.
|
||
|
||
Zusätzlich war das Sizing fix auf 50 €/Position → bei weitem SL (8 %) ein Verlust von
|
||
~6–7 € (≈12 % des Positionsbudgets), statt der 2 %-Regel.
|
||
|
||
## Fix A — Echter Stop-Loss bei T212
|
||
- Neuer Endpunkt: `POST /api/v0/equity/orders/stop` (negative Menge = Sell-Stop)
|
||
- `place_stop()` + `cancel_stop()` in `t212_resilience.py`
|
||
- `ensure_stop()` in `t212_monitor.py`: platziert/aktualisiert den echten Stop bei
|
||
Fill, Breakeven (+3 %), Trailing (+5 %) und bei jedem Monitor-Lauf
|
||
- **Idempotent:** speichert `stop_order_id` + `stop_order_price` in `trades.json` →
|
||
kein Cancel+Neu-Churn bei jedem Lauf
|
||
- **Rate-Limit-Pacing:** 1 Stop-Request / 2s (T212-Limit)
|
||
- **Konservativ bei 429:** leere Live-Stop-Liste → nichts unternehmen (kein Churn)
|
||
|
||
## Fix B — Risiko-basiertes Sizing
|
||
- `calc_risk()` nutzt jetzt `risk_per_trade_pct (2 %)` × Gesamtkapital statt fix 50 €
|
||
- Verlust pro Trade in € gedeckelt, egal wie weit der SL steht
|
||
- "Trades atmen lassen" (weiter SL) → Position wird automatisch kleiner
|
||
|
||
## Verifiziert (live gegen T212-API, 18.08.2026)
|
||
4 echte Stop-Orders aktiv, keine Duplikate, zweiter Monitor-Lauf = 0 neue Orders:
|
||
|
||
| Position | Stop | Order-ID |
|
||
|----------|------|----------|
|
||
| LFST | 11,95 € | 55909740706 |
|
||
| TRGP | 271,78 € | 55909740714 |
|
||
| WEAV | 6,72 € | 55909740725 |
|
||
| UMAC | 28,55 € | 55909740772 |
|
||
|
||
## Backups
|
||
- `t212_monitor.py.bak_*` (mehrere Stände)
|
||
- `t212_resilience.py.bak_*`
|
||
|
||
## Status
|
||
✅ Aktiv — Daemon liest Dateien bei jedem Lauf frisch, kein Neustart nötig.
|