Discussion de l'article "SQLite Gestion native des bases de données SQL dans MQL5" - page 2
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Renat Fatkhullin:
Au sein de différents Expert Advisors MQL5 lancés dans un même terminal, vous pouvez partager la même base de données.
.
J'ai testé le fonctionnement de deux Expert Advisors avec la même base de données dans un terminal. Cela fonctionne sans erreur - les deux Expert Advisors écrivent les données dans un fichier avec un minuteur de 2 secondes.
Les fichiers sont joints, ils ne diffèrent que par le nom de l'Expert Advisor.
Voici à quoi ressemble la base de données dans MetaEditor
Ce qui est décrit pour µl5 peut-il être utilisé dans µl4 ?
Dans MQL4, vous pouvez travailler avec le fichier natif Sqlite3_32.dll à travers le wrapper pour MQL.
Il s'agit d'un wrapper pour MQL, à ne pas confondre avec SQLite3Wrapper.dll.
Je ne sais pas s'il est toujours en ligne, mais je l'utilisais auparavant.
UPD : https://github.com/Shmuma/sqlite3-mt4-wrapperSi quelqu'un a trouvé la solution, qu'il nous montre la mise en œuvre d'une telle tâche.
Il y a une autre nuance - sauvegarder dans la base de données des données cohérentes avec une valeur croissante, ne se dispersant pas, comme les cotations (avec une date croissante) - une opération TRÈS coûteuse. L'arbre n'est pas équilibré, une branche pousse indéfiniment, et le moteur rééquilibre l'arbre régulièrement (c'est pire que le ramassage des ordures). Peut-être que cela ne s'applique qu'à la table indexée, je ne m'en souviens plus. Ou peut-être que pendant les quelques années où je ne l'ai pas utilisé, le problème a déjà été résolu. Il faudra que j'essaie. Peut-être même que les développeurs l'analyseront, cela devrait les intéresser.
Importation de la base de données()
script simple
2020.02.20 15:09:27.171 MQL5 'DOMcopy.ex5' a une version plus récente non supportée, veuillez mettre à jour votre terminal client
version 5 build 2323 dernier méta-éditeur est le même et le débogage ne fonctionne pas.
Y a-t-il quelque chose d'inachevé ?
Lafonctionnalité DatabaseImport n'a pas encore été rendue publique.
Veuillez attendre la publication.
La fonction DatabaseImport n'a pas encore été rendue publique.
Veuillez attendre sa publication.
version 5 build 2326 même chose, donc attendre une version stable quand ?
version 5 build 2326 la même chose qui est d'attendre une version stable et quand ?
Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading.
Nouvelle version de MetaTrader 5 build 2340 : Gestion des paramètres de compte dans le testeur et extension de l'intégration avec Python
MetaQuotes, 2020.02.20 14:55
Le vendredi 21 février 2020, une version mise à jour de la plateforme MetaTrader 5 sera publiée. La mise à jour contient les changements suivants :
Lors de la précédente mise à jour de la plateforme, nous avons ajouté la possibilité de travailler avec des bases de données SQLite directement à partir de MQL5. Les fonctions principales sont maintenant disponibles via l'interface utilisateur de MetaEditor :
.
Comment ça marche
Pour créer rapidement des bases de données, utilisez l'"Assistant MQL5". Vous pouvez y créer immédiatement la première table et définir la liste de ses champs.
Après avoir créé une base de données, vous accédez à une nouvelle section du "Navigateur". Tout le travail avec les données est effectué à partir de cette section.
Dans la partie gauche, les tables de la base de données sont affichées. Pour interroger rapidement les 1 000 premiers enregistrements, double-cliquez sur le nom de la table. Vous pouvez également créer et ouvrir d'autres bases de données et travailler avec des tables.
La partie principale de l'éditeur est l'endroit où vous travaillez avec la base de données : remplir la table avec des données, effectuer des recherches et des sélections, saisir des requêtes SQL, etc.
.

