Trading Systématique

Optimisez vos stratégies de Grid et Martingale avec le Bounce Number sur MetaTrader 4
MetaTrader4
Optimisez vos stratégies de Grid et Martingale avec le Bounce Number sur MetaTrader 4

La taille des lots et le nombre de transactions pour des stratégies comme Grid et Martingale sont essentiels pour maximiser vos gains. Nous nous posons souvent la question de ce qui s'est passé historiquement sur un symbole dans des zones de range. Combien de fois le prix a-t-il rebondi entre deux niveaux d'une zone de range ? C'est ce que j'appelle le Bounce Number. On peut le calculer grâce à une analyse statistique de l'historique d'un symbole sur le marché. Pour mieux comprendre, regardons l'image n° 1. Image n° 1 : Définition du Bounce Number, son objectif et ses applications Cette image illustre comment le mouvement des prix génère des statistiques pour l'outil Bounce Number. Afin de ne pas surcharger le graphique, j'ai intégré une fonction Sleep dans l'Expert Advisor (EA) pour gérer le nombre de bougies dans les paramètres de l'outil. La deuxième image (Image n° 2) montre la structure graphique de l'outil et la signification de ses objets. Image n° 2 : Statistiques du Bounce Number. Utilisation de l'outil : À partir de l'image n° 2, si nous définissons la Hauteur de Canal de Rebond à 600 points : Il existe 6 différents nombres de rebonds allant de 1 à 6 pour ce symbole. Le nombre de rebonds 2 signifie que le prix commence au milieu du canal de rebond (hauteur 2 * 600 = 1200 points) et monte et descend, touchant une fois la ligne rouge et une fois la ligne bleue avant d'atteindre le TP = 1200 points. Pour le nombre de rebonds 5, cela signifie que le prix part du point médian du canal et touche 2 fois la ligne rouge et 3 fois la ligne bleue, ou 3 fois la ligne rouge et 2 fois la ligne bleue avant d'atteindre le TP = 1200 points. On peut en dire autant pour les autres nombres de rebonds. Nous n'avons pas de nombre de rebonds 7, ce qui signifie qu'il n'y a pas eu 7 rebonds entre les lignes rouges et bleues (avec une distance de 1200 points) dans l'historique sélectionné par les paramètres de l'outil. Notez que si vous sélectionnez plus de données historiques (Nombre maximal de bougies à analyser), la chance de trouver 7 rebonds augmentera. Cependant, comme nous le voyons, même la chance d'obtenir 6 rebonds est de 22 sur 9020 éléments au total ayant atteint les TP. Ce qu'il y a dans les paramètres de l'outil : Nombre maximal de bougies à analyser : Comme pour d'autres outils de scan, soyez prudent avec le nombre que vous définissez ici. Ne l'augmentez pas de manière excessive pour éviter tout crash de mémoire. Time-Frame : Choisissez le Time-Frame des bougies que vous souhaitez utiliser pour trouver les rebonds aux limites du canal et pour toucher les lignes TP. Utilisez un time-frame inférieur pour des canaux étroits. Si vous ne savez pas quoi choisir, il est préférable d'utiliser le time-frame M1. Hauteur de Canal de Rebond : Il s'agit de la distance de la ligne verte par rapport aux lignes rouges et bleues, exprimée en points. Couleur de Fond du Graphique Couleur des Barres de Graphique 1/Couleur des Barres de Graphique 2 : Pour rendre les barres statistiques un peu plus attrayantes. Couleur des Cellules de Comptage Couleur des Cellules de Nombres de Rebond Couleur de la Barre de Chargement : Pendant le calcul, cette barre de chargement aide l'utilisateur à savoir si l'outil fonctionne et à quelle vitesse s'effectuent les calculs. - Un bouton a été ajouté pour démarrer et entrer le nombre de bougies historiques depuis l'écran.

2024.01.12
Alerte Sonore de Connexion/Déconnexion pour MetaTrader 5
MetaTrader5
Alerte Sonore de Connexion/Déconnexion pour MetaTrader 5

