Die Verwaltungsanwendung von MagicTradeBot unterstützt mehrere SQL-basierte Datenbanken zur Speicherung und Verwaltung von wichtigen handelsbezogenen Daten. Diese Flexibilität ermöglicht den Einsatz in Umgebungen von leichtgewichtigen eingebetteten Datenbanken bis hin zu produktionsreifen relationalen Datenbanksystemen.
📌 Welche Daten werden gespeichert
MagicTradeBot speichert die folgenden strukturierten Daten in der verbundenen Datenquelle:
- Börsenkonten: API-Zugangsdaten, Schlüssel und Konfigurationen pro Börse.
- Handelssymbole: Coins/Paare, die bestimmten Börsen oder Konten zugeordnet sind.
- Handelsvorlagen: Benutzerdefinierte Vorlagendefinitionen einschließlich Strategie, Risikokontrolle und Symbolverknüpfung.
- Handelsdaten: Echtzeit- und historische Handelsprotokolle und Ausführungsdaten.
- Kline-Daten: Interne benutzerdefinierte Kerzendaten (Candlestick), lokal aufgebaut und optimiert ohne Drittanbieter.
- Sonstiges: Protokolle, Systemeinstellungen, Zeitpläne und weitere betriebsrelevante Metadaten.
💾 Unterstützte Datenbankoptionen
MagicTradeBot unterstützt derzeit die folgenden SQL-Datenbank-Engines:
- SQLite – Leichtgewichtig und integriert (Standardoption)
- SQL Server – Funktionsreicher Enterprise-RDBMS (Microsoft SQL)
- MySQL – Beliebte Open-Source-RDBMS
- PostgreSQL – Fortschrittliches Open-Source objekt-relationales DB-System
⚙️ Konfiguration
Alle Datenbankverbindungen werden in der Datei appsettings.json
innerhalb der Verwaltungsanwendung konfiguriert:
{
"ConnectionStrings": {
"SQLLight": "Data Source=Data/MTManagementDB.db",
"SQLSERVER": "Server=localhost;Database=MagicTrade;User Id=sa;Password=yourpass;",
"Postge": "Server=localhost;Database=MagicTrade;User Id=pguser;Password=yourpass;",
"MySQL": "Server=localhost;Database=MagicTrade;User=mtuser;Password=yourpass;"
},
"Secrets": {
// WARNUNG: Niemals echte Zugangsdaten ins Quellcode-Repository einchecken!
"Database": {
"Host": "", // Umgebung: Secrets__Database__Host
"Name": "", // Umgebung: Secrets__Database__Name
"User": "", // Umgebung: Secrets__Database__User
"Password": "" // Umgebung: Secrets__Database__Password
}
}
}
🔐 Sicherheit – Best Practices
- Speichern Sie keine Zugangsdaten dauerhaft in
appsettings.json
für den Produktivbetrieb. - Verwenden Sie Umgebungsvariablen, um sensible Informationen sicher bereitzustellen, z. B.:
Secrets__Database__User
Secrets__Database__Password
- Verwenden Sie in Containerumgebungen Secrets Manager oder Docker-Secrets.
- Verschlüsseln Sie die Datenbank nach Möglichkeit im Ruhezustand.
🧪 Standardmäßige SQLite-Nutzung (empfohlen für lokale Entwicklung)
MagicTradeBot wird mit vorinstallierter und vorkonfigurierter SQLite-Datenbank ausgeliefert. Für lokale Tests ist keine manuelle Einrichtung erforderlich.
"SQLLight": "Data Source=Data/MTManagementDB.db"
Die standardmäßige Datei-basierte Datenbank wird automatisch im Verzeichnis /Data
erstellt.
🔧 Umstellung auf externe Datenbanken
- Erstellen Sie die gewünschte Datenbank in Ihrem SQL Server / MySQL / PostgreSQL-System.
- Aktualisieren Sie den entsprechenden Verbindungseintrag in
appsettings.json
. - Stellen Sie sicher, dass die erforderlichen Ports offen und zugänglich sind.
- Starten Sie die Verwaltungsanwendung neu.
🧩 Zusammenfassung
- MagicTradeBot speichert Handelsdaten, Konfigurationen und Protokolle in einer strukturierten Datenbank.
- Unterstützt Datenbanken von leichtgewichtig bis enterprise-fähig.
- Fördert sichere und skalierbare Deployments durch Umgebungskonfiguration.
- Datenbankwechsel ist einfach über Konfigurationsänderungen möglich.
Für fortgeschrittene Deployments werden externe Sicherungsplanung und Replikation je nach Datenbank-Engine unterstützt.