Par défaut, tous les objets de MQL5 sont transmis par référence, mais il est possible d'utiliser les pointeurs d'objet. Cependant, il est nécessaire d'effectuer la vérification du pointeur, car l'objet peut ne pas être initialisé. Dans ce cas, le programme MQL5 sera terminé avec une erreur critique et déchargé. Les objets, créés automatiquement, ne provoquent pas une telle erreur, donc dans ce sens, ils sont tout à fait sûrs. Dans cet article, nous allons essayer de comprendre la différence entre la référence d'objet et le pointeur d'objet, et d'examiner comment écrire du code sécurisé qui utilise les pointeurs.
MQL5 a apporté une multitude d'innovations, notamment le travail avec des événements de différents types (événements de minuterie, événements de trade, événements personnalisés, etc.). La capacité de gérer les événements vous permet de créer un tout nouveau type de programmes pour le trading automatique et semi-automatique. Dans cet article, nous considérerons les événements commerciaux et écrirons du code pour la fonction OnTrade(), qui traitera l'événement de trade.
Avec la nouvelle version du langage de programmation MQL disponible, non seulement l'approche du traitement des indicateurs a changé, mais il existe également de nouvelles façons de créer des indicateurs. De plus, vous disposez d'une flexibilité supplémentaire en travaillant avec les tampons d'indicateurs - vous pouvez désormais spécifier la direction d'indexation souhaitée et obtenir exactement autant de valeurs d'indicateurs que vous le souhaitez. Cet article explique les méthodes de base pour faire appel aux indicateurs et récupérer des données à partir des tampons de l'indicateur.
Il existe 6 styles de dessin dans MQL4 et 18 styles de dessin dans MQL5. Par conséquent, il peut être intéressant d'écrire un article pour présenter les styles de dessin de MQL5. Dans cet article, nous examinerons les détails des styles de dessin dans MQL5. De plus, nous allons créer un indicateur pour montrer comment utiliser ces styles de dessin et affiner le tracé.
Dans cet article, nous allons envisager la création de deux indicateurs : l'indicateur à graduations, qui trace le graphique à graduations de l’indicateur de prix et de graduation bougie, qui trace des bougies avec le nombre de graduations spécifié. Chacun des indicateurs écrit les prix entrants dans un fichier, et utilise les données sauvegardées après le redémarrage de l'indicateur (ces données peuvent également être utilisées par les autres programmes)
MetaTrader 4 a gagné en popularité auprès des traders du monde entier, et il semblait que rien de plus ne pouvait être souhaité. Avec sa vitesse de traitement élevée, sa stabilité, son large éventail de possibilités d'écriture d'indicateurs, d'Expert Advisors et de systèmes de trading informatifs, et la possibilité de choisir parmi plus d'une centaine de courtiers différents, le terminal s'est grandement distingué des autres. Mais le temps ne s'arrête pas et nous nous trouvons face à un choix de MetaTrade 4 ou MetaTrade 5. Dans cet article, nous décrirons les principales différences du terminal de 5ème génération par rapport à notre actuel favori.
La programmation des Expert Advisors dans MQL5 est simple et vous pouvez l'apprendre facilement. Dans ce guide étape par étape, vous verrez les étapes de base nécessaires à la rédaction d'un simple Expert Advisor basé sur une stratégie de trading développée. La structure d'un Expert Advisor, l'utilisation d'indicateurs techniques et de fonctions de trading intégrés, les détails du mode Debug et l'utilisation du Testeur de stratégie sont ici présentés.
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.
Le développement de stratégies de trading se concentre principalement sur la recherche de modèles d’entrée et de sortie du marché, ainsi que sur le maintien des positions. Si nous sommes en mesure de formaliser certains modèles dans des règles de trading automatisé, alors le trader est confronté à la question de calculer le volume des positions, la taille des marges, ainsi que de maintenir un niveau sûr de fonds hypothécaires pour assurer des positions ouvertes en mode automatisé. Dans cet article, nous utiliserons le langage MQL5 pour construire des exemples simples de réalisation de ces calculs.
Dans MQL5, vous pouvez écrire un indicateur à la fois à partir de zéro et à partir d'un autre indicateur déjà existant, intégré au terminal client ou personnalisé. Et ici, vous avez également deux manières - d'améliorer un indicateur en lui ajoutant de nouveaux calculs et styles graphiques, ou d'utiliser un indicateur intégré au terminal client ou un indicateur personnalisé via les fonctions iCustom() ou IndicatorCreate().
Ceci n'est qu'un bref aperçu de MetaTrader 5. Je ne peux pas décrire toutes les nouvelles fonctionnalités du système sur une période aussi courte - les tests ont commencé le 09.09.2009. C'est une date symbolique, et je suis sûr que ce sera un chiffre porte-bonheur. Quelques jours se sont écoulés depuis que j'ai obtenu la version bêta du terminal MetaTrader 5 et MQL5. Je n'ai pas réussi à essayer toutes ses fonctionnalités, mais je suis déjà impressionné.
Je ne vais pas énumérer toutes les nouvelles possibilités et fonctionnalités du nouveau terminal et du nouveau langage. Elles sont nombreuses, et certaines nouveautés méritent d'être discutées dans un article séparé. De plus, il n'y a aucun code d’écrit avec une programmation orientée objet, c'est un sujet trop sérieux pour être simplement mentionné dans un contexte comme des avantages supplémentaires pour les développeurs. Dans cet article, nous examinerons les indicateurs, leur structure, leur dessin, leurs types et leurs détails de programmation, par rapport à MQL4. J'espère que cet article sera utile aussi bien aux débutants qu'aux développeurs expérimentés, peut-être que certains d'entre eux trouveront quelques éléments d’apprentissage.
Le site MQL5.com rassemble des traders du monde entier. Les utilisateurs publient des articles, partagent des codes gratuits, vendent des produits sur le Market, effectuent des commandes auprès des Freelance et copient des signaux de trading. Vous pouvez communiquer avec eux sur le Forum, dans les chats des traders et dans les canaux MetaTrader.
L'article présente les indicateurs, décrits dans le livre de William Blau "Dynamique, Direction, and Divergence". L'approche de William Blau nous permet d'estimer rapidement et avec précision les fluctuations de la courbe des prix, de déterminer la tendance des mouvements de prix et des tournants, et d'éliminer le bruit des prix. Pendant ce temps, nous sommes également en mesure de détecter les états de surachat/survente du marché et des signaux indiquant la fin d'une tendance et l'inversion du mouvement des prix.
Cet article est destiné à familiariser ses lecteurs avec une variante possible d'utilisation des objets graphiques du langage MQL5. Il analyse un indicateur, qui met implémente un panel de gestion d'un analyseur de spectre simple utilisant les objets graphiques. L'article est destiné aux lecteurs familiarisés avec les bases de MQL5.
Cet article concerne les algorithmes traditionnels et inhabituels de calcul de moyenne regroupés dans les classes les plus simples et à type unique. Ils sont destinés à une utilisation universelle dans presque toutes les élaborations d'indicateurs. J'espère que les classes proposées seront une bonne alternative aux appels « encombrants » d'indicateurs personnalisés et techniques.
Le nouveau terminal client MetaTrader 5 et le langage MQL5 offrent de nouvelles opportunités pour présenter des informations visuelles au trader. Dans cet article, nous proposons un ensemble de classes universel et extensible, qui gère tout le travail d'organisation de l'affichage des informations textuelles arbitraires sur le graphique. L'exemple de l'indicateur Veille du Marché est présenté.
L’article est consacré à l’application pratique du concept de logique floue pour l’analyse des marchés financiers. Nous proposons l’exemple de l’indicateur générant des signaux basés sur deux règles floues fondées sur l’indicateur Enveloppes. L’indicateur développé utilise plusieurs tampons d’indicateurs: 7 tampons pour les calculs, 5 tampons pour l’affichage des graphiques et 2 tampons de couleur.
Souhaitez-vous tester une stratégie de trading sans perdre de temps en programmation ? Dans l'assistant MQL5, vous pouvez simplement sélectionner le type de signaux de trading, ajouter des modules de positions de suivi et de gestion de l'argent - et votre travail est terminé ! Créez vos propres implémentations de modules ou commandez-les via le service Jobs - et combinez vos nouveaux modules avec ceux existants.
L'article étale un exemple de comment élaborer un programme MQL5 mettant en implémentant l'algorithme adaptatif de groupement appelé Growing neural gas (GNG). L'article est destiné aux utilisateurs qui ont étudié la documentation du langage et qui ont certaines compétences en programmation et des connaissances de base dans le domaine de la neuro-informatique.
Le langage de programmation MQL5 est en mesure de résoudre des problèmes à un tout nouveau niveau. Même ces tâches, qui offrent déjà de telles solutions, grâce à la programmation orientée objet peuvent atteindre un niveau supérieur. Dans cet article, nous prenons un exemple particulièrement simple de vérification d'une nouvelle barre sur un graphique, qui a été transformé en un outil plutôt puissant et polyvalent. Quel outil ? Découvrez-le dans cet article.
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
Afin d’élaborer un expert pour participer au Championnat de Trading Automatisé 2010, utilisons un modèle de conseiller expert prêt. Même le programmeur novice MQL5 sera en mesure d’assurer cette tâche, car pour vos stratégies les classes de base, les fonctions, les modèles sont déjà élaborés. Il suffit d'écrire un minimum de code pour implémenter votre idée de trading.
Trouver des règles pour un système de trade et les programmer dans un Expert Advisor est la moitié du travail. D'une certaine manière, vous devez corriger le fonctionnement de l'Expert Advisor au fur et à mesure qu'il accumule les résultats du trading. Cet article décrit l'une des approches qui permet d'améliorer les performances d'un Expert Advisor à travers un feedback qui mesure la pente de la courbe d'équilibre.
Cet article explique comment utiliser les principales fonctionnalités de la bibliothèque standard MQL5 de classes de trade dans la rédaction des conseillers experts qui implémente la fermeture de la position et la modification , la passation et la suppression de commande en attente et la vérification de la marge avant de passer un trade.. Nous avons également démontré comment les classes de trade peuvent être utilisés pour obtenir les détails des commandes et des deals.
Cet article décrit l’utilisation de la fonction TesterWithDrawal() pour estimer les risques dans les systèmes de trade qui impliquent le retrait d’une certaine partie des actifs pendant leur fonctionnement. En outre, il décrit l’effet de cette fonction sur l’algorithme de calcul du prélèvement d’actions dans le testeur de stratégie. Cette fonction est utile lors de l’optimisation des paramètres de vos Expert Advisors.
Le problème du calcul du volume total de position du symbole indiqué et du nombre magique est examiné dans cet article. La méthode suggérée ne demande que la partie minimale nécessaire de l'historique des deals, trouve le moment le plus proche où la position totale était égale à zéro et effectue les calculs avec les récents deals. Le travail avec des variables globales du terminal client est également envisagé.
Cet article est axé sur l'approche orientée-objet pour faire ce que nous avons fait dans l'article « Guide étape par étape pour écrire un Expert Advisor en MQL5 pour les débutants » : créer un Expert Advisor simple. La plupart des gens pensent que c'est difficile, mais je tiens à vous rassurer qu'au moment où vous aurez fini de lire cet article, vous serez en mesure d'écrire votre propre Expert Advisor qui est orienté-objet.
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.
La création de différents types de diagrammes est une partie essentielle des analyses de l’état du marché et du test d'un système de trading. Fréquemment, afin de créer un beau diagramme, il est nécessaire d'organiser les données de sortie dans un fichier, après quoi elles sont utilisées dans des applications telles que MS Excel. Ce n'est pas très pratique et nous prive de la possibilité de mettre à jour dynamiquement les données. L'API Google Charts a fourni les moyens de créer des graphiques en mode en ligne, en envoyant une requête spéciale au serveur. Dans cet article, nous tentons d'automatiser le processus de création d'une telle demande et d'obtention d'un graphique du serveur Google.
Cet article examine les questions du codage de l’information, en utilisant l’identification magique, ainsi que la division, l’assemblage et la synchronisation du trading automatique des différents Expert Advisors. Cet article sera intéressant pour les débutants, ainsi que pour les traders les plus expérimentés, car il traite la question des positions virtuelles, ce qui peut être utile dans l’implémentation des systèmes complexes de synchronisation d’Expert Advisors et de diverses stratégies.
Les appels aux utilisateurs et les indicateurs techniques occupent très peu de place dans le code de programme des systèmes de trading automatisés. Souvent, il s’agit simplement de quelques lignes de code. Mais il arrive souvent ces quelques lignes de code utilisant plus de temps, qui doivent être consacrées au test de l’Expert Advisor. Par conséquent, tout ce qui est lié aux calculs de données dans un indicateur doit être considéré de manière beaucoup plus approfondie qu’il n’y paraît à première vue. Cet article en parlera précisément
Un certain nombre d'indicateurs sont apparus depuis la création du premier indicateur de Moyenne Mobile. Beaucoup d'entre eux utilisent des méthodes de lissage similaires, mais la performance de différents algorithmes de Moyennes Mobiles n'ont pas été étudiées. Dans cet article, nous examinerons les différentes manières d'utiliser les Moyennes Mobiles dans MQL5 et comparerons leurs performance.
La réalisation d'un graphique en chandeliers japonais et l'analyse des modèles de chandeliers constituent un domaine passionnant d'analyse technique. L'avantage des chandeliers est qu'ils représentent les données de sorte que vous puissiez suivre la dynamique à l'intérieur des données. Dans cet article, nous analysons les types de chandeliers, la classification des modèles de chandeliers et présentons un indicateur pouvant déterminer les modèles de chandeliers.
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.
Dans cet article, nous examinons la question de l'utilisation d'un indicateur Heiken-Ashi dans le trading. Sur la base de cet indicateur, un système de trading simple est considéré et un conseiller expert MQL5 est écrit. Les opérations de trading sont implémentées sur les bases de classes de la bibliothèque de classes Standard. Les résultats des tests de la stratégie de trading examinée, sont basés sur l'historique et obtenus à l'aide du testeur de stratégie MetaTrader 5 intégré, sont fournis dans l'article.
Cette bibliothèque de classes peut être ajoutée à un Expert Advisor MetaTrader 5 pour lui permettre d'être écrite avec une approche axée sur les commandes largement comparable à MetaTrader 4, par rapport à l'approche axée sur la position de MetaTrader 5. Il le fait en gardant une trace des commandes virtuelles sur le terminal client MetaTrader 5, tout en maintenant un arrêt de protection du courtier pour chaque position pour la protection contre les catastrophes.
Il y a eu récemment un intérêt grandissant pour les analyses de bloc du marché FOREX. MQL5 ouvre de nouveaux horizons de recherche des tendances du mouvement des paires de devises. Une caractéristique clé de MQL5, qui le distingue de MQL4, est la possibilité d'utiliser un nombre illimité de tampons d'indicateurs. Cet article décrit un exemple de création d'un indicateur multi-devises.
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.