Salut les traders ! Aujourd'hui, je vais vous présenter une petite utilité qui pourrait vous rendre la vie plus facile lors de vos sessions de trading sur MetaTrader 5. Il s'agit d'une alerte sonore qui se déclenche lorsque la connexion à votre terminal est établie ou perdue. Pour commencer, il vous suffit d'ajouter vos fichiers son (.wav) dans le dossier MQL5\Files\Sounds. Ensuite, copiez le code ci-dessous dans votre terminal et compilez l'utilitaire EA. Attention, les lignes commentées sont là car l'utilisation de #resource rend l'upload impossible. //+------------------------------------------------------------------+ //|                               Alerte_Son_Connect_Déconnect.mq5 | //|                                 Copyright 2024, Rajesh Kumar Nait | //|                  https://www.mql5.com/en/users/rajeshnait/seller | //+------------------------------------------------------------------+ #property copyright "Copyright 2024, Rajesh Kumar Nait" #property link      "https://www.mql5.com/en/users/rajeshnait/seller" #property version   "1.00" #include <Trade/TerminalInfo.mqh> bool     first             = true; bool     Now_IsConnected   = false; bool     Pre_IsConnected   = true; datetime Connect_Start = 0, Connect_Stop = 0; CTerminalInfo terminalInfo; //--- Fichiers son #resource "\Files\Sounds\CONNECTED.wav" #resource "\Files\Sounds\DISCONNECTED.wav" //+------------------------------------------------------------------+ //| Fonction d'initialisation de l'expert                                   | //+------------------------------------------------------------------+ int OnInit()   { //---       ResetLastError();       while ( !IsStopped() ) {          Pre_IsConnected = Now_IsConnected;          Now_IsConnected = terminalInfo.IsConnected();          if ( first ) {             Pre_IsConnected = !Now_IsConnected;          }          if ( Now_IsConnected != Pre_IsConnected ) {             if ( Now_IsConnected ) {                Connect_Start = TimeLocal();                if ( !first ) {                   if(!PlaySound("::Files\Sounds\DISCONNECTED.wav"))                      Print("Erreur: ",GetLastError());                }                if ( IsStopped() ) {                   break;                }                if(!PlaySound("::Files\Sounds\CONNECTED.wav"))                   Print("Erreur: ",GetLastError());             } else {                Connect_Stop = TimeLocal();                if ( !first ) {                   if(!PlaySound("::Files\Sounds\CONNECTED.wav"))                      Print("Erreur: ",GetLastError());                }                if ( IsStopped() ) {                   break;                }                if(!PlaySound("::Files\Sounds\DISCONNECTED.wav"))                   Print("Erreur: ",GetLastError());             }          }          first = false;          Sleep(1000);       } //---    return(INIT_SUCCEEDED);   } //+------------------------------------------------------------------+ Pour une démonstration, vous pouvez visionner cette vidéo :

2024.01.08
Outils Avancés MQL5 pour Traders : Développez vos Programmes sur MetaTrader 5
MetaTrader5
Outils Avancés MQL5 pour Traders : Développez vos Programmes sur MetaTrader 5

Partie 7 : Outils Avancés MQL5 Dans la Partie 7 : Outils Avancés MQL5 du livre "Programmation MQL5 pour Traders", nous explorons les capacités avancées de l'API MQL5, qui vous seront utiles lors du développement de programmes pour MetaTrader 5. Vous découvrirez des symboles financiers personnalisés, des événements de calendrier économique intégrés, ainsi que des technologies polyvalentes telles que le réseau, les bases de données et la cryptographie. Cette section aborde les bibliothèques – un type de programme spécial qui fournit des API prêtes à l'emploi pour se connecter à d'autres programmes MQL. Nous verrons également la possibilité de développer des paquets logiciels et de combiner des programmes logiquement interconnectés en projets. Enfin, nous présenterons les intégrations avec d'autres environnements logiciels, y compris Python. Nous commencerons par étudier les ressources, qui sont des fichiers de tout type pouvant être intégrés dans le code du programme. Les ressources peuvent contenir : Des éléments multimédias Des paramètres "durs" provenant de programmes externes D'autres programmes MQL5 sous forme compilée L'environnement de développement MQL5 permet l'inclusion de tableaux de données d'application, d'images, de sons et de polices dans le fichier source, rendant le programme autonome et pratique pour l'utilisateur final. Nous accorderons une attention particulière aux ressources graphiques avec des images raster au format BMP : Vous apprendrez à les créer, les modifier et les afficher dynamiquement sur le graphique. Nous conclurons cette partie du livre en étudiant l'intégration d'OpenCL dans MQL5. OpenCL est une norme ouverte pour la programmation parallèle dans des systèmes multiprocesseurs, incluant les processeurs graphiques (GPU) et les unités centrales (CPU). Cela permet d'accélérer les tâches computationnelles intensives, à condition que les algorithmes puissent être parallélisés. Cela peut inclure la formation de réseaux neuronaux, la transformation de Fourier et la résolution de systèmes d'équations. L'utilisation d'OpenCL dans les programmes MQL nécessite la présence de pilotes spéciaux du fabricant et le support de la version 1.1 d'OpenCL ou plus. La présence d'une carte graphique n'est pas obligatoire, car le processeur central peut également être utilisé pour le calcul parallèle.

