Como calcula la hora real MT4?Hola a tod@s tengo una duda con MT4 y es con la hora que controlan los EAS, tengo la impresión de que la plataforma tiene constancia de la hora exacta con sus minutos y segundos sólo cada vez que se produce un nuevo tick, es cierto eso? Lo digo porque un Ea que estoy comprobando me debe de hacer unos cambios de variables a determinada hora en mi caso a las 8:00:00 pero veo que a veces lo hace y a veces no depende de sí hay un nuevo tick, como a esa hora hay poco movimiento no se sí es por eso o no. Si muestro en pantalla la hora exacta como horaexacta=hour()+Minute()/100+Secods()/10000 me muestra valores tales como 7.2034 que sería las 7 horas 20 minutos 34 segundos pero veo que no es continuo como un reloj cambiando cada segundo, si yo le pido al Ea que si horaexacta==8.0005 y en ese preciso instante no se produce ningún Tick y el siguiente tick se produce a las 8.0020 el ea no me hace nada en ese condicionante. No se sí estoy perdido en esto o hay alguna otra forma de que el Ea esté cada segundo controlando el valor de horaexacta
Saludos y gracias de antemano.
Re: Como calcula la hora real MT4?Los EAs e indis se ejecutan, es decir todo el ciclo del programa si antes fue finalizado, a cada nuevo tick que la mt4 recibe, esto quiere decir que puede darse el caso de que en momentos de extrema volatilidad se producen ticks en menos de msg y el EA todavio no finalizo todo el ciclo. En tu caso puede ocurrir que si la condicion que pones es que la hora sea igual a 08:00:00 en determinados dias que el mercado este muy parado no se produzca ningun tick en el minuto 0 de las 8h pero si en el minuto 1 y por lo tanto no se cumple la condicion. Por lo tanto deberas ampliar mas el rango de la condicion, como por ejuemplo esperar al primer tick despues de las 07:59:59.
Con la nueva version de mql4, que se utiliza en la ultima version de mt4 version superiores a 6XX, que es practicamente identico a mql5, disponemos de funciones que ejecutan eventos y que pueden lanzar la ejecucion de un EA independientemente de recibir un tick de nuevo precio, claro esta que manejaremos el ultimo precio y para algunos procedimientos no servira, todo dependera de lo que se quiera hacer.
Re: Como calcula la hora real MT4?Y como puedo decirle lo de esperar al primer tick después de las 7:59:59. Ahora mismo lo tengo en un rango de las 8:00:00 y las 8:00:05 para que me ponga una variable a 1 que es la que da permiso a que entre una orden por lo que es una variable peligrosa ante la temida metralleta de órdenes.
Gracias por la info Mi versión es la 4.00 Build 745 del 24 oct de 2014
Re: Como calcula la hora real MT4?otra opcion que tienes es que el codigo del programa este en
"void OnTimer" para usar este, en "int OnInit" tienes que colocar el comando EventSetTimer(segundos) y se refrescara cada esa cantidad de segundos (min 1 seg)
Re: Como calcula la hora real MT4?Interesante esto último que comentas investigaré por ese camino, pero cuando dices refrescar es poner todas las variables según estén en init ? O deja las cosas en su sitio?
Gracias
Re: Como calcula la hora real MT4?este indicador lo hice con ese metodo, en particular esta puesto para refrescar cada 5 seg, pero lo puedes poner tranquilamente cada 1
7 mensajes
• Página 1 de 1
|
|
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados