Le système de trading Exp_XROC2_VG_X2 est conçu pour suivre les tendances grâce aux signaux générés par deux indicateurs XROC2_VG. Le premier indicateur identifie la direction de la tendance lente en se basant sur la position des lignes principales et de signal. Le deuxième indicateur détermine le moment d'ouvrir une position, que ce soit lors du croisement ou du contact des lignes. Un signal d'entrée est généré à la fermeture d'une bougie si les deux conditions suivantes sont remplies :
- Les signaux de tendance rapide et lente coïncident.
- La tendance rapide a changé de direction.
Paramètres d'entrée de l'EA :
//+-------------------------------------------------+ //| Paramètres d'entrée de l'EA | //+-------------------------------------------------+ input string Trade="Gestion des trades"; //+================ GESTION DES TRADES ================+ input double MM=0.1; //Part du dépôt dans un trade input MarginMode MMMode=LOT; //Méthode de détection de la valeur du lot input uint StopLoss_=1000; //Stop Loss en points input uint TakeProfit_=2000; //Take Profit en points input string MustTrade="Permissions de trade"; //+=============== PERMISSIONS DE TRADE ===============+ input int Deviation_=10; //Écart max de prix en points input bool BuyPosOpen=true; //Permission d'ouvrir des positions longues input bool SellPosOpen=true; //Permission d'ouvrir des positions courtes //+-------------------------------------------------+ //| Paramètres d'entrée de l'indicateur filtre | //+-------------------------------------------------+ input string Filter="PARAMÈTRES DE TENDANCE LENTE"; //+============== PARAMÈTRES DE TENDANCE ==============+ input ENUM_TIMEFRAMES TimeFrame=PERIOD_H6; //1 Période de graphique pour la tendance input uint ROCPeriod1=8; input Smooth_Method MA_Method1=MODE_JJMA; //Méthode de moyennage du premier indicateur input uint Length1=5 //Profondeur du premier lissage input int Phase1=15 //Le paramètre du premier lissage, //---- pour JJMA dans la plage de -100 ... +100, cela influence la qualité du processus de transition; //---- pour VIDIA c'est une période CMO, pour AMA c'est une période de moyenne lente input uint ROCPeriod2=14; input Smooth_Method MA_Method2=MODE_JJMA; //Méthode de moyennage du deuxième indicateur input uint Length2 = 5 //Profondeur du deuxième lissage input int Phase2=15 //Le paramètre du deuxième lissage, //---- pour JJMA dans la plage de -100 ... +100, cela influence la qualité du processus de transition; //---- pour VIDIA c'est une période CMO, pour AMA c'est une période de moyenne lente input ENUM_TYPE ROCType=MOM; input uint SignalBar=1; //Index de la bougie pour recevoir le signal d'entrée input bool BuyPosClose=true; //Permission de sortir des positions longues par tendance input bool SellPosClose=true; //Permission de sortir des positions courtes par tendance //+-------------------------------------------------+ //| Paramètres d'entrée de l'indicateur d'entrée | //+-------------------------------------------------+ input string Input="PARAMÈTRES D'ENTRÉE"; //+=============== PARAMÈTRES D'ENTRÉE ==============+ input ENUM_TIMEFRAMES TimeFrame_=PERIOD_M30; //2 Période de graphique pour l'entrée input uint ROCPeriod1_=8; input Smooth_Method MA_Method1_=MODE_JJMA; //Méthode de moyennage du premier indicateur input uint Length1_=5 //Profondeur du premier lissage input int Phase1_=15 //Le paramètre du premier lissage, //---- pour JJMA dans la plage de -100 ... +100, cela influence la qualité du processus de transition; //---- pour VIDIA c'est une période CMO, pour AMA c'est une période de moyenne lente input uint ROCPeriod2_=14; input Smooth_Method MA_Method2_=MODE_JJMA; //Méthode de moyennage du deuxième indicateur input uint Length2_ = 5 //Profondeur du deuxième lissage input int Phase2_=15 //Le paramètre du deuxième lissage, //---- pour JJMA dans la plage de -100 ... +100, cela influence la qualité du processus de transition; //---- pour VIDIA c'est une période CMO, pour AMA c'est une période de moyenne lente input ENUM_TYPE ROCType_=MOM; input uint SignalBar_=1;//Index de la bougie pour recevoir un signal d'entrée input bool BuyPosClose_=false; //Permission de sortir des positions longues par signal input bool SellPosClose_=false; //Permission de sortir des positions courtes par signal
Les variables de chaîne contenant le texte dans le code des paramètres d'entrée sont uniquement utilisées pour une meilleure visualisation de la fenêtre des paramètres d'entrée de l'EA.
Les indicateurs XROC2_VG_HTF dans l'EA sont uniquement destinés à une visualisation plus pratique des tendances dans le testeur de stratégies, dans d'autres modes de fonctionnement, ils sont inactifs.
Pour assurer le bon fonctionnement de l'Expert Advisor compilé, vous devez ajouter les fichiers d'indicateurs compilés XROC2_VG.ex5 et XROC2_VG_HTF.ex5 dans le dossier <terminal_data _folder>\MQL5\Indicators.
Notez que le fichier de bibliothèque TradeAlgorithms.mqh permet d'utiliser des Expert Advisors avec des courtiers qui offrent un spread non nul et l'option de définir des Stop Loss et Take Profit lors de l'ouverture d'une position. Vous pouvez télécharger d'autres variantes de la bibliothèque en suivant ce lien : Algorithmes de Trading.
Les paramètres d'entrée par défaut de l'Expert Advisor ont été utilisés lors des tests présentés ci-dessous. Les Stop Loss et Take Profit n'ont pas été utilisés pendant les tests.

Fig. 1. Exemples de deals sur le graphique
Résultats de test pour 2015 sur AUDUSD, tendance lente sur H6, entrée par tendance rapide sur M30 :
Fig. 2. Graphique des résultats de test
Articles connexes
- Générer des Signaux de Trading avec MQL5 Wizard : Étoiles du Matin/du Soir et RSI
- Utiliser MQL5 Wizard pour Créer un Expert Advisor Basé sur les Modèles de Chandeliers Englobants et MFI
- Générez des Signaux de Trading avec MQL5 Wizard : Dark Cloud Cover et Piercing Line
- Développez un Expert Advisor avec MQL5 : Signaux de Trading 3 Corbeaux Noirs / 3 Soldats Blancs + RSI
- AOCCI : Un Expert pour MetaTrader 5