2023.12.16
Automatisation du Trading avec MQL5 : Guide Pratique des Experts pour MetaTrader 5
MetaTrader5
Automatisation du Trading avec MQL5 : Guide Pratique des Experts pour MetaTrader 5

Partie 6. Automatisation du Trading Dans "Partie 6. Automatisation du Trading" du livre "Programmation MQL5 pour les Traders", nous allons explorer un élément clé du langage MQL5. Nous commencerons par une description des entités fondamentales, telles que les spécifications des instruments financiers et les paramètres des comptes de trading. Ces éléments sont essentiels pour créer des Systèmes de Trading (Expert Advisors) qui fonctionnent correctement. Ensuite, nous passerons aux fonctions intégrées et aux structures de données, ainsi qu'aux événements spécifiques aux robots. Nous aborderons également les aspects essentiels des opérations des Systèmes de Trading dans le testeur de stratégie. Le Testeur de Stratégie de MetaTrader 5 est un outil crucial dans le développement de robots de trading, car il permet d'évaluer la performance financière et d'optimiser les stratégies de trading. Nous examinerons également une autre représentation des données de marché : la Profondeur de Marché et son interface logicielle. MetaTrader 5 offre la possibilité d'analyser et de trader des instruments financiers (symboles), qui constituent la base de tous les sous-systèmes du terminal. Les utilisateurs peuvent sélectionner des symboles dans la liste fournie par leur courtier et les surveiller dans le Market Watch. Grâce à l'API MQL5, vous pouvez visualiser et analyser les caractéristiques de tous les symboles, en les ajoutant ou en les retirant du Market Watch. En plus des symboles standards fournis par les courtiers, MetaTrader 5 prend en charge la création de symboles personnalisés, en chargeant leurs propriétés et l'historique des cotations à partir de sources de données arbitraires ou en les calculant à l'aide de formules et de programmes MQL5.

2023.12.16
Programmer en MQL5 pour les Traders : Créez vos Propre Applications
MetaTrader5
Programmer en MQL5 pour les Traders : Créez vos Propre Applications

Partie 5 : Créer des programmes en MQL5 Dans "Partie 5 : Créer des programmes d'application" du livre sur la programmation MQL5 pour les traders, nous allons plonger plus en profondeur dans les API liées au trading algorithmique, y compris l'analyse et le traitement des données financières, la visualisation des graphiques, l'automatisation et les interactions avec les utilisateurs. Nous commencerons par les principes généraux de la création de programmes MQL et nous examinerons les types d'événements, les fonctionnalités et les modèles dans le terminal. Ensuite, nous explorerons l'accès aux séries temporelles, les opérations avec les graphiques et les objets graphiques, ainsi que les principes de création et d'application de chaque type de programme MQL séparément. Le terminal MetaTrader 5 supporte cinq types de programmes : les indicateurs techniques, les Conseillers Experts (CE) pour le trading automatique ou semi-automatique, les scripts pour effectuer des tâches uniques, les services pour les opérations en arrière-plan, et les bibliothèques pour des modules fonctionnels individuels. Nous allons approfondir le travail avec les indicateurs et les graphiques et apprendre des techniques qui sont également applicables aux Conseillers Experts. Le développement de ces derniers sera abordé dans la prochaine partie du livre, où nous explorerons l'exécution automatique des ordres, la formalisation des stratégies de trading, ainsi que leur test et optimisation à l'aide de données historiques. Nous apprendrons à utiliser les indicateurs intégrés standard et à créer nos propres applications à partir de zéro ou en nous basant sur d'autres indicateurs. Tous les programmes compilés sont affichés dans le Navigateur de MetaTrader 5, à l'exception des bibliothèques EX5, qui sont utilisées par d'autres programmes mais n'ont pas de représentation séparée dans le Navigateur. En fin de compte, nous allons acquérir une compréhension plus complète des capacités du langage MQL5 et de son application dans le trading algorithmique. Cela nous permettra de travailler efficacement avec les données financières et de créer des indicateurs de trading ainsi que des Conseillers Experts.

2023.12.16
Maîtrisez les APIs MQL5 : Guide Pratique pour les Traders
MetaTrader5
Maîtrisez les APIs MQL5 : Guide Pratique pour les Traders

