Consulta sobre mql4Agradeceré mucho si alguien me puede ayudar en lo siguiente:
Necesito saber qué funcion de mql4 me indica si ya se efectuó el take profit de una operación. Lo requiero para poder cancelar una operación pendiente una vez que se ha tomado el TP de la abierta. Gracias de antemano.
Re: Consulta sobre mql4Hola
Si no esta abierta, es por que se cerro. Sl2
Re: Consulta sobre mql4ok: lo que quiero decir es, si tengo una operación que acaba de efectuar el take profit, es decir se cerró obviamente, pero cómo hago para que el EA lo sepa y cierre otra operación que todavía esta pendiente de ejecución.
Gracias nuevamente
Re: Consulta sobre mql4Si la operación la has abierto con un EA, por el MagicNumber, la puedes identificar.
Si la operación la has abierto manualmente ... tomate nota de su numero de Ticket. Si no busca alguna característica, para identificarla. Lote, Fecha:Hora, Comentario int iTotalOrdenes = OrdersTotal(); for(int i = 0; i < iTotalOrdenes; i++) { OrderSelect(i, SELECT_BY_POS, MODE_TRADES); // MagicNumber if(OrderSymbol()==Symbol() && OrderMagicNumber() == MAGIC_NUMBER) // Número de Ticket if(OrderSymbol()==Symbol() && OrderTicket() == NUMERO_TICKET) { ... } }
Re: Consulta sobre mql4Gracias elolima, identifcar la operación lo tengo claro.
Lo quiero saber es si existe alguna función que indique si se ha efectuado el take profit (ya que puede también haber saltado el stop), no se si me dejo entender. Gracias por tu atención.
Re: Consulta sobre mql4Hola
No conozco una función directa en mql4 ... creo que en mql5 si la hay. Trabajo con eventos. Para obtener información de las ordenes pendientes de ejecución o ejecutadas. Siempre has de "Seleccionarla", bien por magignumber, numeroticket, etc ... Luego, tienes que tenerla identificada. Si está en ordenes pendientes de ejecución, es obvio, no se ha ejecutado. Si se encuentra en el histórico de ordenes ejecutadas, es obvio ... Un disparador o evento de ejecución de ordenes, no conozco. Sl2
Re: Consulta sobre mql4
Antes que nada, es importante tener claros los conceptos. Cuando estas desarrollando en mql4, no es lo mismo preguntarle al ea cual es el tp o el sl de una determinada orden abierta o pendiente de abrir, a hacer esa misma consulta sobre una orden ya cerrada. Si la orden ya ha sido cerrada, debemos irnos a buscar al historial de ordenes cerradas. Encontrar la orden que buscabamos, y despues preguntar a que precio se cerro la orden, si fue al precio de sl o de tp. El codigo para hacerlo seria muy similar al que elolina te pone, solo que tenemos que recorrer el historico: OrdersHistoryTotal() en vez de OrdersTotal, MODE_HISTORY en vez de MODE_TRADES, y las modificaciones que ya te he puesto. En la pagina de mql4.com encontraras muchos ejemplos de lo que necesitas.
Re: Consulta sobre mql4Por cierto, ojo tambien con esto:
En ese bucle estamos recorriendo todas las ordenes, pero en orden creciente, desde la orden mas antigua a la mas reciente. Siempre recomiendo (y recomiendan tambien en mql4.com) recorrer el array desde la orden mas nueva hasta la mas antigua: for (int i=OrdersTotal()-1; i>=0; i--){ //etc etc En ciertas situaciones, el 1er codigo puede generar errores (los he sufrido).
9 mensajes
• Página 1 de 2 • 1, 2
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados