Mon compte
Déjà membre ? S'identifier
Non inscrit ? S'inscrire
 
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Membre lvl 5 nous67 est sur la route de la réputation... Avatar de nous67
    Date d'inscription
    March 2011
    Messages
    14
    Pouvoir de réputation
    3

    besoin d'aide pour un ea besoin d'aide pour un ea

    Bonjour,
    Voici notre question, nous cherchons un programme pour MT4 qui automatiquement règle le stop loss par tranche de 1 ou 2 pips de façon à limiter les pertes, pat contre il ne doit pas remonter dans le sens inverse

  2. #2
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    Bonjour il y a un article sur le Guide metatrader de ce site qui explique comment réaliser un stop à la traine

    Guide MetaTrader, leçon 16, Trailing stop en langage MQL4

    voilà

  3. #3
    Membre lvl 5 nous67 est sur la route de la réputation... Avatar de nous67
    Date d'inscription
    March 2011
    Messages
    14
    Pouvoir de réputation
    3

    besoin d'aide besoin d'aide

    je cherche a faire un EA qui descend en fonction de la position du pip's du marcher et que des que le stop loss a atteind ma position de rentre qui continue a descendre mais ne remonte pas

    voici ce que j'ai
    si quelqu'un peut m'ainder



    int trailing_stop = 5;
    double ts;

    for (int i = OrdersTotal()-1; i >= 0; i --) // on parcourt tous les ordres
    {
    OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
    if (OrderSymbol() == Symbol())
    {
    if (OrderType(5) == OP_BUY) // trailing stop pour un ordre d’achat
    {
    ts = Bid-(Point*trailing_stop); // calcul trailing stop
    if (OrderStopLoss()< 0 ts) // test si nouveau plus haut
    OrderModify(OrderTicket(5),OrderOpenPrice(), 50 ts,OrderTakeProfit(),5,White);
    }
    if (OrderType(5) == OP_SELL) // trailing stop pour un ordre de vente
    {
    ts = Ask+(Point*trailing_stop); // calcul trailing stop
    if (OrderStopLoss()> 0ts)// test si nouveau plus bas
    OrderModify(OrderTicket(),OrderOpenPrice(), 5 ts,OrderTakeProfit(),5,White);
    }
    }
    }

  4. #4
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    Bonjour

    je ne comprend pas bien votre code...

    une fonction stop suiveur a chaque pip

    Code:
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    //+ stop suiveur                                                     +
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    void suiveur(int ts)
    {
    double stop;
          //++boucle sur tout les ordres
          for (int i=0; i<(OrdersTotal()); i++) 
          {
           //rafraichissement 
           RefreshRates();  
           //++seléction des ordres en mode trade
           OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
           //++si la devise est identique au graph ou se trouve l'ea 
           if (OrderSymbol() == Symbol())///if (OrderSymbol() == Symbol()&& OrderMagicNumber()==magic )  
           {       
                   //++les Buy
                   if (OrderType() == OP_BUY) 
                      {
                      //++calcul et normalisation valeur stop
                      stop=NormalizeDouble(Bid-(Point*ts),Digits);
                      //++si on peut se raprocher ou si il n'y a pas de stoploss 
                      if (OrderStopLoss()<stop || OrderStopLoss()==0) 
                      {
                       bool retrn =OrderModify(OrderTicket(),OrderOpenPrice(),stop,OrderTakeProfit(),0,White);
                          //++alerte de verif++ //  
                          //  if (retrn == false)
                          //  {
                          //  Alert("OrderModify() error - ", GetLastError(),":b:",stop);
                          //  }else{      
                          //  Alert("OK modif a "+stop);
                          //  }   
                      }
                      }
                   if (OrderType() == OP_SELL)
                      {
                      stop=NormalizeDouble(Ask+(Point*ts),Digits);
                      if (OrderStopLoss()>stop || OrderStopLoss()==0)
                      {
                      bool retr =OrderModify(OrderTicket(),OrderOpenPrice(),stop,OrderTakeProfit(),0,White);
                         //++alerte de verif //  
                         //   if (retr == false)
                         //   {
                         //   Alert("OrderModify() error - ", GetLastError(),":s:",stop);
                         //   }else{      
                         //   Alert("OK modif"+stop);
                         //   }   
                      }
                      }
           }          
          }
    }
    et dans la fonction start(){suiveur(nbpip);}

    Bien a vous
    Dernière modification par Pacamo ; 05/05/2011 à 14h22.

  5. #5
    Membre lvl 5 nous67 est sur la route de la réputation... Avatar de nous67
    Date d'inscription
    March 2011
    Messages
    14
    Pouvoir de réputation
    3

    et ou ce trouve le start?

  6. #6
    Membre lvl 50 Pacamo deviendra bientot célèbre... Avatar de Pacamo
    Date d'inscription
    February 2011
    Localisation
    Suisse
    Messages
    64
    Pouvoir de réputation
    4

    bref...

    Code:
    /+------------------------------------------------------------------+
    //|                                                         test.mq4 |
    //|                                         Copyright © 2011, Pacamo |
    //|                                            http://www.pacamo.net |
    //+------------------------------------------------------------------+
    #property copyright "Copyright © 2011, Pacamo"
    #property link      "http://www.pacamo.net"
    extern int       stops=25;
    //+------------------------------------------------------------------+
    //| expert initialization function                                   |
    //+------------------------------------------------------------------+
    int init()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    int deinit()
      {
    //----
       
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //| expert start function                                            |
    //+------------------------------------------------------------------+
    int start()
      {
    //----
       suiveur(stops);
    //----
       return(0);
      }
    //+------------------------------------------------------------------+
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    //+ stop suiveur                                                     +
    //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    void suiveur(int ts)
    {
    double stop;
          //++boucle sur tout les ordres
          for (int i=0; i<(OrdersTotal()); i++) 
          {
           //++seléction des ordres en mode trade
           OrderSelect(i, SELECT_BY_POS, MODE_TRADES);
           //++si la devise est identique au graph ou se trouve l'ea 
           if (OrderSymbol() == Symbol())///if (OrderSymbol() == Symbol()&& OrderMagicNumber()==magic )  
           {       
                   RefreshRates();  
                   //++les Buy
                   if (OrderType() == OP_BUY) 
                      {
                      //++calcul et normalisation valeur stop
                      stop=NormalizeDouble(Bid-(Point*ts),Digits);
                      //++si on peut se raprocher ou si il n'y a pas de stoploss 
                      if (OrderStopLoss()<stop || OrderStopLoss()==0) 
                      {
                       bool retrn =OrderModify(OrderTicket(),OrderOpenPrice(),stop,OrderTakeProfit(),0,White);
                          //++alerte de verif++ //  
                          //  if (retrn == false)
                          //  {
                          //  Alert("OrderModify() error - ", GetLastError(),":b:",stop);
                          //  }else{      
                          //  Alert("OK modif a "+stop);
                          //  }   
                      }
                      }
                   if (OrderType() == OP_SELL)
                      {
                      stop=NormalizeDouble(Ask+(Point*ts),Digits);
                      if (OrderStopLoss()>stop || OrderStopLoss()==0)
                      {
                      bool retr =OrderModify(OrderTicket(),OrderOpenPrice(),stop,OrderTakeProfit(),0,White);
                         //++alerte de verif //  
                         //   if (retr == false)
                         //   {
                         //   Alert("OrderModify() error - ", GetLastError(),":s:",stop);
                         //   }else{      
                         //   Alert("OK modif"+stop);
                         //   }   
                      }
                      }
           }          
          }
    }

    Bien a vous

Discussions similaires

  1. besoin d'aide pour ea
    Par greg1212 dans le forum Programmation
    Réponses: 0
    Dernier message: 27/12/2010, 15h31
  2. Besoin d'aide pour backtest
    Par -Michel- dans le forum Programmation
    Réponses: 0
    Dernier message: 29/10/2010, 13h21
  3. Besoin de d'aide pour EA
    Par MartinLeBon dans le forum Programmation
    Réponses: 9
    Dernier message: 19/02/2010, 19h33
  4. Besoin d'aide pour codage EA
    Par kouyate dans le forum Trading Divers
    Réponses: 1
    Dernier message: 13/02/2010, 16h35
  5. Besoin d'aide pour un EA
    Par @rno67 dans le forum Programmation
    Réponses: 0
    Dernier message: 12/04/2009, 00h29

Ajouter aux Favoris | Plan du site | Archives | Forex | Contact