Stops suiveurs et bénéfices suiveurs - page 7

 
Arav007:

Le voici.

Salutations


Voir https://www.mql5.com/en/forum/150195/page6#924239 pour une meilleure méthode
 

Je l'ai vu et testé aussi.

Cela ne résout pas non plus le problème du"Stop Loss" et du "Least Profit Locking" dont j'ai besoin pour que cet EA soit complet.

 

Voici le début de votre code

if(OrdersTotal()>0)
   {//----------------------------------------------------------------->1
   for(int cnt=OrdersTotal()-1;cnt>=0;cnt--)
     {//--------------------------------------------------------------->2    
     if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;
     if(OrderSymbol() == Symbol() && OrderMagicNumber() ==Magic_Number_1)
       {
       if (OrderProfit()<0.03)
         {
         if(OrderType()==OP_BUY)
           {  
           bOrderClosed = closeBuyOrder(iOrderType_Buy); //Closing Buy order    
           if(bOrderClosed)
             {
             Print("Buy Order 1 Closed");
             }
            else
               {
               iLastError = GetLastError();                                       
               }//end else if(bOrderClosed)
           }//end if(OrderType()==OP_BUY)
       if(OrderType()==OP_SELL)
          {  
          bOrderClosed = closeSellOrder(iOrderType_Sell); //Closing Sell order
          if(bOrderClosed)
            {
            Print("Sell Order 1 Closed");
            }
           else
              {
              iLastError = GetLastError();
              }//end else if(bOrderClosed)
          }//end if(OrderType()==OP_SELL)
        }// if (OrderProfit()<0.03)                          
      }// if(OrderSymbol() == Symbol() && OrderMagicNumber() ==Magic_Number_1)

expliquer ce que fait ce code et

pourquoi il a fait cela.... et quand cela s'est produit

Que voulez-vous que fasse ce code ?

Connaissez-vous iLastError s'il y a une erreur ?

 

ohh, merci. Vous m'avez ouvert les yeux.

Il ferme tous les ordres ouverts chaque fois qu'il est exécuté parce que la condition est :

if (OrderProfit()<0.03 )

Donc il ferme naturellement tous les ordres qui viennent d'être ouverts.

Mon objectif était de fermer un ordre avec un profit de 0,1$ et si cet ordre se retourne, il sera fermé avec le plus petit profit de 0,01$.

Ce n'est probablement pas possible avec la fonction'OrderProfit()'.

Je devrais utiliser les stops suiveurs.

 
Arav007:

Je l'ai vu et testé aussi.

Cela ne résout pas non plus le problème du "Stop Loss" et du "Least Profit Locking" dont j'ai besoin pour que cet EA soit complet.


Qu'est-ce que vous vouliez coder ?

quel est le problème avec le stoploss

au breakeven vous avez le verrouillage du moindre profit pour les deux premiers trades comme vous le vouliez, ..... je pensais

 
deVries:


Que vouliez-vous coder ?

Quel est le problème avec le stoploss ?

au breakeven vous avez le moins de blocage de profit pour les deux premiers trades comme vous le souhaitiez, ..... je pensais que


Veuillez me pardonner.

Je n'ai pas pu régler les paramètres correctement.

Oui, c'est ça ! Merci beaucoup.

Le SL a été déplacé pour les deux premiers trades et le TP aussi.

J'ai utilisé ces paramètres maintenant :

extern double BreakEven =5 ;

extern double BreakEvenSL =1 ;

extern double TrailingStop =10 ;

extern double TrailingStep =3 ;

Juste pour clarifier le concept :

Si le marché se déplace de 5 pips en profit par rapport au prix d'ouverture, le Stop Loss sera fixé à 1 pip de profit. Ensuite, la fonction de Trailing Stop commencera.

Avec un Trailing Stop de 10, si le marché se déplace de 10 pips en profit par rapport au prix d'ouverture, le Stop Loss deviendra à 3 pips en profit, n'est-ce pas ?

Et ensuite, si le marché atteint 10 pips de plus, c'est-à-dire 20 pips au total, le SL sera à 6 pips de profit ?

Salutations