Files
Trademind/config/trademind.env.example
Tobias Zimmermann 3cd12b67aa Training über das Dashboard anstoßen
Neuer Abschnitt "Training" im Dashboard mit zwei Bedienelementen und den
zugehörigen Endpunkten /control/train/history, /control/train/live und
/control/training.

Historisches Nachtraining
- Kerzenanzahl je Symbol wählbar (500 bis 50 000), Fortschritt und Ergebnis
  werden im Dashboard angezeigt.
- Läuft mit derselben Logik wie ein Backtest, aber ohne zu handeln, und
  speichert das Modell anschließend.
- Handelsdurchlauf und Nachtraining teilen sich einen Mutex, damit sie nicht
  gleichzeitig auf Modell und Portfolio zugreifen. Die rechenintensive Schleife
  läuft in einem Worker-Thread, damit der Status-Server antwortbereit bleibt.
- Ein zweiter Start wird abgelehnt, solange einer eingereiht ist oder läuft.

Kontinuierliches Lernen
- Schalter für das Online-Lernen im laufenden Betrieb. Ausgeschaltet handelt der
  Bot weiter, verändert das Modell aber nicht mehr.

Label-Trennung
- Vorgemerkte Labels tragen jetzt ein Tag. Ein Nachtraining darf die offenen
  Labels des Live-Betriebs weder auflösen noch verwerfen; ohne die Trennung
  würden sie gegen historische Kurse ausgewertet und das Modell mit falschen
  Ergebnissen gefüttert.
- score() liest die Gewichte unter dem Lock, damit ein parallel laufendes
  Training keinen halb aktualisierten Vektor sichtbar macht.

Absicherung
- server.control_token (TRADEMIND_CONTROL_TOKEN) schützt alle Steuerbefehle über
  den Header X-TradeMind-Token; lesende Endpunkte bleiben offen. Ohne Token warnt
  der Bot beim Start, wenn der Port nicht nur lokal erreichbar ist.
- server.enable_control: false entfernt die Routen vollständig.

153 Tests (25 neue), ruff sauber. Im gebauten Container geprüft: 202/409 beim
Anstoßen, 401 ohne und mit falschem Token, +1099 Beobachtungen in 4,3 s bei
weiterlaufendem Handels-Loop ohne Fehler.
2026-08-23 12:15:28 +02:00

41 lines
1.5 KiB
Bash
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Geheimnisse und Laufzeitschalter für TradeMind.
# Kopieren nach config/trademind.env und NIEMALS committen (.gitignore deckt das ab).
#
# podman run --env-file config/trademind.env ...
# podman-compose --env-file config/trademind.env up
# paper | backtest | live
TRADEMIND_MODE=paper
# Börse (ccxt-ID): binance, kraken, coinbase, bybit, okx, kucoin, bitget, gate, mexc, ...
TRADEMIND_EXCHANGE=binance
# true = Testnet/Sandbox der Börse verwenden
TRADEMIND_SANDBOX=true
# API-Zugangsdaten. Im Paper-Modus nicht nötig dort werden nur öffentliche Kurse gelesen.
# Für Live: Schlüssel ausschließlich mit Handelsrecht anlegen, Auszahlungen NICHT erlauben,
# und wenn möglich die IP des Servers hinterlegen.
TRADEMIND_API_KEY=
TRADEMIND_API_SECRET=
# Passphrase nur bei OKX, KuCoin, Coinbase Advanced, Bitget
TRADEMIND_API_PASSWORD=
# Muss für den Live-Modus wörtlich auf I_UNDERSTAND_THE_RISK stehen.
TRADEMIND_LIVE_CONFIRMATION=
# Optionaler Slack-/Discord-Webhook für Trade-Meldungen
TRADEMIND_WEBHOOK_URL=
# Schützt die Steuerbefehle des Dashboards (Training anstoßen, Lernen umschalten).
# Leer = ungeschützt. Sobald der Port nicht nur lokal erreichbar ist, unbedingt setzen:
# openssl rand -hex 24
TRADEMIND_CONTROL_TOKEN=
TRADEMIND_LOG_LEVEL=INFO
# Punktuelle Overrides ohne Änderung der YAML-Datei (Muster: TRADEMIND__<ABSCHNITT>__<SCHLUESSEL>)
# TRADEMIND__RISK__MAX_OPEN_POSITIONS=5
# TRADEMIND__MARKET__SYMBOLS=BTC/USDT,ETH/USDT,SOL/USDT
# TRADEMIND__STRATEGY__LEARNER__ENTRY_THRESHOLD=0.6