Partie 4 : Les APIs MQL5 courantes Dans les sections précédentes de notre guide, nous avons exploré les bases du langage de programmation MQL5, en étudiant sa syntaxe, ses règles d'utilisation et ses concepts clés. Cependant, pour écrire des programmes qui traitent des données et automatisent le trading, il est essentiel d'exploiter de nombreuses fonctions intégrées qui permettent d'interagir avec le terminal MetaTrader 5. Dans "Partie 4 : Les APIs MQL5 courantes", nous allons nous concentrer sur la maîtrise des fonctions intégrées (MQL5 API) et nous plonger progressivement dans des sous-systèmes spécialisés. Chaque programme MQL5 peut tirer parti d'une multitude de technologies et de fonctionnalités. Il est donc judicieux de commencer par les fonctions les plus simples et utiles, que l'on peut utiliser dans la plupart des programmes. Parmi les sujets principaux, nous étudierons les opérations sur les tableaux, le traitement des chaînes de caractères, les interactions avec les fichiers, la conversion de données et les fonctions d'interaction utilisateur. Nous explorerons également les fonctions mathématiques et la gestion de l'environnement de programme. Contrairement à certains autres langages de programmation, l'utilisation des fonctions intégrées de l'API MQL5 ne nécessite pas de directives de préprocesseur supplémentaires. Les noms de toutes les fonctions de l'API MQL5 sont disponibles dans le contexte global (espace de noms) et peuvent toujours être accessibles sans condition. Nous aborderons également la possibilité d'utiliser des noms similaires dans différents contextes de programme, comme les noms de méthodes de classe ou les espaces de noms personnalisés. Dans ces cas, il est nécessaire d'utiliser l'opérateur de résolution de contexte pour appeler la fonction globale, comme nous en avons discuté dans la section sur les types imbriqués, les espaces de noms et l'opérateur de contexte '::'. La programmation nécessite souvent des opérations avec divers types de données. Dans les sections précédentes, nous avons déjà vu les mécanismes de conversion explicite et implicite des types de données intégrés. Cependant, ces mécanismes peuvent ne pas toujours être adaptés pour différentes raisons. Pour fournir une conversion de données plus fine entre différents types, l'API MQL5 inclut un ensemble de fonctions de conversion. Une attention particulière est accordée aux fonctions de conversion entre chaînes et autres types, tels que les nombres, les dates et heures, les couleurs, les structures et les énumérations.

2023.12.15
Programmation MQL5 : Plongée dans la Programmation Orientée Objet pour Traders
MetaTrader5
Programmation MQL5 : Plongée dans la Programmation Orientée Objet pour Traders

Partie 3 : Programmation Orientée Objet en MQL5 "Partie 3 : Programmation Orientée Objet en MQL5" vous plonge dans l'univers de la programmation orientée objet (POO) avec le langage MQL5. Le développement logiciel implique souvent une certaine complexité, notamment en ce qui concerne la gestion de plusieurs entités, nécessitant des technologies avancées pour optimiser la commodité, la productivité et la qualité de la programmation. La technologie POO repose sur le concept d'objets, qui sont des variables de type personnalisé définies par le programmeur en utilisant les outils MQL5. Créer des types personnalisés permet de modéliser des objets et simplifie l'écriture et la maintenance des programmes. Cette partie examine diverses manières de définir de nouveaux types, notamment les classes, les structures et les unions. Ces types personnalisés peuvent combiner des données et des algorithmes pour décrire l'état et le comportement des objets d'application. L'auteur met en avant le principe du "diviser pour régner", montrant que les objets sont de mini-programmes, chacun responsable de la résolution d'une petite tâche logiquement complète. Vous pouvez combiner ces objets en un système unique et créer des produits et services d'une complexité arbitraire. Pour aider les utilisateurs à explorer les capacités du MQL5, la partie "Programmation Orientée Objet en MQL5" introduit les principes de la POO accompagnés d'exemples pratiques d'implémentation. Le livre aborde également les modèles, les interfaces et les espaces de noms, dévoilant la flexibilité et la puissance de la POO dans le développement de programmes en MQL5.

2023.12.15
MQL5 : Introduction au langage et à l'environnement de développement
MetaTrader5
MQL5 : Introduction au langage et à l'environnement de développement

