Articles avec des exemples de programmation MQL5

icon

Accédez à une vaste collection d'articles avec des exemples de code montrant comment créer des indicateurs et des robots de trading pour la plateforme MetaTrader dans le langage MQL5. Les codes sources sont joints aux articles, vous pouvez donc les ouvrir dans MetaEditor et les exécuter pour voir comment les applications fonctionnent.

Ces articles seront utiles aussi bien à ceux qui viennent de commencer à explorer le trading automatisé qu'aux traders professionnels ayant une expérience de la programmation. Ils contiennent non seulement des exemples, mais aussi de nouvelles idées.

Ajouter un nouvel article
dernier | meilleur
preview
Développer un Expert Advisor de trading à partir de zéro (Partie 28) : Vers l'avenir (III)

Développer un Expert Advisor de trading à partir de zéro (Partie 28) : Vers l'avenir (III)

Il reste une tâche pour laquelle notre système d’ordres n'est pas à la hauteur, mais nous allons ENFIN la résoudre. MetaTrader 5 fournit un système de tickets qui permet de créer et de corriger les valeurs des ordres. L'idée est d'avoir un Expert Advisor qui rendrait le même système de tickets plus rapide et plus efficace.
preview
Développer un Expert Advisor de trading à partir de zéro (Partie 27) : Vers le futur (II)

Développer un Expert Advisor de trading à partir de zéro (Partie 27) : Vers le futur (II)

Passons à un système d’ordres plus complet directement sur le graphique. Dans cet article, je vais montrer un moyen de corriger le système d’ordres, ou plutôt de le rendre plus intuitif.
preview
Développer un Expert Advisor de trading à partir de zéro (Partie 26) : En route vers le futur (1)

Développer un Expert Advisor de trading à partir de zéro (Partie 26) : En route vers le futur (1)

Aujourd'hui, nous allons faire passer notre système d’ordres au niveau supérieur. Mais avant cela, nous devons résoudre quelques problèmes. Nous nous posons maintenant quelques questions liées à la manière dont nous voulons travailler et aux choses que nous faisons pendant notre journée de trading.
preview
Algorithmes d'optimisation de la population : Optimisation de la Lutte contre les Mauvaises Herbes Invasives (Invasive Weed Optimization, IWO)

Algorithmes d'optimisation de la population : Optimisation de la Lutte contre les Mauvaises Herbes Invasives (Invasive Weed Optimization, IWO)

L'étonnante capacité des mauvaises herbes à survivre dans une grande variété de conditions est devenue l'idée d'un puissant algorithme d'optimisation. L'IWO est l'un des meilleurs algorithmes parmi ceux qui ont été examinés précédemment.
preview
Développer un Expert Advisor de trading à partir de zéro (Partie 25) : Assurer la robustesse du système (II)

Développer un Expert Advisor de trading à partir de zéro (Partie 25) : Assurer la robustesse du système (II)

Dans cet article, nous franchirons la dernière étape pour améliorer les performances de l’EA. Alors préparez-vous à une longue lecture. Pour fiabiliser notre Expert Advisor, nous allons d'abord supprimer du code tout ce qui ne fait pas partie du système de trading.
preview
Évaluation des modèles ONNX à l'aide de mesures de régression

Évaluation des modèles ONNX à l'aide de mesures de régression

La régression consiste à prédire une valeur réelle à partir d'un exemple non étiqueté. Les mesures dites de régression sont utilisées pour évaluer la précision des prédictions des modèles de régression.
preview
Envelopper les modèles ONNX dans des classes

Envelopper les modèles ONNX dans des classes

La programmation orientée objet permet de créer un code plus compact, facile à lire et à modifier. Nous examinerons ici l'exemple de 3 modèles ONNX.
preview
Matrices et vecteurs en MQL5 : Fonctions d'activation

Matrices et vecteurs en MQL5 : Fonctions d'activation

Nous ne décrirons ici qu'un seul des aspects de l'apprentissage automatique, à savoir les fonctions d'activation. Dans les réseaux neuronaux artificiels, la fonction d'activation d'un neurone calcule la valeur d'un signal de sortie en fonction des valeurs d'un signal d'entrée ou d'un ensemble de signaux d'entrée. Nous nous pencherons sur les rouages du processus.
preview
Algorithmes d'optimisation de la population : Algorithme de la Chauve-Souris (BA)

