Les bases de la programmation orientée objet
Vous n'avez pas besoin de savoir ce que sont le polymorphisme, l'encapsulation, etc. pour utiliser la programmation orientée objet (POO)... vous pouvez simplement utiliser ces fonctionnalités. Cet article couvre les bases de la POO avec des exemples pratiques.
Le MQL5 Cookbook : Développement d'un indicateur de volatilité multi-symboles dans MQL5
Dans cet article, nous examinerons le développement d'un indicateur de volatilité multi-symboles. Le développement d'indicateurs multi-symboles peut présenter quelques difficultés pour les développeurs MQL5 novices que cet article aide à clarifier. Les problèmes majeurs qui se posent au cours du développement d'un indicateur multi-symboles concernent la synchronisation des données d'autres symboles par rapport au symbole courant, le manque de certaines données d'indicateur et l'identification du début des "vraies" barres d'une trame de temps donnée. Toutes ces questions seront examinées de près dans l'article.
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.
Data Science et Machine Learning - Réseaux neuronaux (Partie 01) : Le Réseau Neuronal à Propagation Avant, ou à Action Directe, Feed Forward Neural Network en anglais, démystifié
Nombreux sont ceux qui les apprécient, mais rares sont ceux qui comprennent l'ensemble des opérations qui se cachent derrière les réseaux neuronaux. Dans cet article, j'essaierai d'expliquer en termes simples tout ce qui se passe derrière les portes closes d'une perception multicouche feed-forward.
Approche brute de la recherche de motifs (Partie V) : Un nouvel angle
Dans cet article, je présenterai une approche complètement différente du trading algorithmique à laquelle j'ai abouti après un certain temps. Bien entendu, tout cela est lié à mon programme de force brute, qui a subi un certain nombre de modifications lui permettant de résoudre plusieurs problèmes simultanément. Mais l'article s'est avéré plus général et aussi simple que possible, c'est pourquoi il convient également à ceux qui ne connaissent rien à la force brute.
MQL pour "Nuls" : Comment Concevoir et Construire des Classes d'Objets
En créant un échantillon de programme de conception visuelle, nous montrons comment concevoir et construire des classes dans MQL5. L'article est écrit pour les programmeurs débutants, qui travaillent sur des applications MT5. Nous proposons une technologie simple et facilement intelligible pour créer des classes, sans avoir besoin de s'immerger profondément dans la théorie de la programmation orientée-objet.
Assistant MQL5 : Comment Créer un Module de Gestion des Risques et de fonds
Le générateur de stratégies de trading de l'assistant MQL5 simplifie considérablement le test des idées de trading. L'article décrit comment élaborer un module de gestion des risques et de fonds personnalisé et l'activer dans l'assistant MQL5. À titre d'exemple, nous avons examiné un algorithme de gestion de l'argent, dans lequel la taille du volume de trade est déterminée par les résultats du deal précédent. La structure et le format de description de la classe créée pour l'Assistant MQL5 sont également abordés dans l'article.
É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.
MQL5 Cookbook : Utilisation d'indicateurs pour définir les conditions de trading dans les Expert Advisors
Dans cet article, nous continuerons à modifier l'Expert Advisor sur lequel nous avons travaillé tout au long des articles précédents de la série MQL5 Cookbook. Cette fois, l'Expert Advisor sera enrichi d'indicateurs dont les valeurs serviront à vérifier les conditions d'ouverture des positions. Pour le pimenter, nous allons créer une liste déroulante dans les paramètres externes pour pouvoir sélectionner un des trois indicateurs de trading.
Les forêts aléatoires prédisent les tendances
Cet article envisage d'utiliser le package Rattle pour la recherche automatique de modèles afin de prédire les positions longues et courtes des paires de devises sur le Forex. Cet article peut être utile à la fois pour les traders débutants et expérimentés.
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.
Algorithmes de création d’argent utilisant l’ordre Trailing Stop
L’objectif de cet article est d’étudier la rentabilité des algorithmes avec différentes entrées dans les transactions et les sorties en utilisant l’ordre Trailing Stop. Les types d’entrée à utiliser sont l’entrée aléatoire et l’entrée inversée. Les ordres d’arrêt à utiliser sont l’arrêt de suivi et le lancement de suivi. L’article démontre des algorithmes rentables avec une rentabilité d’environ 30 % par an.
Tester différents types de Moyennes Mobiles pour voir leur pertinence
Nous connaissons tous l'importance de l'indicateur des Moyennes Mobiles (Moving Average en anglais) pour de nombreux traders. Il existe d'autres types de Moyennes Mobiles qui peuvent s'avérer utiles pour le trading. Nous allons les identifier dans cet article et faire une comparaison simple entre chacun et une Moyenne Mobile Simple, la version la plus populaire, afin de voir lequel peut donner les meilleurs résultats.
Estimation de la densité de noyau de la fonction de densité de probabilité inconnue
L'article traite de la création d'un programme permettant d'estimer la densité à noyau de la fonction de densité de probabilité inconnue. La méthode d'estimation de la densité du noyau a été choisie pour exécuter la tâche. L'article contient les codes sources de la mise en œuvre logicielle de la méthode, des exemples d'utilisation et des illustrations.
Une autre classe MQL5 OOP
Cet article vous montre comment créer un Expert Advisor orienté objet à partir de zéro, de la conception d'une idée de trading théorique à la programmation d'un EA MQL5 qui rend cette idée réelle dans le monde empirique. Apprendre par la pratique est à mon humble avis une approche solide pour réussir, je vous montre donc un exemple pratique afin que vous voyiez comment vous pouvez ordonner vos idées pour enfin coder vos robots Forex. Mon objectif est également de vous inviter à adhérer aux principes de l’OO.
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.
Graphique Liquide
Souhaitez-vous voir un graphique horaire avec des barres s'ouvrant à partir de la deuxième et de la cinquième minute de l'heure ? À quoi ressemble un graphique redessiné lorsque l'heure d'ouverture des bars change toutes les minutes ? Quels sont les avantages du trading sur de tels graphiques ? Vous trouverez des réponses à ces questions dans cet article.
La Programmation Basée sur des Automates comme Nouvelle Approche pour créer des Systèmes de Trading Automatisés
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.
Alan Andrews et ses méthodes d'analyse des séries temporelles (timeseries)
Alan Andrews est l'un des "éducateurs" les plus célèbres du monde moderne dans le domaine du trading. Sa "fourchette" est incluse dans presque tous les programmes modernes d'analyse de cotations. Mais la plupart des traders n'utilisent même pas une fraction des possibilités offertes par cet outil. D'ailleurs, le cours de formation original d'Andrews comprend une description non seulement de la fourchette (bien qu'elle reste l'outil principal), mais aussi de quelques autres constructions utiles. L'article donne un aperçu des merveilleuses méthodes d'analyse graphique qu'Andrews enseignait dans son cours original. Attention, il y aura beaucoup d'images.
Stratégie statistique de Carry Trade
Un algorithme de protection statistique des positions ouvertes de swap positif contre les mouvements de prix indésirables. Cet article présente une variante de la stratégie de protection du Carry Trade qui permet de compenser le risque potentiel du mouvement des prix dans la direction opposée à celle de la position ouverte.
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.
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.
Indicateur pour la cartographie Kagi
L'article propose un indicateur de graphique Kagi avec diverses options de cartographie et des fonctions supplémentaires. En outre, le principe de cartographie des indicateurs et ses fonctionnalités de mise en œuvre MQL5 sont pris en compte. Les cas les plus populaires de sa mise en œuvre dans le trading sont affichés - stratégie d'échange Yin/Yang, s'éloignant de la ligne de tendance et augmentant constamment les "épaules" / diminuant la "taille".
La Méthode Optimale pour le calcul du volume total de la position par Nombre Magique Indiqué
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é.
Test rapide des idées de trading sur le graphique
L'article décrit la méthode de test visuel rapide des idées de trading. La méthode est basée sur la combinaison d'un graphique de prix, d'un indicateur de signal et d'un indicateur de calcul de solde. J'aimerais partager ma méthode de recherche d'idées de trading, ainsi que la méthode que j'utilise pour tester rapidement ces idées.
Le MQL5 Cookbook : Manipulation BookEvent
Cet article considère BookEvent - une profondeur d'événement du marché, et le principe de son traitement. Un programme MQL, gérant les états de Profondeur du marché comme exemple. Il est écrit en utilisant l'approche orientée objet. Les résultats de la manipulation sont affichés à l'écran sous forme de panneau et de niveaux de profondeur de marché.
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.
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.
Utilisation de la fonction TesterWithdrawal() pour modéliser les retraits de bénéfice.
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.
Fournisseurs de signaux Johnpaul77 : « Notre stratégie demeure rentable depuis plus de trois ans maintenant. Alors pourquoi la changerions-nous ? »
Laissez-nous vous révéler un petit secret : Les visiteurs du site Web MQL5.com passent la plupart de leur temps sur la page du signal Johnpaul77. C'est un leader de notre évaluation de signal avec environ 900 abonnés et des fonds totaux de 5,7 millions de dollars sur des comptes réels. Nous avons interrogé les fournisseurs de signaux. Il s'est avéré qu'ils sont quatre ! Comment les tâches sont-elles réparties entre les membres de l'équipe ? Quels outils techniques utilisent-ils ? Pourquoi les appelle-t-on John Paul ? Et enfin, comment les joueurs ordinaires d'Indonésie sont-ils devenus des fournisseurs du meilleur signal sur MQL5.com ? Découvrez tout cela dans l'article.
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é.
É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.
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.
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.
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.
Construire une start-up de technologie sociale, Première partie Envoyez des Tweets sur vos signaux MetaTrader 5
Aujourd’hui, nous allons apprendre à lier un terminal MetaTrader 5 à Twitter afin de pouvoir tweeter les signaux de trading de vos EA. Nous développons un système d’aide à la décision sociale en PHP basé sur un service Web RESTful. Cette idée vient exceptionnellement d’une conception du trading automatique appelée trading assisté par ordinateur. Nous voulons que les capacités cognitives des traders humains filtrent les signaux de trading qui, autrement, seraient automatiquement mis sur le marché par les Experts Advisors.
Le MQL5 Market fête ses un an
Une année s'est écoulée depuis le lancement des ventes sur le MQL5 Market. Ce fut une année de travail acharné, qui a transformé le nouveau service en le plus grand magasin de robots de trading et d’indicateurs techniques pour la plate-forme MetaTrader 5.
Création d'une application interactive pour afficher les flux RSS dans MetaTrader 5
Dans cet article, nous examinons la possibilité de créer une application pour l'affichage de flux RSS. L'article montrera comment les aspects de la bibliothèque standard peuvent être utilisés pour créer des programmes interactifs pour MetaTrader 5.
Contrôler la Pente de la Courbe d' Équilibre Pendant le Travail d'un Expert Advisor
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.
Le MQL5 Cookbook : Enregistrement des résultats d'optimisation d'un Expert Advisor sur la base de critères spécifiés
Nous continuons la série d'articles sur la programmation MQL5. Cette fois, nous verrons comment obtenir les résultats de chaque passe d'optimisation lors de l'optimisation des paramètres de l'Expert Advisor. La mise en œuvre sera effectuée de manière à garantir que si les conditions spécifiées dans les paramètres externes sont remplies, les valeurs de passage correspondantes seront écrites dans un fichier. En plus des valeurs de test, nous enregistrerons également les paramètres qui ont conduit à de tels résultats.