Partie 1 : Introduction à MQL5 et à l'environnement de développement Dans cette première partie, intitulée "Introduction à MQL5 et à l'environnement de développement", nous allons explorer les bases du langage MQL5 et de son environnement de développement. Parmi les nouveautés que MQL5 apporte par rapport à son prédécesseur MQL4 (le langage de MetaTrader 4), on trouve le support de la programmation orientée objet (POO), ce qui le rend semblable à C++. Bien que certaines fonctions de la POO aient déjà été intégrées à MQL4, il est vrai que ceux qui n'ont pas l'habitude de programmer peuvent trouver cela un peu déroutant. L'objectif de ce livre est de rendre cette approche claire et accessible. Il sert de complément au manuel de référence MQL5, en abordant tous les aspects de la programmation MQL5 et en détaillant chaque processus. Les développeurs peuvent choisir entre un style de programmation orienté objet et un style procédural, ou même combiner les deux. Pour ceux d'entre vous qui ont déjà une expérience en programmation, vous pouvez passer les bases. Les programmeurs C++ trouveront MQL5 plus facile à maîtriser, mais attention aux différences de langage pour éviter les erreurs. Avec MQL5, vous pouvez créer différents types de programmes, tels que des indicateurs pour afficher graphiquement des données, des systèmes de trading pour automatiser vos opérations, des scripts pour des actions ponctuelles, ainsi que des services pour des tâches en arrière-plan. Une caractéristique distinctive de MetaTrader 5 est la gestion complète du système de trading depuis le terminal client, où les programmes MQL5 s'exécutent et envoient des ordres de trading au serveur. Les applications MQL5 ne sont pas installées sur le serveur. Cette première partie explique comment éditer, compiler et exécuter des programmes, ainsi que les différents types de données, variables, expressions, tableaux, débogage et affichage des résultats.

2023.12.15
Utiliser un Modèle ONNX pour Reconnaître des Chiffres Manuscrits sur MetaTrader 5
MetaTrader5
Utiliser un Modèle ONNX pour Reconnaître des Chiffres Manuscrits sur MetaTrader 5

Un Expert Advisor pour la Reconnaissance de Chiffres Manuscrits La base de données MNIST contient 60 000 images pour l'entraînement et 10 000 images pour les tests. Ces images proviennent d'un ensemble original de 20x20 pixels en noir et blanc, créé par le NIST, puis enrichi avec des échantillons de lycéens américains. Les échantillons ont été normalisés à une taille de 28x28 pixels, ce qui a introduit des niveaux de gris grâce à un traitement anti-aliasing. Le modèle entraîné pour la reconnaissance de chiffres manuscrits, mnist.onnx, a été téléchargé depuis GitHub à partir de la Model Zoo (opset 8). Si vous êtes curieux, n'hésitez pas à télécharger et essayer d'autres modèles, en évitant ceux avec opset 1 qui ne sont plus supportés par le dernier runtime ONNX. Fait surprenant, le vecteur de sortie n'a pas été traité avec la fonction d'activation Softmax, ce qui est pourtant courant dans les modèles de classification. Pas de panique, nous pouvons facilement l'implémenter nous-mêmes. int PredictNumber(void)  {   static matrixf image(28,28);   static vectorf result(10);   PrepareMatrix(image);   if(!OnnxRun(ExtModel,ONNX_DEFAULT,image,result))     {      Print("OnnxRun error ",GetLastError());      return(-1);     }   result.Activation(result,AF_SOFTMAX);   int predict=int(result.ArgMax());   if(result[predict]<0.8)      Print(result);      Print("valeur ",predict," prédite avec probabilité ",result[predict]);   return(predict);  } Pour dessiner des chiffres, utilisez la souris tout en maintenant le bouton gauche enfoncé. Pour reconnaître le chiffre dessiné, appuyez sur le bouton CLASSIFIER. Si la probabilité obtenue pour le chiffre reconnu est inférieure à 0.8, le vecteur de résultats avec les probabilités pour chaque classe est affiché dans le journal. Par exemple, essayez de classifier un champ de saisie vide. [0.095331445,0.10048489,0.10673151,0.10274081,0.087865397,0.11471312,0.094342403,0.094900772,0.10847695,0.09441267]valeur 5 prédite avec probabilité 0.11471312493085861 En raison de certaines raisons, la précision de reconnaissance est particulièrement plus basse pour le chiffre neuf (9). Les chiffres inclinés vers la gauche sont reconnus avec plus de précision.

2023.11.23
Optimisez votre Take Profit en fonction de vos profits actuels sur MetaTrader 4
MetaTrader4
Optimisez votre Take Profit en fonction de vos profits actuels sur MetaTrader 4