Algorithmes d'optimisation de la population : Algorithme de la Chauve-Souris (BA)

Dans cet article, j'examinerai l'algorithme de la Chauve-Souris, ou Bat (BA), qui présente une bonne convergence pour les fonctions lisses.
preview
Algorithmes d'optimisation de la population : Algorithme des Lucioles (Firefly Algorithm - FA)

Algorithmes d'optimisation de la population : Algorithme des Lucioles (Firefly Algorithm - FA)

Dans cet article, je considérerai la méthode d'optimisation de l'Algorithme Firefly (FA). Grâce à la modification, l'algorithme est passé d'un outsider à un véritable leader du classement.
preview
Algorithmes d'optimisation de la population : Recherche en Banc de Poisson - Fish School Search (FSS)

Algorithmes d'optimisation de la population : Recherche en Banc de Poisson - Fish School Search (FSS)

Le Fish School Search (FSS) est un nouvel algorithme d'optimisation inspiré du comportement des poissons dans un banc, dont la plupart (jusqu'à 80%) nagent au sein d'une communauté organisée de parents. Il a été prouvé que les agrégations de poissons jouent un rôle important dans l'efficacité de la recherche de nourriture et dans la protection contre les prédateurs.
preview
Algorithmes d'optimisation de la population : Algorithme d'Optimisation du Coucou - Cuckoo Optimization Algorithm (COA)

Algorithmes d'optimisation de la population : Algorithme d'Optimisation du Coucou - Cuckoo Optimization Algorithm (COA)

Le nouvel algorithme que je considérerai est l'optimisation de la recherche de coucou à l'aide des vols de Levy. C'est l'un des derniers algorithmes d'optimisation et un nouveau leader dans le classement.
preview
Algorithmes d'optimisation de la population : Algorithme d'Optimisation du Loup Gris - Grey Wolf Optimizer (GWO)

Algorithmes d'optimisation de la population : Algorithme d'Optimisation du Loup Gris - Grey Wolf Optimizer (GWO)

Considérons l'un des algorithmes d'optimisation modernes les plus récents : le Grey Wolf Optimization. Le comportement original sur les fonctions de test fait de cet algorithme l'un des plus intéressants parmi ceux considérés précédemment. C'est l'un des meilleurs algorithmes à utiliser dans la formation de réseaux de neurones, des fonctions fluides avec de nombreuses variables.
preview
Algorithmes d'optimisation de la population : Colonie d'Abeilles Artificielles (ABC)

Algorithmes d'optimisation de la population : Colonie d'Abeilles Artificielles (ABC)

Dans cet article, nous étudierons l'algorithme d'une colonie d'abeilles artificielles. Nous compléterons nos connaissances avec de nouveaux principes d'étude des espaces fonctionnels. Dans cet article, je présenterai mon interprétation de la version classique de l'algorithme.
preview
Algorithmes d'optimisation de la population : Optimisation des Colonies de Fourmis (Ant Colony Optimization - ACO)

Algorithmes d'optimisation de la population : Optimisation des Colonies de Fourmis (Ant Colony Optimization - ACO)

Cette fois, je vais analyser l'algorithme d'Optimisation des Colonies de Fourmis. L'algorithme est très intéressant et complexe. Dans cet article, je tente de créer un nouveau type d'ACO.
Algorithmes d'optimisation de la population
Algorithmes d'optimisation de la population

Algorithmes d'optimisation de la population

Cet article est une introduction à la classification des algorithmes d'optimisation (Optimization Algorithm - OA). L'article tente de créer un banc d'essai (un ensemble de fonctions), pouvant être utilisé pour comparer les OA et, peut-être, identifier l'algorithme le plus universel parmi tous ceux qui sont largement connus.
preview
Algorithmes d'optimisation de la population : Essaim de Particules (OEP ou PSO en anglais)

Algorithmes d'optimisation de la population : Essaim de Particules (OEP ou PSO en anglais)

