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

Fabriquer son EA à partir d'indicateur

  • Djmisterjon

    si sa peut taider ses video mon beacoup aider pour apprendre facilment en quelque heure mql4

    http://www.forexagone.com/forum/t/7373-metatrader-editor-cour-a-a-z-debuter-dans-la-programmation-mql4-debutant-et-expert.html?page=1#32977
  • Da_blackst4r

    Merci Djmisterjon :)
    je suis sur mon smartphone et demain matin j'ai cours donc je jette un œil à ça dans l‘après ~midi

    :)
  • edgar

    bonjour,y a t il un moyen de remplacer le tp donc cloture du trade par le signal inverse de ce trade:
    si signal de depart etait buy en cloture sera le signal de sell et par consequant il y aura ouverture d'un autre trade sell et au signal de buy il y aura cloture du trade
    j'ai trouvé un ea qui ressemble etrangement à celui de forexagone
    peut on le rajouter dessus?
  • babs

    Bien sûr que tu peux créer ça.
    Si tu veux nous pouvons le créer ensemble, pour cela poste le début de ton robot sur autoforex.fr et ensuite je t'aiderai à ajouter ce qu'il te faut. Ce sera plus interactif et tu retiendras mieux le pourquoi du comment ;)
  • babs

    Oui il me semble que l'EA que j'ai posté fait exactement ça si tu mets des TP géant ;)
  • Da_blackst4r

    merci babs :)
    je fais me mettre au boulot durant la semaine car là lundi mardi mercredi je suis chargé en devoir à la fac :s
    Je posterais un message sur ce thread alors :)
    merci pour ton aide :)
  • edgar

    en regardant de près, tp=0,sl=0
    il commence le trade au signal et cloture au signal
    en backtest il est en perte (les parametres ne sont pas bon)
  • NYKOES

    Sur le forum d'autoforex.fr, comme l'a dit BABS, on se fera un plaisir de vous aider à modifier ce petit robot :)
  • edgar

    Merci,déjà sur auto forex on est entrain de me confectionner un EA de haute couture
    celui ci je suis entrain de le tester pour voir si un EA avec indicateurs(mm,rsi etc )peut fonctionner
    edgar a joint une image
    G4597DE
  • babs

    Il peut fonctionner mais avec un MM strict voir très strict ;)

    Mais rien ne garantira son fonctionnement, sans changer les paramètres, sur le long terme.
  • babs

    J'ai également mis une version améliorer sur autoforex.fr à la demande de chris.
  • xanklo

    Bonjour Babs,

    J'ai fai un copier/coller de ton code "MACross.mq4" dans l'éditeur de Metatrader4 et quand je veux le compiler, cela me donne 5 erreurs avec comme message :
    les variables Ask, ligne (118,31), StopLoss, lignes (118,41 et 128,42) et TakeProfit, lignes (118,62 et 128,63) ne sont pas définies, alors qu'elles sont déclarées en début de programme en tant que variables externes. Je ne vois pas pourquoi. Connaissant encore mal la structure d'un programme en langage MQL4, d'où penses-tu que vient le problème ?
    Je te remercie par avance.
    xanklo
  • hpiron

    Bonjour,

    Je recherche une personne pour réaliser un ea avec mes indicateurs.
    Attention les indicateurs ne sont pas de moi. Mais très simple à comprendre.
    Merci de me faire une proposition à info @ eptcom. . NET
  • cadmos

    Maintenant il va falloir que je l'adapte a l'alligator.
  • cadmos

    J'ai adapté le code de Babs a Alligator, les trades sont majoritairement perdant du fait que le programme attend la fin de la bougie pour prendre la position. Je reprend plus tard pour vous envoyer l'illustration. Entre temps j'essaie :if(isNewBar() && ema5>=ema13 && ema5Prev<ema13Prev && (OpenedOrder==2 || OpenedOrder==0)) proposer par robotrader.

    Visuellement c'est hyper-interessant !
  • cadmos

    voila le code modifié :

    //+------------------------------------------------------------------+

    //| Test Alligator.mq4 |

    //| Merci à : Babs Assoc. |

    //| |

    //+------------------------------------------------------------------+

    #property copyright "Copyright © 2012, Cadmos"


    //+------------------------------------------------------------------+

    //| External Parameters |

    //+------------------------------------------------------------------+

    extern int MagicNumber = 69;

    extern double lot = 0.05;

    extern int TakeProfit = 10000;

    extern int StopLoss = 9;



    //+------------------------------------------------------------------+

    //| Global Variable |

    //+------------------------------------------------------------------+



    int OpenedOrder; // 1=Buy , 2=Sell

    double MyPoint;

    int NbBars;



    //+------------------------------------------------------------------+

    //| expert initialization function |

    //+------------------------------------------------------------------+

    int init()

    {

    //----

    OpenedOrder=FALSE;

    NbBars=0;

    if (Digits == 5 || Digits == 3) MyPoint = Point*10;

    else MyPoint= Point;

    //----

    return(0);

    }

    //+------------------------------------------------------------------+

    //| expert deinitialization function |

    //+------------------------------------------------------------------+

    int deinit()

    {

    //----



    //----

    return(0);

    }

    //+------------------------------------------------------------------+

    //| expert start function |

    //+------------------------------------------------------------------+

    int start()

    {

    //----

    double jaw_val, jaw_valPrev;

    double lips_val, lips_valPrev;



    //Acquisition des indicateurs

    jaw_val=iAlligator(NULL, 60, 10, 2, 8, 1, 6, 0, MODE_EMA, PRICE_MEDIAN, MODE_GATORJAW, 0);

    jaw_valPrev=iAlligator(NULL, 60, 10, 2, 8, 1, 6, 0, MODE_EMA, PRICE_MEDIAN, MODE_GATORJAW, 1);

    lips_val=iAlligator(NULL, 60, 10, 2, 8, 1, 6, 0, MODE_EMA, PRICE_MEDIAN, MODE_GATORLIPS, 0);

    lips_valPrev=iAlligator(NULL, 60, 10, 2, 8, 1, 6, 0, MODE_EMA, PRICE_MEDIAN, MODE_GATORLIPS, 1);



    //Verification des trades ouverts

    CheckTrade();



    //Logique

    if(isNewBar())

    {

    if(lips_val>=jaw_val && lips_valPrev<jaw_valPrev && (OpenedOrder==2 || OpenedOrder==0)) //Croisement à la hausse

    {

    CloseTrade();

    OpenBuy();

    }

    if(lips_val<=jaw_val && lips_valPrev>jaw_valPrev && (OpenedOrder==1 || OpenedOrder==0)) // Croisement à la baisse

    {

    CloseTrade();

    OpenSell();

    }

    }





    //----

    return(0);

    }



    //+------------------------------------------------------------------+



    //+------------------------------------------------------------------+

    //| expert Close Buy/Sell order function |

    //+------------------------------------------------------------------+

    void CloseTrade()

    {

    for(int i= OrdersTotal()-1;i>=0;i--)

    {

    OrderSelect(i, SELECT_BY_POS);

    int type = OrderType();

    if (OrderMagicNumber() == MagicNumber && Symbol()==OrderSymbol()) {

    switch(type)

    {

    //Fermeture des positions d’achat

    case OP_BUY : OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(),MarketInfo(OrderSymbol(), MODE_BID), Red );

    break;



    // Fermeture des positions de vente

    case OP_SELL : OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(),MarketInfo(OrderSymbol(), MODE_ASK), Red );

    break;

    }

    }

    }

    }



    //+------------------------------------------------------------------+

    //| expert Open Buy order function |

    //+------------------------------------------------------------------+

    void OpenBuy() {

    if (!IsTradeContextBusy() && IsTradeAllowed())

    {

    OrderSend(Symbol(),OP_BUY,lot,Ask,3,Bid-StopLoss*MyPoint,Ask+TakeProfit*MyPoint,"69 Année érotique",MagicNumber,0,Green);

    }

    }



    //+------------------------------------------------------------------+

    //| expert Open Sell order function |

    //+------------------------------------------------------------------+

    void OpenSell() {

    if (!IsTradeContextBusy() && IsTradeAllowed())

    {

    OrderSend(Symbol(),OP_SELL,lot,Bid,3,Ask+StopLoss*MyPoint,Bid-TakeProfit*MyPoint,"69 Année érotique",MagicNumber,0,Green);

    }

    }



    //+------------------------------------------------------------------+

    //| Check order function |

    //+------------------------------------------------------------------+

    void CheckTrade() {

    OpenedOrder=0;

    for(int i= OrdersTotal()-1;i>=0;i--)

    {

    OrderSelect(i, SELECT_BY_POS);

    int type = OrderType();

    if (OrderMagicNumber() == MagicNumber && OrderSymbol() == Symbol())

    {

    switch(type)

    {

    case OP_BUY : OpenedOrder=1;

    break;

    case OP_SELL : OpenedOrder=2;

    break;

    }

    }

    }

    }



    //+------------------------------------------------------------------+

    //| Check New Bar function |

    //+------------------------------------------------------------------+

    bool isNewBar() {

    if (NbBars < Bars) {

    NbBars = Bars;

    return (TRUE);

    }

    return (FALSE);

    }
    cadmos a joint une image
    G4874HE
  • babe (invité)

    salut babs tu pourra m envoyé ton programme stp via email [email protected] merci
  • REC54

    Bonjour a tous et a toutes.
    Je me penche sur un EA depuis quelque jour deja et je pense avoir trouver le filtre qui me manque: l'advanced ADX. mais j'ai un souci lors du icustom. mes autres icustom fonctionne sans probleme mais celui la me fait un truc très bizzar. (voir image). L'indicateur se charge a l'infini et pollu mon espace de travaille. deja eu ca?
    Comment resoudre ce probleme?
    Merci a tous de vos reponse
    REC54 a joint une image
    G4900GA
  • REC54

    Bon ba en fait j'ai trouver le probleme comme un grand. merci quand meme
  • Oliv' (invité) — en réponse à dens dans son message #40203

    100% d'acc avec Dens.
    Je suis nouveau sur cette plateforme, et je m'initie aussi ce code. En revanche, c'est laborieux.
    Peux tu m'envoyer un exemple de robot stp?