Aide MetaEditorOpérations avec des bases de données SQL

Opérations avec des bases de données SQL

MetaEditor fournit des options pour faciliter l'utilisation des bases de données. Ces fonctionnalités sont implémentées sur la base de l'intégration du moteur populaire SQLite. L'ensemble de la base de données se trouve dans un seul fichier sur le disque dur d'un PC utilisateur.

L'éditeur donne accès aux principales fonctions de travail avec les bases de données, vous permettant de :

  • Créer et connecter des bases de données
  • Afficher les tables et effectuer des requêtes de données rapides
  • Créer et exécuter des requêtes SQL, annuler les modifications

Le développement de stratégies de trading est associé au traitement de grandes quantités de données, et c'est pourquoi les bases de données sont largement utilisées dans le trading algorithmique. L'utilisation des bases de données vous permettra de :

  • Analyser l'historique de trading et les cotations
  • Enregistrer et analyser les résultats d'optimisation et de test
  • Préparer et échanger des données avec d'autres packages d'analyse
  • Enregistrer les paramètres et les états du programme MQL5

Le langage MQL5 prend en charge les fonctions permettant de travailler avec des bases de données directement depuis vos programmes. Pour plus de détails, veuillez lire l'article "SQLite : Gestion native des bases de données SQL en MQL5".

Créer une base de données #

La fonctionnalité de création rapide de base de données est disponible à partir de l'assistant MQL5. Vous pouvez facilement créer votre première table et définir ses champs.

Créer une base de données via un assistant

Les types de champs suivants sont disponibles :

  • integer – valeurs entières
  • real – valeurs fractionnaires
  • text – chaînes de caractères
  • blob – tableaux de données binaires

Les champs peuvent également être marqués avec des drapeaux :

  • primary - une clé primaire qui identifie de manière unique chaque enregistrement de la table. Un seul champ d'une table peut être utilisé comme clé primaire. Les valeurs de ce champ doivent être uniques.
  • unique - un champ avec des valeurs, qui ne peuvent pas être répétées. Une tentative d'écriture d'une valeur déjà existante provoquera une erreur. Vous pouvez utiliser cet indicateur pour les champs, qui doivent avoir des valeurs uniques. Par exemple, il peut être défini pour un champ utilisé pour les tickets des trades.

Vous pouvez également créer des bases de données à l'aide du menu contextuel du navigateur :

  • Créer une base de données - crée un fichier de base de données vide au format sélectionné. L'extension .db est utilisée par défaut.
  • Créer à partir d'un fichier - crée une base de données basée sur une base de données *.SQL existante.

Une fois la base de données créée, vous serez redirigé vers la section appropriée du Navigateur. Toutes les opérations sur les données sont effectuées à partir de cette section.

Importer des tableaux #

Vous pouvez créer des tables dans une base de données basée sur des fichiers CSV prêts à l'emploi. Cliquez sur "Importer la table" dans le menu de la base de données, sélectionnez un fichier et définissez les paramètres suivants :

  • Nom de la table dans la base de données.
  • Détection automatique ou manuelle du codage des fichiers.
  • Séparateur de données : virgule, point-virgule, tabulation ou espace.
  • Saut du nombre de lignes spécifié au début.
  • Préfixe de commentaire.
  • Si le fichier a des noms de colonne. Si vous activez cette option, les valeurs de la première ligne du fichier seront importées en tant que noms de colonne.
  • Comment les sauts de ligne seront déterminés : saut de ligne uniquement (LF, par défaut) ou caractères de retour chariot et saut de ligne (CRLF).
  • Si les données doivent être ajoutées à une nouvelle table ou à une table existante.
  • Quels guillemets sont utilisés pour les chaînes du fichier : simples ou doubles. Les guillemets seront supprimés lors de l'importation.

Importer une table prête dans une base de données

Travailler avec la base de données #

Le Navigateur fournit un onglet séparé pour travailler avec les bases de données. Cliquez sur "Ouvrir" dans son menu contextuel ou dans le menu "Fichier", et sélectionnez le fichier de base de données. Les tables correspondantes apparaîtront dans le Navigateur.

Double-cliquez sur le nom de la table pour interroger rapidement les 1 000 premiers enregistrements.

Travailler avec la base de données

Pour exécuter une requête de base de données, saisissez-la dans la partie droite de l'éditeur et cliquez sur "Exécuter". En cas d'erreur de requête, le message correspondant sera ajouté au journal. Un exemple de requête simple créant une table :

CREATE TABLE COMPANY(ID INT PRIMARY KEY NOT NULL, NAME TEXT NOT NULL, AGE INT NOT NULL, ADDRESS CHAR(50), SALARY REAL);

La table COMPANY comporte 5 champs : identifiant d'enregistrement, nom, âge, adresse et salaire. Le champ ID sert de clé, c'est-à-dire d'index unique. Les identifiants permettent une identification unique de chaque enregistrement et ils peuvent être utilisés dans différentes tables pour les relier. Ceci est similaire à la façon dont un ID de position relie toutes les transactions et tous les ordres à une position particulière.

Si une colonne d'une table contient des données de temps spécifiées en minutes (heure UNIX), secondes ou microsecondes depuis 1970.01.01, cliquez dessus avec le bouton gauche et sélectionnez le format requis. Après cela, l'heure sera affichée au format habituel, AAAA.MM.JJ hh:mm:ss.

Pour enregistrer une table sous forme de fichier, interrogez toutes les données de la table à l'aide d'une requête "SELECT * FROM [nom de la table]", puis cliquez sur "Exporter" dans le menu contextuel. L'export fournit les mêmes options de table que l'import.