Anteriormente se llamaba "zombi", tal vez una búsqueda aún encuentre hilos antiguos.
Esto ocurre cuando los expertos/indicadores se dan de baja del tumblr más veces de las que se suscriben.
Por ejemplo, había 2 expertos, cada uno de los cuales se inscribió una vez. Luego se cerró uno y se dio de baja dos veces. El segundo experto que ha permanecido empleado deja de recibir actualizaciones.
Lo he visto varias veces.
Tras ajustar a los expertos, el problema desapareció y no ha vuelto a producirse desde hace más de un año.
Anteriormente se llamaba "zombi", tal vez una búsqueda aún encuentre hilos antiguos.
Ocurre cuando los expertos/indicadores se dan de baja de un tumblr más veces de las que se apuntan.
Estrictamente hablando, no encaja. Tengo una suscripción hecha una vez en inite y una baja hecha en deinite. Aunque no puedo descartar la posibilidad de que DeInit sea llamado más veces que OnInit.
Estrictamente hablando, no encaja. Tengo la suscripción hecha una vez en Init y la baja en DeInit. Aunque no puedo descartar la posibilidad de que DeInit sea llamado más veces que OnInit.
Si se trata de indicadores, mira este hilo.
- 2017.04.07
- www.mql5.com
Sí, hubo un tema de este tipo, incluso participé en él, pero aparentemente el problema persiste. Pero en el caso actual, un Asesor Experto también ha perdido su suscripción.
Bien, haremos el baile de la pandereta.
Después de que he empezado a trabajar con la secadora y he añadido algunos indicadores firmados a OnBookEvent, he descubierto que algunos de ellos se caen silenciosamente, en particular, 1 experto y 1 indicador en diferentes símbolos. No hay errores en los registros. Las citas continuaron. Otros símbolos siguieron funcionando. Después de reiniciar manualmente los programas MQL inactivos, los eventos de la profundidad del mercado han vuelto a funcionar.
¿Alguien ha observado algo similar? ¿Cómo protegerme? Por ahora, la idea de ver el tiempo de espera entre el último evento de la copa y las nuevas garrapatas. Pero, ¿qué hacer si se supera el tiempo de espera? ¿Basta con volver a llamar a MarketBookAdd?
Hay dos tipos de interruptores, el de botón y el de llave. El primero envía un impulso y termina la operación, el segundo implica un cambio de modo de funcionamiento. Un ejemplo de lo primero es un timbre, que es el evento ideal. Un ejemplo de lo segundo es un interruptor de luz: lo pulsas y se enciende. Verás, no es realmente un evento, es algo más.
Los interruptores son de dos tipos, los pulsadores y los conmutadores. El primero envía un impulso y termina el funcionamiento, el segundo implica un cambio de modo de funcionamiento. Un ejemplo del primero es el timbre, que es el evento ideal. Un ejemplo de lo segundo es un interruptor de luz: lo pulsas y se enciende. Verás, no es realmente un evento, es algo más.
No, no lo sé. A juzgar por la documentación, la suscripción aumenta el contador interno, mientras que la cancelación de la suscripción lo disminuye en 1. Una vez que llega a 0, no se envía ningún evento.
Puse las huellas. Se ha conseguido reproducir el problema cuando tanto el EA como el indicador se encuentran en el mismo gráfico. Cada uno de ellos hace MarketBookAdd en OnInit y MarketBookRelease en OnDeinit. Así que, después de quitar el Asesor Experto del gráfico (una llamada de MarketBookRelease), el indicador deja de recibir la copa (aunque en idea, su propia llamada de MarketBookAdd no se cancela todavía). Por el contrario, si eliminamos el indicador, la suscripción se pierde en el Asesor Experto. Por supuesto, lo detecto y me suscribo de nuevo, pero no debería funcionar así, imho.
No, no lo sé. Según la documentación, la suscripción aumenta el contador interno y la anulación de la suscripción lo disminuye en 1. Cuando llega a 0, no se envía ningún evento.
He colocado las impresoras en su sitio. Se ha conseguido reproducir el problema cuando tanto el EA como el indicador se encuentran en el mismo gráfico. Cada uno de ellos hace MarketBookAdd en OnInit y MarketBookRelease en OnDeinit. Así que, después de quitar el Asesor Experto del gráfico (una llamada de MarketBookRelease), el indicador deja de recibir la copa. Por el contrario, si elimino el indicador, su suscripción se pierde en el Asesor Experto. Por supuesto, lo detecto y me suscribo de nuevo, pero no debería funcionar así, imho.
Ya lo he dicho todo. No diré ni una palabra.
No, no lo sé. Según la documentación, la suscripción aumenta el contador interno y la anulación de la suscripción lo disminuye en 1. Cuando llega a 0, no se envía ningún evento.
He colocado las impresoras en su sitio. Se ha conseguido reproducir el problema cuando tanto el EA como el indicador se encuentran en el mismo gráfico. Cada uno de ellos hace MarketBookAdd en OnInit y MarketBookRelease en OnDeinit. Así que, después de quitar el Asesor Experto del gráfico (una llamada de MarketBookRelease), el indicador deja de recibir la copa (aunque en idea, su propia llamada de MarketBookAdd no se cancela todavía). Por el contrario, si eliminamos el indicador, la suscripción se pierde en el Asesor Experto. Por supuesto, ya lo detecto y me suscribo de nuevo, pero no debería funcionar así, imho.
Se emite el evento BookEvent. Lea atentamente la descripción de OnBookEvent aquí.
- www.mql5.com
Después de que he empezado a trabajar con la secadora y he añadido algunos indicadores firmados a OnBookEvent, he encontrado que algunos de ellos se caen silenciosamente, en particular, 1 experto y 1 indicador en diferentes símbolos. No hay errores en los registros. Las citas continuaron. Otros símbolos siguieron funcionando. Después de reiniciar manualmente los programas MQL inactivos, los eventos de la profundidad del mercado han vuelto a funcionar.
¿Alguien ha observado algo similar? ¿Cómo protegerme? Por ahora, la idea de ver el tiempo de espera entre el último evento de la copa y las nuevas garrapatas. Pero, ¿qué hacer si se supera el tiempo de espera? ¿Basta con volver a llamar a MarketBookAdd?
Lee esto
- 2016.09.06
- www.mql5.com
Gracias ;-). Por supuesto que he leído la documentación y el foro. Si hay una respuesta a mi pregunta, sería muy amable articularla o destacarla aquí.
En particular, hay una frase fascinante en la documentación:
В отличие от других событий, событие BookEvent является широковещательным. Это означает, что достаточно одному эксперту подписаться на получение события BookEvent с помощью функции MarketBookAdd, все остальные эксперты, имеющие обработчик OnBookEvent(), будут получать это событие.
Salvo que deja en entredicho si hay que seguir con la analogía de que "basta con que un experto deje de recibir un evento para que todos los demás expertos también dejen de recibirlo"... No creo que pueda existir tal cosa, sería (o es) un error.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Después de que he empezado a trabajar con la secadora y he añadido algunos indicadores firmados a OnBookEvent, he encontrado que algunos de ellos se caen silenciosamente, en particular, 1 experto y 1 indicador en diferentes símbolos. No hay errores en los registros. Las citas continuaron. Otros símbolos siguieron funcionando. Después de reiniciar manualmente los programas MQL inactivos, los eventos de la profundidad del mercado han vuelto a funcionar.
¿Alguien ha observado algo similar? ¿Cómo protegerme? Por ahora, la idea de ver el tiempo de espera entre el último evento de la copa y las nuevas garrapatas. Pero, ¿qué hacer si se supera el tiempo de espera? ¿Basta con volver a llamar aMarketBookAdd?