Carteras Blog        Login      Registrarse        

Síguenos en:   RSS   Facebook  Twitter   Linkedin   

Resultados 1 al 21 de 21
Like Tree1Likes
  • 3 Post By especulator

Tema: Pequeños scripts

Ver modo hilado

Mensaje anterior Mensaje anterior   Próximo mensaje Próximo mensaje
  1. #12
    Master del Universo Avatar de especulator
    Fecha de ingreso
    09 nov, 12
    Ubicación
    Ontinyent (Valencia)
    Mensajes
    765
    Thanks
    10
    Thanked 147 Times in 111 Posts
    Poder de reputación
    5

    Re: Pequeños scripts

    La estructura de la función OrderSend() es la siguiente:

    int OrderSend (
    string symbol,
    int cmd,
    double volume,
    double price,
    int slippage,
    double stoploss,
    double takeprofit,
    string comment=NULL,
    int magic=0,
    datetime expiration=0,
    color arrow_color=CLR_NONE)

    Detallo cada parametro a continuación:

    int OrderSend: Lo primero que vemos de esta función, es que devuelve un numero entero cuando se ejecuta. Si la orden se ejecuta exitosamente, devuelve el número de la orden. Viene a ser como el identificador único de esa orden con el que más adelante podremos modificar o cerrar esta orden. Si la orden es rechazada, la función devolverá -1. Para saber por qué se dio el error hay que utilizar la función GetLastError();.

    Parámetros de OrderSend();

    symbol: En este parámetro hay que colocar la divisa en la que queremos operar y tiene que ser un string. Por ejemplo, “EURUSD” “EURJPY” “USDJPY”. Pero es más fácil utilizar la función Symbol() que nos devuelve automáticamente la divisa donde está funcionando el EA.

    cmd: Acá colocamos el tipo de operación que queremos efectuar. Hay unas constantes que simplifican eso, aunque también se pueden colocar los números directamente.
    Serian:
    OP_BUY 0 Buy o compra
    OP_SELL 1 Sell o venta
    OP_BUYLIMIT 2 Orden pendiente BUY LIMIT
    OP_SELLLIMIT 3 Orden pendiente SELL LIMIT
    OP_BUYSTOP 4 Orden pendiente BUY STOP
    OP_SELLSTOP 5 Orden pendiente SELL STOP

    volume: Es la cantidad de lotes con los que queremos operar.

    price: Es el precio en el que vamos a comprar o vender o colocar una orden pendiente. Puede darse el caso que el precio cambio desde que se hace la petición hasta que se es aceptada. Si esto pasa la orden se rechaza. Pero para solucionar este problema hay una opción que es dar un rango de desviación del precio permitido.

    slippage: slippage o desvío. Siguiendo con el parámetro anterior, “price”, uno tiene la opción de dar un rango de desviación del precio. Por ejemplo si el precio está en 1.561 y cambia un pip a 1.562 o a 1.560, uno puede dar un slippage de 1 pip para que acepte este rango de precios.

    stoploss: Acá uno coloca el stop loss, ósea el precio donde uno quiere para la perdida y la posición entra en perdidas.

    takeprofit: Acá uno coloca el limite o takeprofit. Ósea el precio donde uno quiere cerrar la posición en ganancia si la posición está dando beneficios.

    comment: Esta es par que aparezca un coemntario cuando pasamos con el raton encima de la orden.

    magic: Decíamos que la función OrderSend() si es aceptada por el servidor, devuelve como una especie de numeró de identificación. Con el parámetro magic, pasa algo parecido. Uno puede colocar un número propio para identificar la orden. La idea es que sea mas fácil encontrar la identificación de una orden si utilizamos mas de un ronbot hay que poner el número mágico distinto para que solo opere en el robot deseado y no en todas las ordenes.

    expiration: Acá uno puede colocar una fecha para que se cierre la posición automáticamente. Algunos broker no permiten esto. Si se coloca 0 o se deja en blanco que es lo mismo, no pasa nada y la posición solo se cierra cuando nosotros le indiquemos.

    arrow_color: Acá indicamos el color de la flecha que indica donde se abrió la posición. Si no se coloca nada o se coloca CLR_NONE que es lo mismo, no se muestra la flecha.


    Respecto al desvío, al ser una orden directa, es decir la hago yo, no lo tengo en cuenta ya que no me importa demasiado, si estuviera programando un robot, si que podría poner un desvío de 5 pips.

    El SL y TP no se pueden poner directamente en la orden porque los Brokers ECN no lo permiten, no dejan que lances la orden con los parámetros puestos, por lo que hay que lanzar la orden para posteriormente modificarla..... Cuestión de normativa.....

    La variable point, tiene que ver con los decimales que tiene el PAR que estamos tradeando, no es lo mismo el EUR/USD que el NZD/JPY no tienen los mismos decimales por lo que el point es para adecuar la orden a los decimales.
    Última edición por especulator; 29/05/2015 a las 16:24

  2. The Following 2 Users Say Thank You to especulator For This Useful Post:

    bocanegra (29/05/2015),LeoCV (29/05/2015)

Información de tema

Usuarios viendo este tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Marcadores

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •