
Le MQL5 Cookbook : Développement d'un indicateur multi-symboles pour analyser la divergence des prix
Dans cet article, nous examinerons le développement d'un indicateur multi-symboles pour analyser la divergence des prix dans une période de temps spécifiée. Les sujets de base ont déjà été abordés dans l'article précédent sur la programmation d'indicateurs multi-devises «livre de recettes MQL5k: Développement d'un indicateur de volatilité multi-symboles dans MQL5». Cette fois, nous nous attarderons donc uniquement sur les nouvelles fonctionnalités et fonctions qui ont été radicalement modifiées. Si vous débutez dans la programmation d'indicateurs multi-devises, je vous recommande de lire dans un premier temps l'article précédent.

Le MQL5 Cookbook : Surveillance de plusieurs trames temporelles dans une seule fenêtre
Il y a 21 trames temporelles disponibles dans MetaTrader 5 destinées à l'analyse. Vous pouvez tirer parti d'objets graphiques spéciaux que vous pouvez placer sur le graphique existant et définir le symbole, la trame temporelle et d'autres propriétés à cet endroit. Cet article fournira des informations détaillées sur de tels objets graphiques de graphique : nous allons créer un indicateur avec des commandes (boutons) qui nous permettront de définir plusieurs objets de graphique dans une sous-fenêtre en même temps. De plus, les objets du graphique s'adapteront avec précision dans la sous-fenêtre et seront automatiquement ajustés lorsque le graphique principal ou la fenêtre du terminal est redimensionné.

Un Exemple de Stratégie de Trading Axée sur les Différences de Fuseau Horaire sur Différents Continents
En surfant sur Internet, il est facile de trouver de nombreuses stratégies, qui vous donneront un certain nombre de recommandations diverses. Adoptons une approche d'initié et examinons le processus de création d'une stratégie, axée sur les différences de fuseaux horaires sur les différents continents.

MQL5 Cookbook : Comment éviter les erreurs lors de la définition/modification des niveaux de trade
Dans la continuité de notre travail sur l'Expert Advisor de l'article précédent de la série intitulée "MQL5 Cookbook : Analyse des propriétés des positions dans le testeur de stratégie MetaTrader 5", nous l'améliorerons avec de nombreuses fonctions utiles, ainsi que d'améliorer et d'optimiser celles existantes. L'Expert Advisor aura cette fois des paramètres externes qui peuvent être optimisés dans le testeur de stratégie MetaTrader 5 et ressemblera à certains égards à un simple système de trading.

MQL5 Cookbook : Utilisation de différents modes d'impression
Ceci est le premier article de la série MQL5 Cookbook. Je commencerai par des exemples simples pour permettre à ceux qui font leurs premiers pas en programmation de se familiariser petit à petit avec le nouveau langage. Je me souviens de mes premiers efforts pour concevoir et programmer des systèmes de trading qui, je peux le dire, étaient assez difficiles, étant donné que c'était le premier langage de programmation de ma vie. Cependant, cela s'est avéré plus facile que je ne le pensais et il ne m'a fallu que quelques mois avant de pouvoir développer un programme assez complexe.

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.

Le prototype du robot de trading
Cet article résume et systématise les principes de création d'algorithmes et d'éléments de systèmes de trading. L'article considère la conception d'algorithmes experts. À titre d'exemple, la classe CExpertAdvisor est considérée, qui peut être utilisée pour le développement rapide et facile de systèmes de trading.

Interaction MetaTrader 5 et MATLAB
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.

Comment Échanger des Données : Une DLL pour MQL5 en 10 minutes
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.

Le MQL5 Cookbook : Commande de la sous-fenêtre d’indicateur - Barre de défilement
Continuons à explorer les différentes commandes et cette fois, tournons notre attention vers la barre de défilement. Tout comme dans l'article précédent intitulé "MQL5 Cookbook : Commande de la sous-fenêtre d’indicateur - Boutons", toutes les opérations seront effectuées dans la sous-fenêtre d'indicateur. Prenez un moment pour lire l'article mentionné ci-dessus car il fournit une description détaillée de l'utilisation des événements dans la fonction OnChartEvent(), alors que ce point ne sera abordé qu'avec désinvolture dans cet article. À des fins d'illustration, cette fois-ci, nous allons créer une barre de défilement verticale pour une grande liste de toutes les propriétés d'instruments financiers qui peuvent être obtenues à l'aide des ressources MQL5.

