Trailing Stops y Trailing Profit - página 7

 
Arav007:

Aquí está.

Saludos


Ver https://www.mql5.com/en/forum/150195/page6#924239 para una mejor manera
 

Lo he visto y probado también.

También no resuelve el problema con'Stop Loss' y 'Least Profit Locking' que sólo necesito para hacer esta EA completa.

 

Este es el comienzo de su código

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)

explique qué hace este código y

por qué hace esto.... y cuándo sucede

¿Qué quieres que haga este código?

¿sabe usted iLastError si hay un error?

 

Gracias. Me has abierto los ojos.

Está cerrando todas las órdenes abiertas cada vez que se ejecuta porque la Condición es

if (OrderProfit()<0.03 )

Así que cerrará todas las órdenes recién abiertas de forma natural.

Mi objetivo era que si una operación entra en beneficios, por ejemplo 0,1$, y luego si esa operación se vuelve atrás, se cerrará con el menor beneficio, por ejemplo 0,01$.

Probablemente no es posible mediante la función'OrderProfit()'.

Tendría que usar lo de los trailing stops.

 
Arav007:

Lo he visto y probado también.

Tampoco resuelve el problema con el 'Stop Loss' y el 'Least Profit Locking' que necesito para que este EA sea completo.


¿Qué querías codificar?

que problema hay con el stoploss

en el punto de equilibrio que tiene menos beneficios de bloqueo para los dos primeros oficios como usted quería, ..... pensé

 
deVries:


¿Qué es lo que querías codificar?

que problema hay con el stoploss

en el punto de equilibrio que tiene menos beneficios de bloqueo para los dos primeros oficios como usted quería, ..... pensé


Por favor, perdóneme.

No he podido configurar los parámetros correctamente.

¡Sí, esto es todo! Muchas gracias.

SL movido para las dos primeras operaciones y el TP también.

He utilizado esta configuración ahora:

extern double BreakEven =5;

extern double BreakEvenSL =1;

extern double TrailingStop =10;

extern double TrailingStep =3;

Sólo para aclarar el concepto:

Si el mercado se mueve 5 pips en beneficio desde el precio de apertura, el Stop Loss se establecerá en 1 pip de beneficio. Entonces se iniciará la función de Trailing Stop.

Con un Trailing Stop de 10, si el mercado se mueve 10 pips en ganancia desde el precio de apertura, el Stop Loss se convertirá en 3 pips en ganancia, ¿correcto?

¿Y si el mercado alcanza 10 pips más, es decir, 20 pips en total, el SL estará en 6 pips de ganancia?

Saludos