Salut les traders ! Aujourd'hui, je vais vous parler d'un Expert Advisor (EA) que j'ai développé, basé sur l'indicateur que vous pouvez trouver ici : https://www.mql5.com/en/code/9937. Un grand merci à l'auteur de cet indicateur ! Mon EA est assez simple, mais il génère des bénéfices, surtout lors des phases de tendance, même sur des time frames comme M1 ou M5.
Les fonctions plus complexes se trouvent dans le fichier ea.mqh, qui est utilisé pour tous mes EAs. La fonction start() vérifie les ordres en cours, appelle la fonction pour le trailing stop loss, puis appelle la fonction Signal() pour déterminer si l'indicateur de l'EA souhaite que quelque chose soit fait. Ensuite, il agit selon le signal retourné. La fonction Signal() renvoie -1 ou OP_BUY/OP_SELL si un achat ou une vente est nécessaire.
int Signal()
{
int i=1;
int signal = -1;
double ma1, ma2;
ma1=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,i)-iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_OPEN,i);
ma2=iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_OPEN,i)-iMA(NULL,0,MovingPeriod,MovingShift,MODE_SMA,PRICE_CLOSE,i);
if (ma1 > ma2) signal = OP_BUY;
if (ma1 < ma2) signal = OP_SELL;
return (signal);
}
Vous pouvez facilement modifier la fonction Signal() pour l'adapter à vos besoins, par exemple en utilisant un autre indicateur, en choisissant toujours d'acheter ou de vendre, ou même en intégrant un générateur de nombres aléatoires (j'utilise toutes ces méthodes pour voir si l'EA est plus performant qu'un simple achat ou vente en tendance ou qu'un choix aléatoire).

------------------------------------------------------------
Voici la version mise à jour de ea.mqh, n'oubliez pas de la renommer !
Il y avait une erreur dans FindOrders (j'ai retiré accidentellement une ligne).
Nouvelle fonctionnalité : BreakEven, si l'indicateur est à +20 pips, le stop loss est fixé à 0.

Commentaire 0