Dans cet article, j'examinerai l'algorithme populaire d'Optimisation par Essaims Particulaires (OEP ou Particle Swarm Optimization - PSO). Précédemment, nous avons abordé les caractéristiques importantes des algorithmes d'optimisation telles que la convergence, le taux de convergence, la stabilité et l'évolutivité, et nous avons développé un banc d'essai et examiné l'algorithme RNG le plus simple.
preview
Développer un Expert Advisor de trading à partir de zéro (Partie 17) : Accès aux données sur le web (3)

Développer un Expert Advisor de trading à partir de zéro (Partie 17) : Accès aux données sur le web (3)

Dans cet article, nous poursuivons notre étude sur la manière d'obtenir des données à partir du web et de les utiliser dans un Expert Advisor. Cette fois-ci, nous allons élaborer un système alternatif.
preview
Indicateur CCI Mise à jour et nouvelles fonctionnalités

Indicateur CCI Mise à jour et nouvelles fonctionnalités

Dans cet article, nous allons examiner la possibilité d’améliorer l'indicateur CCI. Je vous présenterai également une modification de cet indicateur.
preview
Opérations sur les Matrices et les Vecteurs en MQL5

Opérations sur les Matrices et les Vecteurs en MQL5

Les matrices et les vecteurs ont été introduits en MQL5 pour améliorer les opérations mathématiques. De nouvelles méthodes sont intégrées avec ces nouveaux types pour créer un code concis et compréhensible, proche de la notation mathématique. Les tableaux offrent des possibilités étendues, mais il existe de nombreux cas dans lesquels les matrices sont beaucoup plus efficaces.
preview
Visualisez le ! Bibliothèque graphique MQL5 similaire à 'plot' du langage R

Visualisez le ! Bibliothèque graphique MQL5 similaire à 'plot' du langage R

Lors de l'étude de la logique de trading, la représentation visuelle sous forme de graphiques est d’une grande importance. Un certain nombre de langages de programmation populaires dans la communauté scientifique (tels que R et Python) contiennent une fonction spéciale "plot" utilisée pour la visualisation. Elle permet de dessiner des lignes, des distributions de points et des histogrammes pour visualiser les modèles. En MQL5, vous pouvez faire de même en utilisant la classe CGraphics.
preview
Développer un Expert Advisor à partir de zéro (partie 8) : Un saut conceptuel

Développer un Expert Advisor à partir de zéro (partie 8) : Un saut conceptuel

Quel est le moyen le plus facile d'implémenter de nouvelles fonctionnalités ? Dans cet article, nous allons faire un pas en arrière, puis deux pas en avant.
preview
Science des Données et Apprentissage Automatique (partie 03) : Matrices de Régression

Science des Données et Apprentissage Automatique (partie 03) : Matrices de Régression

