Rejoindre la communauté
banner_forum
Devenez membre de la plus grande
communauté francophone sur le Forex
Partagez, échangez et apprenez en gagnant des crédits sur votre compte de trading

Expert Advisor basé sur les Moyennes Mobiles

  • Solenn

    Bonjour,

    Quelqu'un a-t-il les connaissances, les compétences, pour réaliser l'outil trading system Forexagone pour Metatrader 5 par ex ?

    Expert Advisor basé sur les Moyennes Mobiles
    Ce trading système élémentaire est mis en avant par l'équipe de Forexagone. Il utilise comme stratégie le croisement de deux moyennes mobiles, l'une de période 5 et l'autre de période 10. Avant de délivrer le signal, l'outil analytique fait appel aux informations délivrées par les oscillateurs RSI (période 14) et Stochastique afin de vérifier la convergence des informations. Pour finir l'outil estime la volatilité afin d'offrir une force de signal proportionnelle à celle-ci. Cet Expert Advisor est disponible dans l'ensemble des Timeframe.

    Merci
  • Matthieuw31

    Bonjour Solenn, je peux faire le programme si tu veux, mais en MQL4 pour MT4 (après il faut le convertir en MQL5 si tu veux utiliser MT5, ça devrait pas être trop complexe comme travail). Si ça t'intéresse, il faut que tu me donnes toutes les conditions pour passer les ordres, stop loss, take profit...
  • Solenn — en réponse à Matthieuw31 dans son message #119016

    Bonjour Mattheuw31,

    Merci beaucoup pour ta proposition. Dans un premier temps, si cela est possible, je ne souhaite pas d'auto trading, mais simplement les mêmes types d'alertes automatiques que sur https://www.forexagone.com/outils-forex/expert-advisor-moyenne-mobile#

    Il s'agit de 2 moyennes mobiles exponentielles, 1 RSI 14 et 1 Stocha 14 et de ce que je vois un signal d'achat lorsque la MM5 croise à la hausse la MM10 et que le RSI et le Stocha sont simplement au dessus de leur niveau 50 (l'EA n'a pas l'air de bosser avec les divergences ou avec les zones de surachats/sruventes - il regarde juste si on est au dessus ou en dessous des 50 ... d'après ce que je comprends en le regardant).
    Voilà globalement si créer ces alertes auto sur MT4 et/ou MT5 est jouable ça serait top.

    Merci encore
  • Matthieuw31

    Salut Solenn,

    J'ai écrit ce petit code qui correspond à ta demande:

    Code
    //+------------------------------------------------------------------+ //| ma5&10exp.mq4 | //| Copyright 2020, Matthieu W | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, Matthieu W" #property link "https://www.mql5.com" #property version "1.00" #property strict //+------------------------------------------------------------------+ //| Input variables | //+------------------------------------------------------------------+ double ma5_0, ma10_0; //moyennes mobiles actuelles double ma5_1, ma10_1; //moyennes mobiles précédentes double rsi, stoch; datetime LastActiontime; //utilisé pour détecter une nouvelle barre //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(LastActiontime != Time[0]) //à chaque nouvelle barre { LastActiontime = Time[0]; ma5_0 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,0); //moyenne mobile 5 actuelle ma10_0 = iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,0); //moyenne mobile 10 actuelle ma5_1 = iMA(NULL,0,5,0,MODE_EMA,PRICE_CLOSE,1); //moyenne mobile 5 précédente ma10_1 = iMA(NULL,0,10,0,MODE_EMA,PRICE_CLOSE,1); //moyenne mobile 10 précédente rsi = iRSI(NULL,0,14,PRICE_CLOSE,0); //rsi stoch = iStochastic(NULL,0,14,14,3,MODE_SMA,0,MODE_MAIN,0); //stochastic if((ma5_1 < ma10_1) && (ma5_0 > ma10_0) && (rsi > 50) && (stoch > 50)) //croisement à la hausse { //int ticket=OrderSend(Symbol(), OP_BUY, 0.1, Ask, 3, Ask-0.0010, Ask+0.0010, NULL, 123456, 0, clrNONE); SendNotification(StringConcatenate("Croisement a la hausse Ma5 et Ma 10 sur ", Symbol())); } else if((ma5_1 > ma10_1) && (ma5_0 < ma10_0) && (rsi < 50) && (stoch < 50)) //croisement à la baisse { //int ticket=OrderSend(Symbol(), OP_SELL, 0.1, Bid, 3, Bid+0.0010, Bid-0.0010, NULL, 123456, 0, clrNONE); SendNotification(StringConcatenate("Croisement a la baisse Ma5 et Ma 10 sur ", Symbol())); } } }
    Il faut que tu actives les notifications push dans les options de MT4 (sur PC) pour que ça fonctionne.

    Pour info, je l'ai backtesté sur environ 1 mois en timeframe 1 minute pour l'EurUsd (voir les ordres d'achat et de vente passés en commentaire) et il n'est pas rentable pour le moment. Il faut approfondir (stop loss, take profit, devise, timeframe...).
    Matthieuw31 a joint une image
    expert-advisor-base-sur-les-moyennes-mobiles-12202
  • Solenn

    Hello,
    Merci beaucoup pour le travail. Je vais le tester sur MT4

    J'ai tenté de le convertir pour MT5, mais voici les erreurs
    Solenn a joint une image
    expert-advisor-base-sur-les-moyennes-mobiles-12203
  • Matthieuw31 — en réponse à Solenn dans son message #119060

    Re!

    Je ne connais pas MQL5, mais dans ton rapport d'erreurs, il n'y a que 2 types d'erreurs:

    La plupart des erreurs ('wrong parameters count' et 'MODE_MAIN') vient du fait qu'en MQL5, ces fonctions n'ont pas le même nombre de paramètres qu'en MQL4 et donc il faut adapter.

    Time[0] semble ne pas être reconnu, il doit y avoir un équivalent.