Introduction La plupart des robots de trading (EAs) ont tendance à fermer les commandes en fonction d'une distance en pips par rapport au prix d'achat. Cependant, le code utilisé par EA Perceptron se base principalement sur le profit actuel. Cette approche vous permet de gérer facilement le take profit avec plusieurs positions ouvertes, en surveillant le profit total actuel en fonction du numéro magique, au cas où vous utiliseriez plusieurs instances de robots ou différents EAs simultanément. Ajoutez-moi à vos amis et suivez mon fil d'actualité pour être informé des dernières nouvelles ! Utiliser ce code peut également avoir un impact positif sur certains problèmes qui peuvent survenir lors de l'utilisation d'un take profit basé sur les pips. Par exemple, un take profit basé sur les pips pourrait varier en fonction du slippage de votre courtier, limitant ainsi les profits. En utilisant un code basé sur le profit actuel, vous pouvez éviter ce problème et avoir plus de contrôle sur vos trades. Si vous souhaitez en savoir plus sur la manière de configurer un take profit en fonction du profit actuel, vous pouvez utiliser le code de l'EA SwingBot comme référence. … Total des ordres Commençons par le code qui calcule le nombre total d'ordres ouverts avec le même numéro magique. Le numéro magique est un identifiant unique attribué à un ordre par le trader ou un EA. Le code initialise une variable total_orders à zéro. Ensuite, il parcourt tous les ordres ouverts à l'aide d'une boucle for et sélectionne chaque ordre en utilisant la fonction OrderSelect(). Si un ordre est sélectionné avec succès, il incrémente la variable total_orders de un. //-----------------    int total_orders = 0;    for(int i = 0; i < OrdersTotal(); i++)      {       if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))         {          if(OrderMagicNumber() == MagicNumber)          {          total_orders++;         }         }      } … Calculer le profit actuel Le code initialise deux variables : ProfittoMinimo et Profit. La variable ProfittoMinimo est utilisée pour activer le take profit à ce niveau, la valeur est exprimée dans la devise du compte. La variable Profit est utilisée pour accumuler le profit actuel de toutes les positions ouvertes ayant le même numéro magique. La variable StopLoss est utilisée pour le stop loss. Le code utilise une boucle for pour itérer à travers toutes les positions ouvertes en utilisant la fonction OrdersTotal(). Pour chaque position ouverte, l'ordre correspondant est sélectionné avec la fonction OrderSelect(). Si l'ordre est sélectionné avec succès et a le même numéro magique, le profit de l'ordre est ajouté à la variable Profit.       double ProfittoMinimo = 3; // profit cible       double Profit = 0; // profit actuel              for(int i=0; i<OrdersTotal(); i++)         {          if(OrderSelect(i, SELECT_BY_POS, MODE_TRADES))            {             if(OrderMagicNumber() == MagicNumber) // En cas de plusieurs EAs, vous pouvez supprimer le filtre MagicNumber pour maintenir la fonction sur l'ensemble des ordres.               {                Profit += OrderProfit();               }         }       } Le profit minimum peut être configuré comme une variable externe dans les options de l'EA : … Fermeture des positions si le profit est atteint Le code utilise une boucle for pour itérer à travers tous les ordres ouverts en utilisant la fonction OrdersTotal(). La boucle commence par le dernier ordre et remonte jusqu'au premier ordre. Pour chaque ordre, la transaction correspondante est sélectionnée avec la fonction OrderSelect(). Si la transaction sélectionnée a le même symbole que le graphique actuel, est de type OP_BUY, et a le même numéro magique que celui spécifié dans le code, elle vérifie si le Profit de la transaction est supérieur ou égal à ProfittoMinimo. Si c'est le cas, elle ferme la transaction au prix de vente en utilisant la fonction OrderClose() et imprime un message indiquant que l'ordre d'achat a été fermé. De la même manière, si la transaction sélectionnée a le même symbole que le graphique actuel, est de type OP_SELL, et a le même numéro magique que celui spécifié dans le code, elle vérifie si le Profit de la transaction est supérieur ou égal à ProfittoMinimo. Si c'est le cas, elle ferme la transaction au prix d'achat en utilisant la fonction OrderClose() et imprime un message indiquant que l'ordre de vente a été fermé.       for(int e = OrdersTotal() - 1; e >= 0; e--)         {          if(OrderSelect(e, SELECT_BY_POS, MODE_TRADES))            {             if(OrderSymbol() == Symbol() && OrderType() == OP_BUY && OrderMagicNumber() == MagicNumber) // L'ordre est modifié uniquement si le MagicNumber correspond à celui de l'ordre en cours.               {                if(Profit >= ProfittoMinimo)                  {                   OrderClose(OrderTicket(), OrderLots(), ND(OrderClosePrice()), 3); // Prix de vente                   Print("Ordre d'achat fermé", Profit, " - Stoploss minimum : ",MarketInfo(Symbol(), MODE_STOPLEVEL));                  }           }             if(OrderSymbol() == Symbol() && OrderType() == OP_SELL && OrderMagicNumber() == MagicNumber)               {                if(Profit >= ProfittoMinimo)                  {                   OrderClose(OrderTicket(), OrderLots(), ND(OrderClosePrice()), 3); // Prix d'achat                   Print("Ordre de vente fermé", Profit, " - Stoploss minimum : ",MarketInfo(Symbol(), MODE_STOPLEVEL));                  }           }         }         } … Conclusion Ce code pourrait être utile pour toutes les stratégies de fermeture de positions basées sur le take profit, mais il pourrait également être combiné avec un trailing stop basé sur l'augmentation du profit actuel. Le système est également utile en cas de plusieurs Experts Advisors. Si vous excluez la condition if sur le MagicNumber, vous pouvez définir des niveaux de take profit généraux pour contrôler simultanément toutes les positions ouvertes de tous les EAs actifs.