Pour plus de détails sur le travail avec les bases de données dans MetaTrader 5, veuillez lire l'article"SQLite : Native Work with SQL Databases in MQL5"..
.
Pour exécuter le script dans l'éditeur, cliquez sur "Compile" :
.
Pour travailler avec Python, n'oubliez pas de spécifier le chemin d'accès dans la section "Paramètres / Compilateurs" dans MetaEditor. Et pour travailler avec la bibliothèque MetaTrader 5, installez-la avec la commande :
.
.
Nouveau nom de commande
Les commandes existantes ont été renommées :
MT5Shutdown -> shutdown
MT5TerminalInfo -> terminal_info
MT5Version -> version
MT5CopyRatesFrom -> copy_rates_from
MT5CopyRatesFromPos -> copy_rates_from_pos
MT5CopyRatesRange -> copy_rates_range
MT5CopyTicksFrom -> copy_ticks_from
MT5CopyTicksRange -> copy_tick_range
Nouvelles commandes
La liste des commandes prises en charge a été considérablement élargie. Ajout de fonctions de négociation et d'utilisation de l'historique des transactions, d'obtention d'informations sur les instruments financiers et le compte courant.
.
Exécution de scripts Python sur les graphiques
Désormais, les scripts Python peuvent être exécutés directement sur les graphiques de la plateforme, de la même manière que les programmes MQL5. Ils seront affichés avec des icônes spéciales dans le "Navigateur".
.
Les messages des scripts seront affichés dans la section "Outils / Experts". Si le script utilise la bibliothèque MetaTrader 5, il pourra recevoir des informations sur l'instrument, le compte et la transaction.
Les scripts Python peuvent être exécutés sur le même graphique en parallèle avec d'autres scripts MQL5 et Expert Advisors. Pour arrêter un script si son exécution est en boucle, il suffit de le supprimer du graphique.
Protection supplémentaire
Pour protéger davantage vos comptes lors de l'utilisation de bibliothèques Python tierces, l'option "Désactiver le trading automatique via l'API Python externe" a été ajoutée aux paramètres du terminal.
.
Les scripts Python ne seront autorisés à négocier que si cette option est explicitement désactivée.
.
.
DatabaseImport
Importe les données d'un fichier dans une table.
DatabaseExport
Exporte une table ou le résultat de l'exécution d'une requête SQL vers un fichier CSV. Le fichier est créé en encodage UTF-8.
DatabasePrint
Imprime une table ou le résultat de l'exécution d'une requête SQL dans le journal de l'Expert Advisor.
La nouvelle fonction permettra d'implémenter une interaction pratique entre l'utilisateur et le programme MQL5.
.
.
.
Paramètres généraux
Dans cette section, vous pouvez définir le nombre maximum d'ordres ouverts et de positions que vous pouvez avoir sur votre compte en même temps. Vous pouvez également définir les sessions pendant lesquelles le programme testé ne sera pas autorisé à négocier.
Marge
Vous pouvez ici contrôler entièrement la manière dont la marge sera réservée et le système de comptabilisation des positions qui sera utilisé pendant les tests :
.
.
.
.
Commission
Dans cette section, vous avez un contrôle total sur la façon dont les commissions sont facturées sur toutes les transactions.
.
.
.
.
La mise à jour sera disponible via le système LiveUpdate.
La version stable 5 build 2340 DatabaseImport montre le même DatabaseImport à l'exécution
2020.02.22 14:01:42.338 MQL5 'DOMcopy.ex5' a une nouvelle version non supportée, veuillez mettre à jour votre terminal client.
Bonjour !
J'ai essayé de créer une connexion à une base de données dans l'indicateur, mais pour une raison quelconque, cela n'a pas fonctionné.
Pourquoi n'est-il écrit nulle part, dans quels programmes puis-je utiliser des bases de données ?