Échange de Données entre les Indicateurs : C'est facile
Nous souhaitons créer un tel environnement, qui donnerait accès aux données d'indicateurs attachés à un graphique, et aurait les propriétés suivantes : absence de copie de données ; modification minimale du code des méthodes disponibles, si nous devons les utiliser ; Le code MQL est préférable (bien sûr, nous devons utiliser des DLL, mais nous n'utiliserons qu'une douzaine de chaînes de code C++). L'article décrit une méthode simple pour élaborer un environnement de programme pour le terminal MetaTrader, qui fournirait des moyens d'accès aux tampons d'indicateurs d'autres programmes MQL.

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.

Création d'un indicateur avec plusieurs tampons d'indicateurs pour les débutants
Les codes complexes sont constitués d’un ensemble de codes simples. Si vous les connaissez, cela n’a pas l’air si compliqué. Dans cet article, nous allons examiner comment créer un indicateur avec plusieurs tampons d’indicateurs. À titre d’exemple, l’indicateur Aroon est analysé en détail et deux versions différentes du code sont présentées.

Tester la performance du Calcul des Moyennes Mobiles dans MQL5
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.

Une bibliothèque pour créer un graphique via l'API Google Chart
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.

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.

MQL5 Cookbook : Écriture de l'historique des transactions dans un fichier et création des graphiques d’équilibre pour chaque symbole dans Excel
Lorsque je communiquais dans divers forums, j'utilisais souvent des exemples de mes résultats de test affichés sous forme de captures d'écran de graphiques Microsoft Excel. On m'a souvent demandé d'expliquer comment de tels graphiques peuvent être créés. Enfin, j'ai maintenant un peu de temps pour tout expliquer dans cet article.
Modèles prêts à l'emploi pour inclure des indicateurs dans les Expert Advisors (Partie 2) : Volume et indicateurs de Bill Williams
Dans cet article, nous examinerons les indicateurs standard de la catégorie des indicateurs de Volume et de Bill Williams. Nous créerons des modèles prêts à l'emploi pour l'utilisation d'indicateurs dans les EA : déclaration et définition des paramètres, initialisation et dé-initialisation de l'indicateur, ainsi que la récupération des résultats des signaux à partir des buffers des indicateurs dans les EA.

Création d’un Expert Advisor, qui trade sur un certain nombre d’instruments
Le concept de diversification des actifs sur les marchés financiers est vieux et a toujours attiré les traders débutants. Dans cet article, l’auteur propose une approche extrêmement simple d’une élaboration d’un Expert Advisor multi-devises, pour une première introduction à cette direction des stratégies de trading.

Faites la Promotion de vos Projets de Développement à l'Aide des Bibliothèques EX5
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.

Contrôles graphiques personnalisés. Partie 1 : Création d'un contrôle simple
Cet article couvre les principes généraux de développement des contrôles graphiques. Nous allons préparer des outils pour un travail rapide et pratique avec des objets graphiques, analyser un exemple de création d'un champ simple de saisie de texte ou de données numériques ainsi que les manières de l'utiliser.

Documentation générée automatiquement pour le code MQL5
La plupart des codeurs Java connaissent la documentation générée automatiquement qui peut être créée avec JavaDocs. L'idée est d'ajouter des commentaires dans le code de manière semi-structurée qui peuvent ensuite être extraits dans un fichier d'aide facile à naviguer. Le monde du C++ dispose également d'un certain nombre de générateurs automatiques de documentation, SandCastle de Microsoft et Doxygen étant les deux principaux. L'article décrit l'utilisation de Doxygen pour créer un fichier d'aide HTML à partir de commentaires structurés en code MQL5. L'expérience a très bien fonctionné et je pense que la documentation d'aide que Doxygen produit à partir du code MQL5 apportera une grande valeur ajoutée.

