Auteur : Vladimir Khlystov
Voici un Expert Advisor (EA) simpliste basé sur l'oscillateur pondéré Fractal_WeightOscillator. Il vend lorsque l’oscillateur traverse à la baisse le niveau de surachat et achète lors de la traversée à la hausse du niveau de survente. Le signal se forme à la fermeture d'une bougie, si le niveau est franchi.
L'indicateur Fractal_WeightOscillator_HTF intégré dans l'EA est uniquement destiné à une visualisation plus pratique des tendances dans le testeur de stratégie ; il est inactif dans d'autres modes de fonctionnement.
Pour installer, placez les fichiers compilés Fractal_WeightOscillator.ex5 et Fractal_WeightOscillator_HTF.ex5 dans le <dossier_de_données_du_terminal>\MQL5\Indicators.
Après compilation, le fichier Exp_Fractal_WeightOscillator.ex5 contient les indicateurs Fractal_WeightOscillator.ex5 et Fractal_WeightOscillator_HTF.ex5 comme ressources, ce qui signifie qu'ils ne sont pas nécessaires dans le dossier du terminal pour que l'EA compilé fonctionne ! Pour cela, le code correspondant a été intégré dans le code de l'EA afin d'inclure ces indicateurs dans le fichier exécutable de l'expert.
Les fichiers exécutables des indicateurs ont été ajoutés comme ressources au niveau global.
#resource "\Indicators\Fractal_WeightOscillator.ex5"
#resource "\Indicators\Fractal_WeightOscillator_HTF.ex5"
Les chemins des chaînes vers les indicateurs utilisés comme ressources ont été modifiés dans le bloc de la fonction OnInit().
InpInd_Handle=iCustom(Symbol(),InpInd_Timeframe,"::Indicators\Fractal_WeightOscillator",
e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(InpInd_Handle==INVALID_HANDLE)
{
Print(" Impossible d'obtenir le handle de l'indicateur Fractal_WeightOscillator");
return(INIT_FAILED);
}
//---- Obtention du handle de l'indicateur Fractal_WeightOscillator_HTF pour visualisation dans le testeur de stratégie
if(MQLInfoInteger(MQL_VISUAL_MODE))
{
//---- Obtention du handle de l'indicateur Fractal_WeightOscillator_HTF
int Ind_Handle=iCustom(Symbol(),Period(),"::Indicators\Fractal_WeightOscillator_HTF",InpInd_Timeframe,
e_period,normal_speed,RSIWeight,RSIPrice,MFIWeight,MFIPrice,MFIVolumeType,
WPRWeight,DeMarkerWeight,bMA_Method,bLength,bPhase,HighLevel,LowLevel);
if(Ind_Handle==INVALID_HANDLE)
{
Print(" Impossible d'obtenir le handle de l'indicateur Fractal_WeightOscillator_HTF");
return(INIT_FAILED);
}
}
Ainsi, le fichier exécutable compilé de l'expert peut être utilisé sur d'autres terminaux de trading de manière autonome sans les indicateurs.
À noter que la bibliothèque TradeAlgorithms.mqh permet d'utiliser des Experts Advisors avec des courtiers offrant un spread non nul et l'option de définir Stop Loss et Take Profit lors de l'ouverture de position. Vous pouvez télécharger d'autres variantes de la bibliothèque via ce lien : Trade Algorithms.
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. Aucun Stop Loss ni Take Profit n'a été utilisé pendant les tests.

Fig. 1. Exemples de deals sur le graphique
Résultats des tests pour 2015 sur GBPUSD H6 :

Fig. 2. Graphique des résultats de test
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
- Découvrez le Système de Trading Exp_XPeriodCandle_X2 pour MetaTrader 5
- Découvrez l'Expert Advisor exp_iCustom_v5 pour MetaTrader 4
- Découvrez CoensioTrader1V06 : Votre nouvel allié sur MetaTrader 5