Como saber si salta el takeprofit?

Foro para cuestiones generales sobre la plataforma MetaTrader 4.

Como saber si salta el takeprofit?

Notapor johnnycero » 22 Nov 2016, 18:28

Hola gente! :D
Bueno sigo probando con los robots! mi pregunta es la siguiente:

Si lanzo un orden que tenga stop loss y take profit y quiero saber cual de los dos a saltado para volver a entrar en caso de ser el take profit no se que variable revisar o de que manera hacerlo!

Espero vuestra ayuda como siempre! gracias! ;)
johnnycero
 
Mensajes: 3
Registrado: 15 Nov 2016, 19:43
Karma: 0

Re: Como saber si salta el takeprofit?

Notapor FXWizard » 05 Dic 2016, 20:47

Se me ocurre a bote pronto que puedas comprobar si la orden con el ticket N sigue abierta o ha saltado, en cuyo caso se vuelve a entrar.

Saludos,
FXWizard
Avatar de Usuario
FXWizard
 
Mensajes: 7911
Registrado: 12 Feb 2008, 15:17
Karma: 32

Re: Como saber si salta el takeprofit?

Notapor losja » 12 Mar 2017, 14:00

Si te refieres a cómo hacerlo en MQL4:

Alternativa 1:

Código: Seleccionar todo
int Ticket = 123456; // el número de orden
// seleccionamos la orden
if(OrderSelect(ticket,SELECT_BY_TICKET))
{
   // comprobamos que tenga hora de cierre (si es 0, no ha cerrado todavía)
   if(OrderCloseTime()!=0)
   {
      // si la orden cerro con beneficios es que cerrro con "take profit"
      if(OrderProfit()>0)
      {
         // confirmado "take profit" ejecutado, siempre y cuando no hubiera otra condición de cierre
         // diferente a "stop loss" y "take profit""
      }
      else
      {
         // orden cerrada con "stop loss"
      }
   }
}


Alernativa 2:

Código: Seleccionar todo
int Ticket = 123456; // el número de orden
// seleccionamos la orden
if(OrderSelect(ticket,SELECT_BY_TICKET))
{
   // comprobamos que tenga hora de cierre (si es 0, no ha cerrado todavía)
   if(OrderCloseTime()!=0)
   {
      // la orden era de compra (largo)
      if(OrderType()==OP_BUY)
      {
         // si el precio de cierre es mayor que el de apertura
         if(OrderClosePrice()>OrderOpenPrice())
         {
            // confirmado "take profit" ejecutado
         }
         else
         {
            // orden cerrada con "stop loss"
         }
      }
      // la orden era de venta (corto)
      else if(OrderType()==OP_SELL)
      {   
         // si el precio de cierre es menor que el de apertura
         if(OrderClosePrice()<OrderOpenPrice())
         {
            // confirmado "take profit" ejecutado
         }
         else
         {
            // orden cerrada con "stop loss"
         }
      }
   }
}
losja
 
Mensajes: 5
Registrado: 07 Mar 2017, 19:17
Karma: 0

Re: Como saber si salta el takeprofit?

Notapor Refresko » 13 Mar 2017, 20:22

johnnycero escribió:Hola gente! :D
Bueno sigo probando con los robots! mi pregunta es la siguiente:

Si lanzo un orden que tenga stop loss y take profit y quiero saber cual de los dos a saltado para volver a entrar en caso de ser el take profit no se que variable revisar o de que manera hacerlo!

Espero vuestra ayuda como siempre! gracias! ;)


esto te puede ayudar
post84183.html#p84183
No puedes cometer/ dos veces el mismo error/ la segunda vez sera/ Por eleccion...
Avatar de Usuario
Refresko
 
Mensajes: 131
Registrado: 12 Dic 2011, 22:56
Karma: 1


Volver a MetaTrader 4

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado