Publi

Publi

Resultados 1 al 2 de 2


  1. #1




    Reputación:
    Poder de reputación: 2

    Mensajes: 60
    Créditos: 0

    Al seleccionar con orderticket(), ¿selecciona según numero magico o por nro asignado por el broker?


    Publi
    Hola a todos. Mi pregunta debido a que hay un número de ticket de cada orden que se le asigna automáticamente, y también hay un parámetro dentro de la función mql4 "OrderSend" donde uno le coloca un número mágico. Si yo quiero seleccionar una orden abierta por el número mágico que yo le puse en "OrderSend" (digamos el número mágico 1234), al colocar:

    Código:
    OrderSelect(1234, SELECT_BY_TICKET)
    ¿Seleccionará está?

    Mi duda debido a que dentro de los parámetros de "OrderSelect" dice "SELECT_BY_TICKET" y no "SELECT_BY_MAGICNUMBER" o algo asi, entonces pienso que tal vez pudiera estar seleccionando es por el número que asigna el broker a las órdenes en vez de por el número mágico que yo le he colocado.

    ¿Alguien puede aclararme esto? Y si no me está seleccionando por el número mágico que yo le puse, ¿podría decirme como ahcerlo?

    Muchas gracias por su ayuda.
    Foro de Forex Trading United

     

  2.                         
    Publi
  3. #2
    Avatar de robertomar
    Heidelbergensis


    Reputación:
    Poder de reputación: 9

    Espana
    Mensajes: 905
    Créditos: 15.929

    Re: Al seleccionar con orderticket(), ¿selecciona según numero magico o por nro asignado por el brok


    Publi
    Cita Iniciado por trader0 Ver mensaje
    Hola a todos. Mi pregunta debido a que hay un número de ticket de cada orden que se le asigna automáticamente, y también hay un parámetro dentro de la función mql4 "OrderSend" donde uno le coloca un número mágico. Si yo quiero seleccionar una orden abierta por el número mágico que yo le puse en "OrderSend" (digamos el número mágico 1234), al colocar:

    Código:
    OrderSelect(1234, SELECT_BY_TICKET)
    ¿Seleccionará está?

    Mi duda debido a que dentro de los parámetros de "OrderSelect" dice "SELECT_BY_TICKET" y no "SELECT_BY_MAGICNUMBER" o algo asi, entonces pienso que tal vez pudiera estar seleccionando es por el número que asigna el broker a las órdenes en vez de por el número mágico que yo le he colocado.

    ¿Alguien puede aclararme esto? Y si no me está seleccionando por el número mágico que yo le puse, ¿podría decirme como ahcerlo?

    Muchas gracias por su ayuda.
    Hola compi, tal como dice su propio nombre, selecciona por NUMERO DE TICKET, el cual es asignado por el broker en el momento de aceptación de la orden.

    Por tanto, para seleccionar por ticket (SELECT_BY_TICKET) tienes que saber ese ticket (tendrás que haberlo almacenado en una variable o en un array (si llevas más de una abierta al mismo tiempo) y luego consultarla, buscarla y seleccionarla por ese valor del ticket que tienes almacenado.

    La otra opción es seleccionar las órdenes por posición (SELECT_BY_POS), en cuyo caso tendrás tantos índices de posición como las órdenes totales que tengas - 1. O sea las posiciones van desde 0 hasta OrdersTotal() -1.

    Para esto, tendrás que hacer un bucle, y si lo que quieres es que coja la que tenga el Magic Number que tú quieres, pues filtrar para que solo te coja la que lleve ese Magic Number.

    Por ejemplo:

    for (int i = OrdersTotal() -1; i >= 0; i--)
    {
    if(OrderSelect(i, SELECT_BY_POS)
    {

    if(OrderSymbol() != _Symbol) continue;
    if(OrderMagicNumber() != 1234) continue;

    // Si llega aquí es porque habrá encontrado la orden del símbolo actual con ese Magic Number, por lo tanto aquí ya haces lo que quisieras hacer con esa orden

    }
    }


    Saludos y un abrazo.
    Foro de Forex Trading United
    Última edición por robertomar; 10-06-2015 a las 21:20

     

Publi
Publi


Aviso Legal
Ley Orgánica 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal