Salut les traders ! Aujourd'hui, parlons d'un système de trading qui pourrait bien vous intéresser : le Iin_MA_Signal. Ce système unique utilise un indicateur pour formuler des signaux de trading, en ajustant le volume des opérations futures en fonction des résultats des transactions précédentes. Les signaux sont générés à la fermeture d'une barre lorsque le tendance change, indiquée par la couleur de l'étiquette de l'indicateur.
Pour optimiser la gestion des volumes des positions ouvertes, un bloc de variables d'entrée a été ajouté à l'EA :
input uint BuyTotalMMTriger=5; // Nombre des dernières opérations d'achat pour calculer le stop loss input uint BuyLossMMTriger=3; // Nombre des opérations d'achat perdantes pour réduire le MM input uint SellTotalMMTriger=5;// Nombre des dernières opérations de vente pour calculer le stop loss input uint SellLossMMTriger=3; // Nombre des opérations de vente perdantes pour réduire le MM input double SmallMM_=0.01; // Part du dépôt dans une opération en cas de perte input double MM=0.1; // Part du dépôt dans une opération pendant le trading normal input MarginMode MMMode=LOT; // Méthode de détermination de la valeur du lot
Avec ces paramètres, si on considère les cinq dernières transactions et que trois d'entre elles sont perdantes dans une seule direction, l'EA ouvrira la prochaine opération dans la même direction avec un volume de 0.01 lot. Si moins de trois opérations perdantes sont présentes, le volume de la position sera de 0.1.
Cet EA est une amélioration de l'Exp_Iin_MA_Signal. Des ajustements ont été apportés au code, notamment dans le bloc d'ouverture et de fermeture des positions :
//---- Exécution des opérations //---- Fermeture d'une position longue par numéro magique BuyPositionClose_M(BUY_Close,Symbol(),Deviation_,BuyMagic); //---- Fermeture d'une position courte par numéro magique SellPositionClose_M(SELL_Close,Symbol(),Deviation_,SellMagic); double mm; //---- Ouverture d'une position longue par numéro magique if(BUY_Open) { mm=BuyTradeMMRecounterS(BuyMagic,BuyTotalMMTriger,BuyLossMMTriger,SmallMM_,MM); // définir le volume de la position longue selon les résultats des transactions précédentes BuyPositionOpen_M1(BUY_Open,Symbol(),UpSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,BuyMagic); } //---- Ouverture d'une position courte par numéro magique if(SELL_Open) { mm=SellTradeMMRecounterS(SellMagic,SellTotalMMTriger,SellLossMMTriger,SmallMM_,MM); // définir le volume de la position courte selon les résultats des transactions précédentes SellPositionOpen_M1(SELL_Open,Symbol(),DnSignalTime,mm,MMMode,Deviation_,StopLoss_,TakeProfit_,SellMagic); }
Pour que l'EA fonctionne correctement, le fichier compilé Iin_MA_Signal.ex5 doit être disponible dans le dossier <terminal_data_directory>\MQL5\Indicators.
Les paramètres d'entrée par défaut de l'Expert Advisor, sans stops, ont été utilisés lors des tests que vous pouvez voir ci-dessous.

Fig. 1. Exemples de transactions sur le graphique
Résultats des tests sur GBPJPY H1 pour l'année 2017 :

Fig. 2. Graphique des résultats des tests
Articles connexes
- Utiliser MQL5 Wizard pour Créer un Expert Advisor Basé sur les Modèles de Chandeliers Englobants et MFI
- Développez un Expert Advisor avec MQL5 : Signaux de Trading 3 Corbeaux Noirs / 3 Soldats Blancs + RSI
- Lazy Bot MT5 : L'EA idéal pour le trading quotidien sur MetaTrader 5
- Découvrez l'Expert Advisor exp_iCustom_v5 pour MetaTrader 4
- Découvrez CoensioTrader1V06 : Votre nouvel allié sur MetaTrader 5