Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
¡Oh, la luz al final del túnel! ¿Debe llamar a EventSetTimer( ) dentro de OnTimer() mismo? Definitivamente lo probaré cuando llegue a la terminal. Gracias por la solución inteligente.
He visto esta solución todo el tiempo.
Sólo que no he probado la mejor manera de
EventKillTimer() o EventSetTimer(0); para matar el temporizador.
Los milisegundos son muy deseados. Me uno a los deseos.
Ahora es peligroso en Expert Advisor. Por ejemplo, la función sincrónica MessageBox() puede ponerse en cola rápidamente cuando el usuario abandona el terminal (por supuesto, se puede decir que el temporizador se puede desactivar antes de tales funciones).
Pero si hicieran el manejo de la interrupción...
Ya no es posible ir a los milisegundos.
¿Cuántos Asesores Expertos que ya han sido escritos comenzarán a generar 1000 veces más eventos de temporización que los previstos por el autor?
No, no... No es necesario cambiarlo así. Sólo tienes que añadir una nueva función EventSetTimerMS(long ms);
Es necesario dejar el antiguo, sólo por compatibilidad. (Se puede emular fácilmente llamando a EventSetTimerMS(1000); )
Esto es ahora peligroso en el Asesor Experto. Por ejemplo, la función sincrónica MessageBox() puede ponerse en cola rápidamente cuando el usuario abandona el terminal (por supuesto, se puede decir que el temporizador puede ser desactivado antes de tales funciones).
Si sólo hicieran el manejo de interrupciones...
No utilices las interrupciones. Aunque no sé a qué te refieres, tal vez sea una buena... :)
Sobre las colas - también se pueden utilizar los segundos, si se va a dormir. :) No la utilices si no sabes procesar las consecuencias, es una receta sencilla y universal.
......... Por ejemplo, la función sincrónica MessageBox(), puede ponerse en cola rápidamente cuando el usuario se aleja del terminal.(Por supuesto, se puede decir que se puede desactivar el temporizador antes de tales funciones) ........
¿Cuántos EAs ya escritos empezarán a generar 1000 veces más eventos de temporización de los que el autor pretendía?
Sólo una opinión: y si existe la posibilidad de añadir milisegundos para los que lo quieran, y la pega está sólo en los EAs antiguos, entonces por qué no introducir una nueva función
Haga todo multi-segundo, y si el interruptor==false, multiplique el valor de los segundos una vez por 1000 (para EAs antiguos, por ejemplo).
Esto es ahora peligroso en el Asesor Experto. Por ejemplo, la función sincrónica MessageBox() puede ponerse en cola rápidamente cuando el usuario abandona el terminal (por supuesto, se puede decir que el temporizador puede ser desactivado antes de tales funciones).
Pero si hicieran el manejo de la interrupción...
OnTimer, OnTick, OnTrade... Estas son las interrupciones.
OnTimer, OnTick, OnTrade... Son interrupciones.
Una interrupción es cuando se está ejecutando OnTick y ha llegado un evento más importante, como OnTimer. OnTick se pone en pausa, se ejecuta el código de OnTimer y luego OnTick continúa ejecutándose de nuevo.