Stockage des données et configuration des sources de données

L'Application de Gestion de MagicTradeBot prend en charge plusieurs bases de données SQL pour stocker et gérer les données essentielles liées au trading. Cette flexibilité permet aux utilisateurs d’opérer dans des environnements allant de bases de données intégrées légères à des bases relationnelles de niveau production.

📌 Quelles données sont stockées

MagicTradeBot conserve les données structurées suivantes dans la source de données connectée :

  • Comptes d’échange : Identifiants d’échange, clés API et configurations par échange.
  • Symboles de trading : Cryptomonnaies/paires associées à des échanges ou comptes spécifiques.
  • Modèles de trading : Définitions personnalisées de modèles incluant stratégie, contrôles de risque et liaisons de symboles.
  • Données de trade : Journaux de transactions en temps réel et historiques ainsi que données d’exécution.
  • Données Kline : Données internes personnalisées de chandeliers, construites et optimisées localement sans dépendre de fournisseurs tiers.
  • Autres : Journaux, paramètres système, plannings et autres métadonnées critiques au runtime.

💾 Options de sources de données supportées

MagicTradeBot supporte actuellement les moteurs de bases SQL suivants :

  • SQLite – Léger et intégré (option par défaut)
  • SQL Server – SGBD d’entreprise complet (Microsoft SQL)
  • MySQL – SGBD open-source populaire
  • PostgreSQL – Système de base de données objet-relationnelle avancé open-source

⚙️ Configuration

Toutes les connexions aux bases de données sont configurées dans le fichier appsettings.json de l’Application de Gestion :

{
  "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": {
    // ATTENTION : Ne jamais commettre de secrets réels dans le contrôle de version !
    "Database": {
      "Host": "",        // Environnement : Secrets__Database__Host
      "Name": "",        // Environnement : Secrets__Database__Name
      "User": "",        // Environnement : Secrets__Database__User
      "Password": ""     // Environnement : Secrets__Database__Password
    }
  }
}

🔐 Bonnes pratiques de sécurité

  • Ne jamais coder en dur des identifiants dans appsettings.json en production.
  • Utiliser des variables d’environnement pour injecter les secrets en toute sécurité, par exemple :
    • Secrets__Database__User
    • Secrets__Database__Password
  • Utiliser un gestionnaire de secrets ou secrets Docker dans les environnements conteneurisés.
  • Chiffrer la base de données au repos quand c’est possible.

🧪 Usage par défaut de SQLite (recommandé pour local / développement)

MagicTradeBot intègre SQLite par défaut et pré-configuré. Aucun réglage manuel n’est nécessaire pour commencer les tests en local.

"SQLLight": "Data Source=Data/MTManagementDB.db"

La base de données par fichier est automatiquement créée dans le dossier /Data.

🔧 Passage à des bases de données externes

  1. Créer la base désirée dans votre moteur SQL Server / MySQL / PostgreSQL.
  2. Mettre à jour la chaîne de connexion correspondante dans appsettings.json.
  3. Vérifier que les ports nécessaires sont ouverts et accessibles.
  4. Redémarrer l’Application de Gestion.

🧩 Résumé

  • MagicTradeBot stocke toutes les données de trading, configurations et logs dans une base structurée.
  • Supporte les moteurs SQL légers à niveau entreprise.
  • Encourage des déploiements sécurisés et évolutifs via des secrets configurés en environnement.
  • Facile de changer de base de données simplement en modifiant la configuration.

Pour les déploiements avancés, la planification des sauvegardes et la réplication de base sont également supportées en externe selon votre moteur de base.

📎 Related Topics