Cette fois-ci, nos modèles sont faits avec des matrices. Ceci permet une certaine flexibilité tout en nous permettant de faire des modèles puissants pouvant gérer non seulement cinq variables indépendantes mais aussi de nombreuses variables (tant que nous restons dans les limites de calcul d'un ordinateur). Cet article va être une lecture intéressante, c'est certain.
preview
Ce qu’il est possible de faire avec les Moyennes Mobiles

Ce qu’il est possible de faire avec les Moyennes Mobiles

L'article propose plusieurs méthodes d'application des moyennes mobiles. Chaque méthode impliquant une analyse des courbes est accompagnée d'indicateurs permettant de la visualiser. Dans la plupart des cas, les idées présentées dans cet article appartiennent à leurs auteurs respectifs. Ma seule tâche a été de les rassembler pour vous permettre de voir les principales approches et, espérons-le, de prendre des décisions de trading plus raisonnables. Niveau de compétence en MQL5 : débutant
preview
Plusieurs indicateurs sur un seul graphique (Partie 03) : Développer des définitions pour les utilisateurs

Plusieurs indicateurs sur un seul graphique (Partie 03) : Développer des définitions pour les utilisateurs

Aujourd'hui, nous allons mettre à jour les fonctionnalités du système d'indicateurs pour la première fois. Dans l'article précédent "Plusieurs indicateurs sur un graphique", nous avons considéré le code de base qui permet d'utiliser plus d'un indicateur dans une sous-fenêtre de graphique. Mais ce qui a été présenté n'était que le point de départ d'un système beaucoup plus vaste.
preview
Plusieurs indicateurs sur un même graphique (partie 02) : Premières expériences

Plusieurs indicateurs sur un même graphique (partie 02) : Premières expériences

Dans l'article précédent "Plusieurs indicateurs sur un même graphique", j'ai présenté le concept et les bases de l'utilisation de plusieurs indicateurs sur un même graphique. Dans cet article, je vais vous fournir le code source et l'expliquer plus en détail.
preview
Plusieurs indicateurs sur un seul graphique (Partie 01) : Comprendre les notions

Plusieurs indicateurs sur un seul graphique (Partie 01) : Comprendre les notions

Aujourd'hui, nous allons apprendre à ajouter plusieurs indicateurs fonctionnant simultanément sur un graphique, mais sans occuper une zone distincte sur celui-ci. De nombreux traders se sentent plus confiants s'ils surveillent plusieurs indicateurs à la fois (par exemple, RSI, STOCASTIC, MACD, ADX et quelques autres), ou dans certains cas même sur différents actifs dont un indice est composé.
preview
PriceAction Stoploss fixe ou RSI fixe (Smart StopLoss)

PriceAction Stoploss fixe ou RSI fixe (Smart StopLoss)

Le stop-loss est un outil majeur en matière de gestion de l'argent dans le trading. L'utilisation efficace du stop-loss, du take profit et de la taille du lot peut rendre un trader plus cohérent dans le trading et globalement plus rentable. Bien que le stop-loss soit un excellent outil, certains défis sont rencontrés lors de son utilisation. Le principal étant la chasse au stop-loss. Cet article examine comment réduire la chasse au stop-loss dans le trading et compare avec l'utilisation classique du stop-loss pour déterminer sa rentabilité.
preview
Programmation d'un Réseau de Neurones Profond à partir de zéro à l'aide du langage MQL

Programmation d'un Réseau de Neurones Profond à partir de zéro à l'aide du langage MQL

Cet article vise à apprendre au lecteur comment créer un Réseau de Neurones Profond à partir de zéro en utilisant le langage MQL4/5.
Better Programmer (Part 07): Notes pour devenir un développeur indépendant prospère
Better Programmer (Part 07): Notes pour devenir un développeur indépendant prospère

Better Programmer (Part 07): Notes pour devenir un développeur indépendant prospère

Souhaitez-vous devenir un développeur indépendant prospère sur MQL5 ? Si la réponse est oui, cet article est fait pour vous.
Better Programmer (Part 06) : 9 habitudes qui mènent à un codage efficace
Better Programmer (Part 06) : 9 habitudes qui mènent à un codage efficace

Better Programmer (Part 06) : 9 habitudes qui mènent à un codage efficace

Il ne s'agit pas toujours d'écrire le code qui mène à un codage efficace. Il existe certaines habitudes qui, par expérience, conduisent à un codage efficace. Nous allons discuter de certaines d'entre elles en détail dans cet article. Il s'agit d'un article incontournable pour tous les programmeurs qui souhaitent améliorer leur capacité à écrire des algorithmes complexes avec moins de tracas.
Better programmer (Partie 05) : Comment devenir un développeur plus rapide
Better programmer (Partie 05) : Comment devenir un développeur plus rapide

Better programmer (Partie 05) : Comment devenir un développeur plus rapide

Chaque développeur veut pouvoir écrire du code plus rapidement, et être capable de coder plus rapidement et efficacement n'est pas une sorte de capacité spéciale avec laquelle seules quelques personnes sont nées. C'est une compétence qui s'apprend, c'est ce que j'essaie d'enseigner dans cet article.
Better Programmer (Partie 04): Comment devenir un développeur plus rapide
Better Programmer (Partie 04): Comment devenir un développeur plus rapide

Better Programmer (Partie 04): Comment devenir un développeur plus rapide

Chaque développeur veut pouvoir écrire du code plus rapidement, et être capable de coder plus rapidement et efficacement n'est pas une sorte de capacité spéciale avec laquelle seules quelques personnes sont nées. C'est une compétence qui peut être apprise par chaque codeur, indépendamment des années d'expérience sur le clavier.
Better Programmer (Partie 03): Abandonnez ces 5 choses pour devenir un programmeur MQL5 performant
Better Programmer (Partie 03): Abandonnez ces 5 choses pour devenir un programmeur MQL5 performant

Better Programmer (Partie 03): Abandonnez ces 5 choses pour devenir un programmeur MQL5 performant

Ceci est l'article incontournable pour quiconque souhaite améliorer sa carrière en programmation. Cette série d'articles vise à faire de vous le meilleur programmeur possible, quelle que soit votre expérience. Les idées discutées fonctionnent aussi bien pour les débutants en programmation MQL5 que pour les professionnels.
Better Programmer (Partie 01): Vous devez arrêter de faire ces 5 choses pour devenir un programmeur MQL5 performant
Better Programmer (Partie 01): Vous devez arrêter de faire ces 5 choses pour devenir un programmeur MQL5 performant

Better Programmer (Partie 01): Vous devez arrêter de faire ces 5 choses pour devenir un programmeur MQL5 performant

Il y a beaucoup de mauvaises habitudes que prennent les débutants et même les programmeurs avancés qui les empêchent de devenir le meilleur possible dans leur carrière de codage. Nous allons en discuter et les aborder dans cet article. Cet article est une lecture incontournable pour tous ceux qui souhaitent devenir un développeur à succès dans MQL5.
Le MQL5 Cookbook : Ordres ОСО
Le MQL5 Cookbook : Ordres ОСО

Le MQL5 Cookbook : Ordres ОСО

L’activité de trading de tout trader implique divers mécanismes et interrelations, y compris les relations entre les ordres. Cet article suggère une solution de traitement des ordres OCO. Les classes de bibliothèque standard sont largement impliquées, et de nouveaux types de données sont créés ici.
Étudier la classe CCanvas. Comment dessiner des objets transparents
Étudier la classe CCanvas. Comment dessiner des objets transparents

Étudier la classe CCanvas. Comment dessiner des objets transparents

Avez-vous besoin de plus que des graphiques maladroits de moyennes mobiles ? Voulez-vous dessiner quelque chose de plus beau qu'un simple rectangle rempli dans votre terminal ? Des graphiques attrayants peuvent être dessinés dans le terminal. Cela peut être implémenté via la classe CСanvas, qui est utilisée pour créer des graphiques personnalisés. Avec cette classe, vous pouvez implémenter la transparence, mélanger les couleurs et produire l'illusion de la transparence au moyen de superpositions et de mélanges de couleurs.
Le MQL5 Cookbook : Implémentation d'un tableau associatif ou d'un dictionnaire pour un accès rapide aux données
Le MQL5 Cookbook : Implémentation d'un tableau associatif ou d'un dictionnaire pour un accès rapide aux données

Le MQL5 Cookbook : Implémentation d'un tableau associatif ou d'un dictionnaire pour un accès rapide aux données

Cet article décrit un algorithme spécial permettant d'accéder aux éléments par leurs clés uniques. Tout type de données de base peut être utilisé comme clé. Par exemple, elles peuvent être représentées sous la forme d'une chaîne ou d'une variable entière. Un tel conteneur de données est communément appelé dictionnaire ou tableau associatif. Il fournit un moyen plus facile et plus efficace de résoudre les problèmes.
Programmation des modes d'EA à l'aide d'une approche orientée objet
Programmation des modes d'EA à l'aide d'une approche orientée objet

Programmation des modes d'EA à l'aide d'une approche orientée objet

Cet article explique l'idée de la programmation d'un robot de trading multimode dans MQL5. Chaque mode est implémenté avec l'approche orientée objet. Des instances de la hiérarchie des classes de mode et des classes à tester sont fournies. La programmation multimode des robots de trading est censée prendre en compte toutes les particularités de chaque mode opérationnel d'un EA écrit en MQL5. Des fonctions et des énumérations sont créées pour identifier le mode.
Les bases de la programmation MQL5 : Variables globales du terminal
Les bases de la programmation MQL5 : Variables globales du terminal

Les bases de la programmation MQL5 : Variables globales du terminal

Cet article met en évidence les capacités orientées objet du langage MQL5 pour créer des objets facilitant le travail avec les variables globales du terminal. Comme exemple pratique, je considère un cas où des variables globales sont utilisées comme points de contrôle pour la mise en œuvre des étapes du programme.