2023.10.27
Stratégie des Double Bandes de Bollinger sur MT4 : Guide Complet pour les Traders
MetaTrader4
Stratégie des Double Bandes de Bollinger sur MT4 : Guide Complet pour les Traders

1. Aperçu La stratégie des Double Bandes de Bollinger utilise deux bandes de Bollinger pour affiner les entrées et sorties sur le marché des devises. L'objectif est d'ouvrir des positions d'achat (ou de vente) lorsque le prix franchit la limite supérieure (ou inférieure) de 3 écarts-types (3σ). Cette stratégie prend également en compte le niveau de 2 écarts-types (2σ) des bandes de Bollinger pour prendre des décisions de trading. Paramètres par défaut : Bandes de Bollinger à 2σ (20,2) : moyenne mobile simple (20) et nombre d'écarts-types (2). Bandes de Bollinger à 3σ (20,3) : moyenne mobile simple (20) et nombre d'écarts-types (3). 2. Entrée Longue Ouvrez un ordre d'achat lorsque ces 2 conditions sont remplies : Condition 1 : Le prix Ask franchit la bande supérieure à 3σ (BB3UP). Condition 2 : Si la condition 1 est validée, vérifiez que le prix actuel se situe entre la bande supérieure à 2σ (BB2UP) et la bande inférieure à 2σ (BB2LO). 3. Entrée Courte Ouvrez un ordre de vente lorsque ces 2 conditions sont remplies : Condition 1 : Le prix Bid franchit la bande inférieure à 3σ (BB3LO). Condition 2 : Si la condition 1 est validée, vérifiez que le prix actuel se situe entre la bande inférieure à 2σ (BB2LO) et la bande supérieure à 2σ (BB2UP). 4. Ordres de Sortie Utilisez un format d'ordre OCO, où à la fois le stop-loss et le take-profit sont fixés à N pips. ※N : Paramètres d'entrée à définir.

2023.10.02
Stratégie Martin Gale Breakout : L'Expert Advisor Idéal pour MetaTrader 4
MetaTrader4
Stratégie Martin Gale Breakout : L'Expert Advisor Idéal pour MetaTrader 4

Bienvenue dans cet article dédié aux passionnés de trading ! Aujourd'hui, je vais vous parler d'une stratégie qui pourrait bien révolutionner votre approche sur le marché Forex : l'Expert Advisor "Martin Gale Breakout". Cette stratégie combine une approche de trading par breakout avec les principes de gestion de fonds du système Martin Gale, le tout pour optimiser vos performances de trading. Paramètres d'Entrée : TakeProfPoints : Ce paramètre vous permet de définir le niveau de Take Profit en points pour chaque trade. BalancePercentageAvailable : Indiquez le pourcentage de votre solde de compte qui sera utilisé pour le trading. TP_Percentage_of_Balance : Ce paramètre détermine le pourcentage de votre solde de compte à utiliser comme Take Profit pour chaque trade. SL_Percentage_of_Balance : Cela fixe le pourcentage de votre solde à allouer comme Stop Loss pour les trades. Start_The_Recovery : Ce paramètre joue un rôle crucial dans le processus de récupération, contrôlant quand et comment les mesures de récupération sont activées. TP_Points_Multiplier : Un multiplicateur pour les points de Take Profit, permettant des stratégies de prise de profit flexibles. MagicNumber : Un identifiant unique pour cet Expert Advisor, garantissant qu'il puisse gérer ses propres trades de manière indépendante. Points Forts de la Stratégie : Trading par Breakout : Cet EA est spécialisé dans l'identification des opportunités de breakout sur le marché, où les mouvements de prix franchissent des niveaux clés. Dimensionnement Dynamique des Lots : Les tailles de lot sont ajustées dynamiquement en fonction de votre solde de compte et de vos préférences de risque, suivant les principes de gestion de fonds Martin Gale. Récupération des Pertes : L'EA inclut un puissant mécanisme de récupération conçu pour compenser les pertes en modifiant de manière adaptative les paramètres de trading si nécessaire. La fonction principale utilisée dans cet EA est la fonction CalcLotWithTP() qui a 3 paramètres d'entrée : Takeprofit, Startprice et Endprice. Elle calcule le volume requis pour le trade afin d'atteindre l'objectif de profit en entrant à un prix de départ et en sortant à un prix de fin. Tout dans le code est commenté, facilitant ainsi sa compréhension. Pour en savoir plus, n'hésitez pas à consulter ma vidéo YouTube à ce sujet :

