MQL5 fournit aux programmeurs un ensemble très complet de fonctions et d'API orientées objet grâce auxquelles ils peuvent faire tout ce qu'ils veulent dans l'environnement MetaTrader. Cependant, la technologie Web est un outil extrêmement polyvalent de nos jours qui peut venir à la rescousse dans certaines situations lorsque vous devez faire quelque chose de très spécifique, voulez émerveiller vos clients avec quelque chose de différent ou tout simplement vous n'avez pas assez de temps pour maîtriser une partie spécifique de Bibliothèque standard MT5. L'exercice d'aujourd'hui vous présente un exemple pratique sur la façon dont vous pouvez gérer votre temps de développement tout en créant un cocktail technologique incroyable.
Cela fait plus d'un an que MQL5 a commencé à fournir un support natif pour OpenCL. Cependant, peu d'utilisateurs ont vu la vraie valeur de l'utilisation du calcul parallèle dans leurs Expert Advisors, indicateurs ou scripts. Cet article sert à vous aider à installer et à configurer OpenCL sur votre ordinateur afin que vous puissiez essayer d'utiliser cette technologie dans le terminal de trading MetaTrader 5.
Est-il possible de trader sur un vrai compte MetaTrader 5 aujourd'hui ? Comment organiser un tel trading ? L'article contient la théorie de ces questions et les codes de travail utilisés pour copier les trades depuis le terminal MetaTrader 5 vers MetaTrader 4. L'article sera utile à la fois pour les développeurs d'Expert Advisors et pour les traders pratiquants.
De nombreux développeurs sont confrontés au même problème : comment accéder au sandbox du terminal de trading sans utiliser de DLL non sécurisées. L'une des méthodes les plus simples et les plus sûres consiste à utiliser des Named Pipes standard qui fonctionnent comme des opérations de fichier normales. Ils vous permettent d'organiser la communication inter-processeur client-serveur entre les programmes. Regardez les exemples pratiques en C++ et MQL5 qui incluent le serveur, le client, l'échange de données entre eux et l'évaluation des performances.
Dans cet article, nous allons vous montrer comment explorer la bibliothèque standard de classes de stratégies de trading et comment ajouter des stratégies et des filtres/signaux personnalisés en utilisant la logique Patterns-and-Models de l'assistant MQL5. En fin de compte, vous pourrez facilement ajouter vos propres stratégies à l'aide des indicateurs standard MetaTrader 5, et l'assistant MQL5 créera un code propre et puissant et un Expert Advisor entièrement fonctionnel.
Si la fonctionnalité du langage MQL5 n'est pas suffisante pour accomplir les tâches, un programmeur MQL5 doit utiliser des outils supplémentaires. Il doit passer à un autre langage de programmation et créer une DLL intermédiaire. MQL5 a la possibilité de présenter différents types de données et de les transférer vers l'API mais, malheureusement, MQL5 ne peut pas résoudre le problème concernant l'extraction de données à partir du pointeur accepté. Dans cet article, nous allons parsemer tous les « i » et montrer des mécanismes simples d'échange et de travail avec des types de données complexes.
Cet article décrit l'infrastructure MQL5-RPC qui active les appels de procédure distante à partir de MQL5. Il commence par les bases de XML-RPC, la mise en œuvre de MQL5 et se poursuit par deux exemples d'utilisation réelle. Le premier exemple utilise un service Web externe et le second est un client vers un simple service d'analyse XML-RPC ATC 2011. Si vous souhaitez savoir comment mettre en œuvre et analyser différentes statistiques de l'ATC 2011 en temps réel, cet article est fait pour vous.
Cet article traite de la création d'Expert Advisors à l'aide du langage graphique UML, qui est utilisé pour la modélisation visuelle de systèmes logiciels orientés objet. Le principal avantage de cette approche est la visualisation du processus de modélisation. L'article contient un exemple qui montre la modélisation de la structure et des propriétés d'un Expert Advisor à l'aide du logiciel Ideas Modeler.
Dans cet article, nous continuons à étudier les principes du travail avec Internet en utilisant les requêtes HTTP et l'échange d'informations avec le serveur. Il décrit les nouvelles fonctions de la classe CMqlNet, les méthodes d'envoi d'informations à partir de formulaires et l'envoi de fichiers à l'aide de requêtes POST ainsi que l'autorisation sur les sites web sous votre identifiant à l'aide de cookies.
Les services de MQL5.community offrent de grandes possibilités aux traders ainsi qu'aux développeurs d'applications pour le terminal MetaTrader. Dans cet article, nous expliquons comment les paiements pour les services MQL5 sont effectués, comment l'argent gagné peut être retiré et comment la sécurité de l'opération est assurée.
Cet article décrit les principes du travail avec Internet via l'utilisation de requêtes HTTP, et l'échange de données entre terminaux, en utilisant un serveur intermédiaire. Une classe de bibliothèque MqlNet est présentée pour travailler avec des ressources Internet dans l'environnement MQL5. Suivre les prix de différents courtiers, échanger des messages avec d'autres traders sans quitter le terminal, rechercher des informations sur Internet - ce ne sont là que quelques exemples, passés en revue dans cet article.
Cet article nous emmène dans une toute nouvelle direction dans l’élaboration d' EA, d'indicateurs et de scripts en MQL4 et MQL5. À l'avenir, ce paradigme de programmation deviendra progressivement la norme de base pour tous les traders dans l’implémentation des EA. En utilisant le paradigme de programmation basé sur les automates, les développeurs MQL5 et MetaTrader 5 seront tout près de pouvoir créer un nouveau langage - MQL6 - et une nouvelle plate-forme - MetaTrader 6.
Cet article se concentre sur certaines capacités d'optimisation qui s'ouvrent lorsqu'au moins une certaine considération est accordée au matériel sous-jacent sur lequel le noyau OpenCL est exécuté. Les chiffres obtenus sont loin d'être des valeurs plafonds mais même ils suggèrent qu'avoir les ressources existantes disponibles ici et maintenant (l'API OpenCL telle qu'implémentée par les développeurs du terminal ne permet pas de contrôler certains paramètres importants pour l'optimisation - notamment, la taille du groupe de travail ), le gain en performance par rapport à l'exécution du programme hôte est très important.
Fin janvier 2012, la société de développement de logiciels à l'origine de l’élaboration de MetaTrader 5 a annoncé la prise en charge native d'OpenCL dans MQL5. À l'aide d'un exemple illustratif, l'article présente les bases de la programmation en OpenCL dans l'environnement MQL5 et fournit quelques exemples d'optimisation naïve du programme pour augmenter la vitesse de fonctionnement.
Cacher les détails d'implémentation des classes/fonctions dans un fichier .ex5 vous permettra de partager vos algorithmes de savoir-faire avec d'autres développeurs, de mettre en place des projets communs et de les promouvoir sur le Web. Et tandis que l'équipe MetaQuotes ne ménage aucun effort pour amener la possibilité d'héritage direct des classes de la bibliothèque ex5, nous allons l'implémenter dès maintenant.
L'ensemble complexe des problèmes de création d'une structure d'un code exécuté et de son traçage peut être réglé sans difficultés majeures. Cette possibilité est apparue dans MetaTrader 5 en raison de la nouvelle fonctionnalité du langage MQL5 - la création automatique de variables dont les données sont de type complexe (structures et classes) et leur élimination au moment de quitter le périmètre local. L'article comporte la description de la méthodologie et de l'outil prêt à l'emploi.
Cet article est la suite logique de mon article Statistical Probability Distributions en MQL5 qui présente les classes pour travailler avec certaines distributions statistiques théoriques. Maintenant que nous disposons d'une base théorique, je suggère que nous procédions directement à des ensembles de données réelles et que nous essayions de faire un usage informatif de cette base.
Cet article présente la connexion de MetaTrader 5 à ENCOG - Advanced Neural Network and Machine Learning Framework. Il comporte la description et l’implémentation d'un indicateur de réseau neuronal simple axé sur des indicateurs techniques standard et un Expert Advisor axé sur un indicateur neuronal. Tout le code source, les binaires compilés, les DLL et un réseau formé exemplaire sont joints à l'article.
L'article décrit une façon de programmer sans utiliser de modèles mais en gardant le style de programmation iherenet pour eux. Il explique l’implémentation de modèles à l'aide de méthodes personnalisées et comporte un script prêt à l'emploi pour créer un code sur la base de modèles indiqués.
Dans cet article, j'ai présenté différentes méthodes d'interaction entre le code MQL5 et le code C# géré. J'ai également fourni plusieurs exemples sur la façon de rassembler des structures MQL5 contre C# et d'appeler des fonctions DLL exportées dans des scripts MQL5. Je pense que les exemples fournis peuvent servir de base à de futures recherches sur l'écriture de DLL en code géré. Cet article ouvre également la porte à MetaTrader pour utiliser de nombreuses bibliothèques déjà implémentées en C#.
Aujourd’hui, il est difficile de trouver un ordinateur qui n’a pas de navigateur Web installé. Depuis longtemps, les navigateurs évoluent et s’améliorent. Cet article traite du moyen simple et sûr de créer des graphiques et des diagrammes, axés sur les informations obtenues à partir du terminal client MetaTrader 5 pour les afficher dans le navigateur.
En plus de la création de réseaux neuronaux, la suite logicielle NeuroSolutions permet de les exporter sous forme de DLL. Cet article décrit le processus de création d'un réseau neuronal, de génération d'une DLL et de connexion à un Expert Advisor pour le trading dans MetaTrader 5.
L'article décrit une classe de tableau dynamique à deux dimensions qui comporte des données de différents types dans sa première dimension. Le stockage des données sous la forme d'un tableau est pratique pour résoudre un large éventail de problèmes d'agencement, de stockage et d'exploitation avec des informations liées de différents types. Le code source de la classe qui implémente la fonctionnalité de travail avec des tableaux est joint à l'article.
L'utilisation de l'approche orientée-objet dans MQL5 simplifie considérablement la création d'Expert Advisors multidevises/multisystèmes/multi-périodes. Imaginez seulement, votre seul EA trade sur plusieurs dizaines de stratégies de trading, sur tous les instruments disponibles et sur tous les intervalles de temps possibles ! De plus, l' EA est facilement testé dans le testeur, et pour toutes les stratégies, comprises dans sa composition, il dispose d'un ou plusieurs systèmes fonctionnels de gestion de l'argent.
Le langage de programmation MQL5 cible principalement la création de systèmes de trading automatisés et d'instruments complexes d'analyses techniques. Mais en dehors de cela, cela nous permet de créer des systèmes d'information intéressants pour suivre les situations de marché, et fournit une connexion retour avec le trader. L'article décrit les composants de la bibliothèque standard MQL5 et montre des exemples de leur utilisation pratique pour atteindre ces objectifs. Il montre également un exemple d'utilisation de l'API Google Chart pour la création de graphiques.
Je ne suis pas un programmeur professionnel. Et donc, le principe de « passer du simple au complexe » est d’une importance capitale pour moi lorsque je travaille sur l’élaboration d’un système de trading. Qu’est-ce qui est précisément simple pour moi? Tout d’abord, il s’agit de la visualisation du processus de création du système et la logique de son travail. En outre, il s’agit d’un minimum de code manuscrit. Dans cet article, je tenterai de créer et de tester le système de trading, basé sur un package Matlab, puis écrire un Expert Advisor pour MetaTrader 5. Les données historiques de MetaTrader 5 seront utilisées pour le processus de test.
MetaEditor 5 dispose de la fonctionnalité de débogage. Mais lorsque vous écrivez vos programmes MQL5, vous souhaitez souvent afficher non pas les valeurs individuelles, mais tous les messages qui apparaissent lors des tests et du travail en ligne. Lorsque le contenu du fichier journal est de grande taille, il est évident d'automatiser la récupération rapide et facile du message requis. Dans cet article, nous examinerons les moyens de trouver des erreurs dans les programmes MQL5 et les méthodes de collecte de données. Nous simplifierons également la connexion aux fichiers et apprendrons à connaître un programme simple LogMon pour une visualisation confortable des fichiers journaux
L'article décrit comment implémenter la communication inter-processus entre les terminaux clients MetaTrader 5 à l'aide de Canaux Nommés. Pour l'utilisation des Canaux Nommés, la classe CNamedPipes est élaborée. Pour tester son utilisation et mesurer le débit de la connexion, l'indicateur de coche, les scripts serveur et client sont présentés. L'utilisation de Canaux Nommés est suffisante pour les offres en temps réel.
L'article examine le mécanisme de création d'un module DLL, en utilisant le langage de programmation populaire d' ObjectPascal, dans un environnement de programmation Delphi. La documentation, fournie dans cet article, est conçue pour cibler principalement les programmeurs débutants, qui travaillent avec des problèmes, qui dépassent les limites du langage de programmation intégré de MQL5, en connectant les modules DLL externes.
Cet article vise à présenter des solutions prêtes à l'emploi pour la publication de prévisions à l'aide de MetaTrader 5. Il couvre un éventail d'idées : de l'utilisation de sites Web dédiés pour la publication des relevés MetaTrader à la création de son propre site Web sans pratiquement aucune expérience de programmation Web nécessaire et enfin à l'intégration à un service de micro-blogging de réseau social qui permet à de nombreux lecteurs de rejoindre et de suivre les prévisions. Toutes les solutions présentées ici sont 100% gratuites et peuvent être configurées par toute personne ayant une connaissance de base des services e-mail et ftp. Il n'y a aucun obstacle à utiliser les mêmes techniques pour les services d'hébergement professionnel et de prévision des échanges de trade.
Travailler avec des données est devenu la tâche principale des logiciels modernes, à la fois pour les applications autonomes et en réseau. Pour résoudre ce problème, un logiciel spécialisé a été créé. Ce sont des Systèmes de Gestion de Bases de Données (SGBD), qui peuvent structurer, systématiser et organiser les données pour leur stockage et leur traitement informatique. Quant au trading, la plupart des analystes n'utilisent pas de bases de données dans leur travail. Mais il y a des tâches où une telle solution devrait être pratique. Cet article fournit un exemple d'indicateurs, qui peuvent enregistrer et charger des données à partir de bases de données à la fois avec des architectures client-serveur et serveur de fichiers.
Cet article couvre les détails de l'interaction entre MetaTrader 5 et le package mathématique MatLab. Il indique le mécanisme de conversion des données, le processus d’élaboration d'une bibliothèque universelle pour interagir avec le bureau MatLab. Il couvre également l'utilisation des DLL générées par l'environnement MatLab. Cet article est destiné aux lecteurs expérimentés, connaissant C++ et MQL5.
Cet article est un guide rapide des fonctions du langage MQL4, il vous aidera à migrer vos programmes de MQL4 vers MQL5. Pour chaque fonction MQL4 (hors fonctions de trading) la description et l'implémentation MQL5 sont présentées, cela vous permet de réduire considérablement le temps de conversion. Pour plus de commodité, les fonctions MQL4 sont réparties en groupes, similaires à MQL4 Reference.
Les traders ne sont toujours pas en mesure et n’ont pas envie de s'asseoir au terminal de trading pendant des heures. Surtout si le système trading est plus ou moins formalisé et peut identifier automatiquement certains états du marché. Cet article décrit comment générer un rapport des résultats du trade (à l'aide d'Expert Advisor, d'un indicateur ou d'un script) sous forme de fichier HTML et le télécharger via FTP sur le serveur WWW. Nous envisagerons également d'envoyer des notifications d'événements de trade sous forme de SMS sur un téléphone mobile.
Cet article décrit la méthode d'échange d'informations entre l'Expert Advisor et les utilisateurs d' ICQ, plusieurs exemples sont présentés. La documentation fournie sera intéressante pour ceux qui souhaitent recevoir des informations de trading à distance depuis un terminal client, via un client ICQ dans leur téléphone mobile ou PDA.
Maintenant, peu de développeurs se rappellent de la façon d'écrire une DLL simple et des caractéristiques spéciales des différentes liaisons système. À l'aide de plusieurs exemples, je vais tenter de montrer l'ensemble du processus de création de la DLL simple en 10 minutes, ainsi que de discuter de certains détails techniques de notre implémentation de liaison. Je vais montrer étape par étape le processus de la création de DLL dans Visual Studio avec des exemples d'échange de différents types de variables (nombres, tableaux, chaînes, etc.). En outre, je vais vous expliquer comment protéger votre terminal client des plantages dans les DLL personnalisées.
Vous souhaitez organiser l'exportation des cotations de MetaTrader 5 vers votre propre application ? La jonction MQL5-DLL permet de créer de telles solutions ! Cet article vous indiquera l'un des moyens d'exporter des cotations de MetaTrader 5 vers des applications écrites en .NET. Pour moi, il était plus intéressant, rationnel et facile d'implémenter l'export de cotations en utilisant cette même plateforme. Malheureusement, la version 5 ne prend toujours pas en charge .NET, donc comme autrefois, nous utiliserons la dll win32 avec la prise en charge de .NET comme couche intermédiaire.
Dans cet article, nous examinons le processus de développement d'un modèle de table dans MQL5 en utilisant le modèle architectural MVC (Modèle - Vue - Contrôleur) pour séparer la logique des données, la présentation et le contrôle, ce qui permet d'obtenir un code structuré, flexible et évolutif. Nous envisageons la mise en œuvre de classes pour la construction d'un modèle de table, y compris l'utilisation de listes chaînées pour le stockage des données.