Comment rédiger une bonne description pour un produit Market
MQL5 Market propose de nombreux produits à vendre, mais certaines de leurs descriptions laissent vraiment à désirer. De nombreux textes ont manifestement besoin d'être améliorés, car les traders ordinaires ne sont pas en mesure de les comprendre. Cet article vous aidera à mettre votre produit en valeur. Utilisez nos recommandations pour rédiger une description accrocheuse qui montrera facilement à vos clients ce que vous vendez exactement.

Optimisation. Quelques idées simples
Le processus d'optimisation peut nécessiter des ressources importantes de votre ordinateur ou même des agents de test de MQL5 Cloud Network. Cet article comprend quelques idées simples que j'utilise pour faciliter le travail et améliorer le testeur de stratégie de MetaTrader 5. J'ai eu ces idées dans la documentation, le forum et les articles.

Théorie et Implémentation des Indicateurs Adaptatifs Avancés dans MQL5
Cet article décrira les indicateurs adaptatifs avancés et leur implémentation dans MQL5 : Cyber Cycle Adaptatif, Centre de Gravité Adaptatif et RVI Adaptatif. Tous les indicateurs ont été initialement présentés dans "Cybernetic Analysis for Stocks and Futures" par John F. Ehlers.

L’implémentation d'un mode multi-devises dans MetaTrader 5
Pendant longtemps, l'analyse multi-devises et le trading multi-devises ont été d’un grand intérêt pour les gens. L'opportunité d’implémenter un régime multi-devises à part entière n'est devenue possible qu'avec la sortie publique de MetaTrader 5 et du langage de programmation MQL5. Dans cet article, nous proposons un moyen d'analyser et de traiter tous les ticks entrants pour plusieurs symboles. A titre d'illustration, examinons un indicateur RSI multi-devises de l'indice USDx dollar.

Appliquer un indicateur à un autre
Lors de l'écriture d'un indicateur qui utilise la forme abrégée de l'appel de fonction OnCalculate(), vous pourriez manquer le fait qu'un indicateur peut être calculé non seulement par les données de prix, mais également par les données d'un autre indicateur (qu'il s'agisse du type intégré ou personnalisé). Vous souhaitez améliorer un indicateur pour sa bonne application aux données de l'autre indicateur ? Dans cet article, nous passerons en revue toutes les étapes requises pour une telle modification.

MQL5 Cookbook : L'historique des transactions et la bibliothèque de fonctions pour obtenir les propriétés de position
Il est temps de résumer brièvement les informations fournies dans les articles précédents sur les propriétés de position. Dans cet article, nous allons créer quelques fonctions supplémentaires pour obtenir les propriétés qui ne peuvent être obtenues qu'après avoir accédé à l'historique des transactions. Nous nous familiariserons également avec les structures de données qui nous permettront d'accéder aux propriétés de position et de symbole de manière plus pratique.

MQL5 Cookbook : Développement d’un Expert Advisor Multi-devises avec un nombre illimité de paramètres
Dans cet article, nous allons créer un modèle qui utilise un seul ensemble de paramètres pour l'optimisation d'un système de trading, tout en permettant un nombre illimité de paramètres. La liste des symboles sera créée dans un fichier texte standard (*.txt). Les paramètres d'entrée pour chaque symbole seront également stockés dans des fichiers. De cette façon, nous pourrons contourner la restriction du terminal sur le nombre de paramètres d'entrée d'un Expert Advisor.

MQL5 - Vous aussi, vous pouvez devenir un maître de ce langage
Cet article sera une sorte d'interview de moi-même, dans laquelle je vous raconterai comment j'ai fait mes premiers pas dans le langage MQL5. Je vais vous montrer comment vous pouvez devenir un excellent programmeur MQL5. Je vais vous expliquer les bases nécessaires pour que vous puissiez réaliser cet exploit. La seule condition préalable est la volonté d'apprendre.