2023.09.26
Stratégie Martin Gale Breakout pour MT5 : Optimisez vos Trades
MetaTrader5
Stratégie Martin Gale Breakout pour MT5 : Optimisez vos Trades

La stratégie "Martin Gale Breakout" est un système de trading (EA) conçu spécialement pour le marché des devises. Cet EA combine une approche de trading par breakout avec des éléments du système de gestion de capital Martin Gale pour maximiser vos performances de trading. Paramètres d'entrée : TakeProfPoints : Ce paramètre vous permet de définir le niveau de Take Profit en points pour chaque trade. BalancePercentageAvailable : Spécifiez le pourcentage de votre solde de compte qui sera utilisé pour le trading. TP_Percentage_of_Balance : Il détermine le pourcentage de votre solde de compte à utiliser comme Take Profit pour chaque trade. SL_Percentage_of_Balance : Cela fixe le pourcentage de votre solde à allouer comme Stop Loss pour les trades. Start_The_Recovery : Ce paramètre joue un rôle crucial dans le processus de récupération, en contrôlant quand et comment les mesures de récupération sont activées. TP_Points_Multiplier : Un multiplicateur pour les points de Take Profit, permettant des stratégies de prise de bénéfices flexibles. MagicNumber : Un identifiant unique à cet EA, garantissant qu'il peut gérer ses propres trades de manière indépendante. Points Forts de la Stratégie : Trading par Breakout : L'EA se spécialise dans l'identification des opportunités de breakout sur le marché, lorsque les mouvements de prix franchissent des niveaux clés. Dimensionnement Dynamique des Lots : Les tailles de lots sont ajustées dynamiquement en fonction de votre solde de compte et de vos préférences en matière de risque, suivant les principes de gestion de capital de Martin Gale. Récupération des Pertes : L'EA comprend un mécanisme de récupération puissant conçu pour compenser les pertes en modifiant de manière adaptative les paramètres de trade lorsque c'est nécessaire. La fonction principale utilisée dans cet EA est CalcLotWithTP(), qui a trois paramètres d'entrée : Takeprofit, Startprice, et Endprice. Elle calcule le volume nécessaire pour le trade afin d'atteindre l'objectif de bénéfice lorsque vous entrez dans un trade au Startprice et sortez au Endprice. Tout dans le code est commenté, ce qui facilite la compréhension.

2023.09.26
Comprendre la Politique de Remplissage des Symboles dans MetaTrader 5
MetaTrader5
Comprendre la Politique de Remplissage des Symboles dans MetaTrader 5

Pour les traders utilisant MetaTrader 5, il est essentiel de comprendre comment fonctionne la politique de remplissage des symboles. Cela peut avoir un impact significatif sur vos décisions de trading. 1. Qu'est-ce que le symbole d'entrée ? Le symbole d'entrée (symbol) est simplement le nom de l'instrument financier dont vous souhaitez déterminer la politique de remplissage. C'est la première étape pour mieux gérer vos ordres de trading. 2. Obtention du type de politique de remplissage La fonction utilise SymbolInfoInteger pour récupérer des informations sur la politique de remplissage du symbole fourni. Ces informations sont stockées dans une variable nommée filling, sous forme de valeur numérique. 3. Comparaison des politiques de remplissage Ensuite, la valeur numérique (filling) est comparée à des constantes prédéfinies qui représentent différentes politiques de remplissage. Voici quelques exemples : Fill or Kill (SYMBOL_FILLING_FOK) Immediate or Cancel (SYMBOL_FILLING_IOC) Return (SYMBOL_FILLING_RETURN) 4. Retourner le type de politique de remplissage La fonction détermine le type de politique de remplissage en fonction de la comparaison. Si cela correspond à Fill or Kill, elle renvoie ORDER_FILLING_FOK. Si cela correspond à Immediate or Cancel, elle renvoie ORDER_FILLING_IOC. Si aucune de ces conditions n'est remplie, elle renvoie ORDER_FILLING_RETURN. En résumé, cette fonction vous permet de récupérer et de retourner la politique de remplissage d'un symbole dans MetaTrader 5. C'est un outil précieux pour prendre des décisions éclairées sur le trading, en fonction de la politique de remplissage d'un instrument financier spécifique.

2023.09.26
Premier Précédent 3 4 5 6 7 8 9 10 11 12 13 Suivant Dernier