Publi

Publi

Resultados 1 al 5 de 5


  1. #1

    antecessor


    Reputación:
    Poder de reputación: 8

    Venezuela
    Mensajes: 597
    Créditos: 2,154

    ¿Qué error hay en esta declaración?: if(Hour()>2 && Hour()<19)


    Publi
    Saludos compañeros. Hace poco el MT4 estaba presentandome un problema cuando le daba a la opción para testear un EA. Cada vez que le daba a iniciar el testeo del EA, no hacia ninguna operación. Le colocaba para hacer el testeo en data de 6 meses y de 2 años, las condiciones eran sencillas, y me decía esto:

    2014.11.27 16:36:15.222 GBPUSD,H1: 23944508 tick events (12403 bars, 23945509 bar states) processed within 48673 ms (total time 70154 ms)

    a veces esto otro:

    2014.11.28 09:41:12.354 TestGenerator: current spread 22 used
    2014.11.28 09:41:12.354 Expert Pruebas_MM GBPUSD,Daily: loaded successfully
    2014.11.28 09:41:12.354 Expert Pruebas_MM GBPUSD,Daily: removed
    2014.11.28 09:40:35.668 GBPUSD,Daily: 627 tick events (1627 bars, 2253 bar states) processed within 0 ms (total time 0 ms)
    2014.11.28 09:40:35.658 Pruebas_MM test started

    A la final, cuando eliminé esta parte fue que funcionó:

    Código:
    if(Hour()>2 && Hour()<19)
    El asunto es que no le veo nada de malo. ¿Cambió la manera de declararse esto en mql4? ¿por qué me estaba sucediendo esto? ¿cómo hago para colocarle una condición de horas al EA?

    Gracias de antemano.
    Saludos.
    Foro de Forex Trading United

     

  2.                         
    Publi
  3. #2

    antecessor


    Reputación:
    Poder de reputación: 3

    Peru
    Mensajes: 405
    Créditos: 1,829

    Re: ¿Qué error hay en esta declaración?: if(Hour()>2 && Hour()<19)

    Hola Trader201, has intentado usar el EA en demo? Creo que la función Hour te devuelve la hora del servidor entonces tu backtest correrá o no correrá dependiendo de la hora en la que lo hagas, la hora real no la de tu backtest. Puede que me equivoque pero si nadie te aclara la duda te recomiendo hacer un ea cualquiera con la misma función de tiempo y probarla en demo.. si supongamos son las 3:10 de la tarde has que compre o venda IF hour > 3 .. debería funcionar.. una vez que lo compruebes cámbiale a otra ora.. if hour > 5.. cosa que no debería comprar... y fíjate que hace.
    Foro de Forex Trading United

     

  4. #3

    antecessor


    Reputación:
    Poder de reputación: 8

    Venezuela
    Mensajes: 597
    Créditos: 2,154

    Re: ¿Qué error hay en esta declaración?: if(Hour()>2 && Hour()<19)

    Cita Iniciado por striker Ver mensaje
    Hola Trader201, has intentado usar el EA en demo? Creo que la función Hour te devuelve la hora del servidor entonces tu backtest correrá o no correrá dependiendo de la hora en la que lo hagas, la hora real no la de tu backtest. Puede que me equivoque pero si nadie te aclara la duda te recomiendo hacer un ea cualquiera con la misma función de tiempo y probarla en demo.. si supongamos son las 3:10 de la tarde has que compre o venda IF hour > 3 .. debería funcionar.. una vez que lo compruebes cámbiale a otra ora.. if hour > 5.. cosa que no debería comprar... y fíjate que hace.
    Gracias striker. Hice una revisión rápida ahorita y si tiene que ver con esto que dices. Cambie las condiciones de hora, al siguiente, y si me funcionó:

    Código:
     if(Hour()>1 || Hour()<1)
    Ya luego revisaré en probar en la cuenta demo, porque esto me estaría presentando un problema en sentido de que si quiero colocar cierta hora, y el MT4 no me acepta la condición que coloco en las horas sino después de cierta hora actual, pues... me complica el testeo. ¿Pero para que hicieron esto? ¿qué propósito tiene tener esto así? Antes no me había pasado.
    Foro de Forex Trading United

     

  5. #4

    antecessor


    Reputación:
    Poder de reputación: 8

    Venezuela
    Mensajes: 597
    Créditos: 2,154

    Re: ¿Qué error hay en esta declaración?: if(Hour()>2 && Hour()<19)

    Cita Iniciado por striker Ver mensaje
    Hola Trader201, has intentado usar el EA en demo? Creo que la función Hour te devuelve la hora del servidor entonces tu backtest correrá o no correrá dependiendo de la hora en la que lo hagas, la hora real no la de tu backtest. Puede que me equivoque pero si nadie te aclara la duda te recomiendo hacer un ea cualquiera con la misma función de tiempo y probarla en demo.. si supongamos son las 3:10 de la tarde has que compre o venda IF hour > 3 .. debería funcionar.. una vez que lo compruebes cámbiale a otra ora.. if hour > 5.. cosa que no debería comprar... y fíjate que hace.
    Hola striker. ¿a qué te refieres con probar en la demo?

    Probé en la cuenta demo y me sucedió lo mismo, es decir, cuando coloco ciertas condiciones de horas, no me funciona en ninguna de las dos, y cuando coloco otra que me funcione en una, me funciona en la otra también.

    Recibe un saludo.
    Foro de Forex Trading United

     

  6. #5

    antecessor


    Reputación:
    Poder de reputación: 3

    Peru
    Mensajes: 405
    Créditos: 1,829

    Re: ¿Qué error hay en esta declaración?: if(Hour()>2 && Hour()<19)


    Publi
    Cita Iniciado por trader201 Ver mensaje
    Hola striker. ¿a qué te refieres con probar en la demo?

    Probé en la cuenta demo y me sucedió lo mismo, es decir, cuando coloco ciertas condiciones de horas, no me funciona en ninguna de las dos, y cuando coloco otra que me funcione en una, me funciona en la otra también.

    Recibe un saludo.
    Me refiero a demo en tiempo real, aunque como es fin de semana tal vez no funcione. Ahora, otra cosa que podrías probar, que es lo que usualmente hago cuando programo en general y hay alguna cosa que aparentemente no funciona, es imprimir en la consola o en algún lugar que permita el programa mostrar un texto, la variable que me da problemas para ver cuál es el valor que está tomando. Debería ser algo como print(Hora()), pero no estoy seguro como será en mt4.
    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