Contrôles graphiques personnalisés. Partie 3. Formulaires
Ceci est le dernier des trois articles consacrés aux contrôles graphiques. Il couvre la création du composant principal de l'interface graphique - le formulaire - et son utilisation en combinaison avec d'autres contrôles. En plus des classes de formulaire, les classes CFrame, CButton, CLabel ont été ajoutées à la bibliothèque de contrôle.

Calculs Parallèles dans MetaTrader 5
Le temps a été une grande valeur tout au long de l'histoire de l'humanité, et nous nous efforçons de ne pas le gaspiller inutilement. Cet article vous indiquera comment accélérer le travail de votre Expert Advisor si votre ordinateur dispose d'un processeur multi-noyau. De plus, l’implémentation de la méthode proposée ne nécessite la connaissance d'aucun autre langage que MQL5.

Limitations et vérifications dans Expert Advisors
Est-il permis d’échanger ce symbole lundi ? Y a-t-il assez d’argent pour ouvrir une position ? Quelle est l’ampleur de la perte si le Stop Loss se déclenche ? Comment limiter le nombre d’ordres en attente ? L’opération de trade a-t-elle été exécutée à la barre actuelle ou à la barre précédente ? Si un robot de trading ne peut pas effectuer ce type de vérifications, toute stratégie de trade risque de se transformer en une stratégie de perte. Cet article présente les exemples de vérifications utiles dans n’importe quel Expert Advisor.

Extension de la bibliothèque standard MQL5 et réutilisation du code
La bibliothèque standard MQL5 vous facilite la vie en tant que développeur. Néanmoins, il ne met pas en œuvre tous les besoins de tous les développeurs du monde, donc si vous sentez que vous avez besoin de plus de choses personnalisées, vous pouvez aller plus loin et étendre. Cet article vous guide tout au long de l’intégration de l’indicateur technique Zig-Zag de MetaQuotes dans la bibliothèque standard. Nous nous inspirons de la philosophie de conception de MetaQuotes pour atteindre notre objectif.

Se débarrasser des DLL auto-produites
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.

MetaTrader 4 sur Mac OS
Nous fournissons un programme d'installation spécial pour la plateforme de trading MetaTrader 4 sur macOS. Il s'agit d'un assistant à part entière qui vous permet d'installer l'application de manière native. Le programme d'installation effectue toutes les étapes nécessaires : il identifie votre système, télécharge et installe la dernière version de Wine, le configure et y installe MetaTrader. Toutes les étapes sont réalisées en mode automatique et vous pouvez commencer à utiliser la plateforme immédiatement après son installation.

MQL5 Cookbook : Obtention des propriétés de la position
Dans cet article, nous allons créer un script qui récupère toutes les propriétés de position et les affiche à l'utilisateur dans une boîte de dialogue. Lors de l'exécution du script, vous pourrez sélectionner l'un des deux modes disponibles dans la liste déroulante des paramètres externes : soit pour afficher les propriétés de position uniquement sur le symbole actuel, soit pour afficher les propriétés de position sur tous les symboles.

MQL5 Cookbook : Propriétés de position dans le panneau d'informations personnalisé
Cette fois, nous allons créer un simple Expert Advisor qui obtiendra les propriétés de position sur le symbole actuel et les affichera sur le panneau d'informations personnalisé pendant le trading manuel. Le panneau d'informations sera créé à l'aide d'objets graphiques et les informations affichées seront actualisées à chaque tick. Cela va être beaucoup plus pratique que d'avoir tout le temps à exécuter manuellement le script décrit dans l'article précédent de la série intitulé "MQL5 Cookbook : Getting Position Properties".

Traitement des événements de trade dans Expert Advisor à l'aide de la fonction OnTrade()
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.

Algorithmes d'optimisation de la population : Optimisation de la Recherche Bactérienne (Bacterial Foraging Optimization, BFO)
La stratégie de recherche de nourriture de la bactérie E. coli a inspiré les scientifiques pour créer l'algorithme d'optimisation BFO. L'algorithme contient des idées originales et des approches prometteuses en matière d'optimisation et mérite d'être étudié plus avant.