Discussion de l'article "Comment accéder à la base de données MySQL à partir de MQL5 (MQL4)"

 

Un nouvel article Comment accéder à la base de données MySQL à partir de MQL5 (MQL4) a été publié :

L'article décrit le développement d'une interface entre MQL et la base de données MySQL. Il traite des solutions pratiques existantes et offre un moyen plus pratique d'implémenter une bibliothèque pour travailler avec des bases de données. L'article contient une description détaillée des fonctions, la structure de l'interface, des exemples et certaines des fonctionnalités spécifiques de l'utilisation de MySQL. Comme pour les solutions logicielles, les pièces jointes des articles incluent les fichiers de bibliothèques dynamiques, de la documentation et des exemples de scripts pour les langages MQL4 et MQL5.

L'interaction entre le terminal MetaTrader (via les programmes MQL) peut être mise en œuvre à l'aide des composants ci-dessous :

 schéma d'interaction MQL et MySQL

1. La bibliothèque d'interface MQLMySQL.mqh. Elle est ajoutée au projet à l'aide du répertoire #include et peut être modifiée à votre convenance.

Elle contient les directives d'import des fonctions de la bibliothèque dynamique MQLMySQL.dll, ainsi que les fonctions d'appel et de gestion des erreurs.

2. La bibliothèque dynamique MQLMySQL.dll. C'est un wrapper pour accéder aux fonctionnalités de la bibliothèque standard libmysql.dll.

De plus, la bibliothèque MQLMySQL.dll traite les résultats des opérations et l'accès partagé aux connexions et curseurs de la base de données. Cela signifie que vous pouvez créer et utiliser plusieurs connexions à la fois (à partir d'un ou plusieurs programmes MQL), garder quelques curseurs ouverts, avec des requêtes vers une ou plusieurs bases de données. Les mutex sont utilisés pour séparer l'accès aux ressources partagées.

3. La bibliothèque dynamique standard libmysql.dll est un pilote d'accès natif. Vous pouvez la copier à partir de n'importe quelle distribution de base de données MySql dans C:\Windows\Sytem32 ou <Terminal>\MQL5\Libraries (pour MetaTrader 4 dans <Terminal>\MQL4\Libraries).

En fait, elle est chargée d'envoyer des requêtes à la base de données et d'en récupérer les résultats.

Attardons-nous sur les points principaux, tels que : l'ouverture/fermeture de la connexion, l'exécution de requêtes DML/DDL et la sélection de données.

Auteur : Eugeniy Lugovoy