Publi

Publi

Resultados 1 al 7 de 7


  1. #1

    Erectus


    Reputación:
    Poder de reputación: 3

    Mensajes: 140
    Créditos: 3,393

    Pregunta a os gurús de la programación


    Publi
    Buenas a todos y de antemano gracias por vuestro tiempo.
    Que orden debo poner en un programa para saber el precio de un activo a una hora determinada, por ejemplo, quiero asignar a una variable el valor de mercado a las 8:00 y a otra el de las 10:00.
    De nuevo muchas gracias
    Foro de Forex Trading United

     

  2.                         
    Publi
  3. #2
    Avatar de Wolfman
    Heidelbergensis


    Reputación:
    Poder de reputación: 15

    Mensajes: 2,052
    Créditos: 7,617

    Re: Pregunta a os gurús de la programación

    Cita Iniciado por lema Ver mensaje
    Buenas a todos y de antemano gracias por vuestro tiempo.
    Que orden debo poner en un programa para saber el precio de un activo a una hora determinada, por ejemplo, quiero asignar a una variable el valor de mercado a las 8:00 y a otra el de las 10:00.
    De nuevo muchas gracias
    Soy un autodidacta de la programacion en mql4 por necesidad jajajaja pero yo lo haria de la siguiente manera, recuerda que pueden existir muchas formas.

    2 variables de tipo double
    utilizaria timecurret y lo compararia si es igual a las horas que defines
    cuando sea igual que le asigne el valor del bid o ask como prefiereas a la variabe 1
    luego la siguiente hora lo mismo y que asigne el valor a la variable 2
    y al final del dia a las 12 digamos que lo reinicie si no te servira mas.

    Saludos y exitos.
    Foro de Forex Trading United



    "La mente es como un paracaídas, sólo funciona si se abre. Albert Einstein

  4. #3

    Erectus


    Reputación:
    Poder de reputación: 3

    Mensajes: 140
    Créditos: 3,393

    Re: Pregunta a os gurús de la programación

    Cita Iniciado por Wolfman Ver mensaje
    Soy un autodidacta de la programacion en mql4 por necesidad jajajaja pero yo lo haria de la siguiente manera, recuerda que pueden existir muchas formas.

    2 variables de tipo double
    utilizaria timecurret y lo compararia si es igual a las horas que defines
    cuando sea igual que le asigne el valor del bid o ask como prefiereas a la variabe 1
    luego la siguiente hora lo mismo y que asigne el valor a la variable 2
    y al final del dia a las 12 digamos que lo reinicie si no te servira mas.

    Saludos y exitos.
    Gracias por la respuesta, pero de ese modo tengo que tener el ea activado antes de la primera hora que quiero tomar.
    Seguiré indagando
    Foro de Forex Trading United

     

  5. #4
    Avatar de Wolfman
    Heidelbergensis


    Reputación:
    Poder de reputación: 15

    Mensajes: 2,052
    Créditos: 7,617

    Re: Pregunta a os gurús de la programación

    Cita Iniciado por lema Ver mensaje
    Gracias por la respuesta, pero de ese modo tengo que tener el ea activado antes de la primera hora que quiero tomar.
    Seguiré indagando
    Para que un Expert Funcione debe de estar trabajando siempre, tu pc no debe de apagarse y tener tu metatrader corriendo con el Ea.

    Saludos y exitos.
    Foro de Forex Trading United



    "La mente es como un paracaídas, sólo funciona si se abre. Albert Einstein

  6. #5
    Avatar de robertomar
    Heidelbergensis


    Reputación:
    Poder de reputación: 9

    Espana
    Mensajes: 905
    Créditos: 15,929

    Re: Pregunta a os gurús de la programación

    Bueno, si lo haces como dice el compañero Wolfman, tendrías el problema de que si justo a las 8 (o la hora que sea que quieras) no tienes el EA o la plataforma funcionando por lo que sea, o se te ha ido la luz o en ese par no se produce un tick justo en ese momento (si no hay un tick justo a las 08:00:00, sino que el siguiente tick que llega es a las 08:00:01 por ejemplo o a las 08:00:03) no te guardaría la variable. Y aunque te la guardase, tendrías que guardarla en un archivo o en las variables globales del terminal, puesto que si después a lo largo del día tuvieras un solo microcorte de conexión con el broker (cosa que todos los días suele pasar varias veces) el EA se reiniciaría y el valor almacenado en esa variable se perdería.

    Por tanto, NO es aconsejable hacerlo de ese modo. Eso solo podría servir para backtest, pero no para operativa on line.

    Lo más recomendable es NO guardar ninguna variable, sino comprobar el precio de apertura de la vela que te interesa a posteriori en cada momento que te interese y el EA esté funcionando.

    La forma de hacer esto es mediante la función iBarShift. Si es para el símbolo donde está puesto el EA se podría hacer así:

    Código:
       double precio = Open[iBarShift(_Symbol, 0, hora, false)];
       
       //  Donde hora tiene que ser una variable datetime donde hayas calculado la hora que te interese.

    Saludos y un abrazo.
    Foro de Forex Trading United

     

  7. #6

    Erectus


    Reputación:
    Poder de reputación: 3

    Mensajes: 140
    Créditos: 3,393

    Re: Pregunta a os gurús de la programación

    Cita Iniciado por robertomar Ver mensaje
    Bueno, si lo haces como dice el compañero Wolfman, tendrías el problema de que si justo a las 8 (o la hora que sea que quieras) no tienes el EA o la plataforma funcionando por lo que sea, o se te ha ido la luz o en ese par no se produce un tick justo en ese momento (si no hay un tick justo a las 08:00:00, sino que el siguiente tick que llega es a las 08:00:01 por ejemplo o a las 08:00:03) no te guardaría la variable. Y aunque te la guardase, tendrías que guardarla en un archivo o en las variables globales del terminal, puesto que si después a lo largo del día tuvieras un solo microcorte de conexión con el broker (cosa que todos los días suele pasar varias veces) el EA se reiniciaría y el valor almacenado en esa variable se perdería.

    Por tanto, NO es aconsejable hacerlo de ese modo. Eso solo podría servir para backtest, pero no para operativa on line.

    Lo más recomendable es NO guardar ninguna variable, sino comprobar el precio de apertura de la vela que te interesa a posteriori en cada momento que te interese y el EA esté funcionando.

    La forma de hacer esto es mediante la función iBarShift. Si es para el símbolo donde está puesto el EA se podría hacer así:

    Código:
       double precio = Open[iBarShift(_Symbol, 0, hora, false)];
       
       //  Donde hora tiene que ser una variable datetime donde hayas calculado la hora que te interese.

    Saludos y un abrazo.

    Muchas gracias, también he descubierto las funciones iopen y la iclose, que me dan los valores de las velas anteriores e el timeframe que quieras.

    Muchas gracias por todo
    Foro de Forex Trading United

     

  8. #7
    Avatar de robertomar
    Heidelbergensis


    Reputación:
    Poder de reputación: 9

    Espana
    Mensajes: 905
    Créditos: 15,929

    Re: Pregunta a os gurús de la programación


    Publi
    Cita Iniciado por lema Ver mensaje
    Muchas gracias, también he descubierto las funciones iopen y la iclose, que me dan los valores de las velas anteriores e el timeframe que quieras.

    Muchas gracias por todo
    De nada hombre, de todos modos con iClose, iOpen, etc también tienes que usar iBarShift igualmente para localizar la vela de la que quieres el precio de apertura, o cierre o el que sea.

    Saludos.
    Foro de Forex Trading United

Publi
Publi


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