Errores, fallos, preguntas - página 622

 
Dima_S:
Muy original)

y algunas adiciones más.

Si se crea un indicador en el gráfico principal, éste maneja el evento del temporizador con éxito.
Si se crea un indicador en un objeto gráfico o desde un EA colocado en este objeto, el temporizador no se producirá.

Anton me explicó en SD que la propiedad de disponibilidad del temporizador se copia del hilo del gráfico desde el que se coloca el indicador. No hay temporizadores en los objetos gráficos. Sólo están presentes en el gráfico principal.

Así, el indicador del temporizador sólo estará disponible en el gráfico principal y no en el objeto gráfico.

Debe ejecutar ChartIndicatorAdd en cualquier caso. Para que el temporizador empiece a funcionar.

 
Rosh:

Los eventos del temporizador se generan para el gráfico y de ahí a los programas que se ejecutan en él (lanzados sobre él). Esta es la ideología - Ejecución del programa:

Por eso el indicador llamado desde el Asesor Experto no acepta eventos de temporizador. Intente aplicar el indicador al gráfico utilizando la función ChartIndicatorAdd, ¿cambiará algo?

Creo que el temporizador funcionaría igual de bien que si se lanzara un indicador en ese gráfico. Si sólo hubiera un gráfico, no habría problema.

Necesitamos reunir muchos gráficos con diferentes monedas en uno solo.

Tendremos que automatizar la apertura de un montón de ventanas pequeñas y cargarlas con "indicador" (por ahora).

Gracias a todos por las sabias respuestas.

 

Dima_S:

Habrá que automatizar la apertura de un montón de ventanitas y lanzar un "inductor" sobre ellas (por ahora).

¿Por qué? Estás atrapando por temporizador, así que no necesitas muchas ventanas. La única ventana con el indicador es suficiente. En este indicador, prescribe el manejo de cualquier cosa con cualquier símbolo. Sigue con el temporizador, no con los ticks.
 
sergeev:
¿Por qué? Estás atrapando por temporizador, así que no necesitas muchas ventanas. Una ventana con un indicador es suficiente. En este indicador, usted puede prescribir el manejo de cualquier cosa con cualquier símbolo. Sigue con el temporizador, no con los ticks.
La cuestión es que las garrapatas también se capturan en muchos pares - forman segundos recuentos y además se envían a través del mapeo al EA para su posterior procesamiento)
 
Dima_S:
La cuestión es que los ticks también son captados por muchos pares, a partir de los cuales se forman los segundos recuentos y luego se envían a través del mapeo al Asesor Experto para una mayor perversión del procesamiento)
Entonces es más fácil obtener los ticks de los índices al Asesor Experto y guardarlos hasta que se reciba la siguiente cuenta de segundos de un solo temporizador (en el Asesor Experto), entonces formar un segundo paquete y borrar el "acumulador".
 
Rosh:

Los eventos del temporizador se generan para el gráfico y de ahí a los programas que se ejecutan en él (lanzados sobre él). Esta es la ideología - Ejecución del programa:

Por lo tanto, el indicador que se llama desde el Asesor Experto no acepta eventos de temporizador. Intente aplicar el indicador a un gráfico en el Asesor Experto con la función ChartIndicatorAdd- ¿cambiará algo?

Dima_S:

Creo que el temporizador funcionará de la misma manera que cuando simplemente se lanza el indicador en el gráfico. Si sólo tuviera un gráfico, no habría ningún problema.

Debería reunir muchos gráficos con diferentes monedas en uno solo.

Tendremos que automatizar la apertura de muchas ventanas pequeñas y cargarlas con "indicador" (por ahora).

Gracias a todos por las respuestas competentes.

Taki, el temporizador no ha funcionado por sí mismo con esta secuencia de llamadas del Asesor Experto:

ChartOpen -> iCustom -> ChartIndicatorAdd

Han aparecido gráficos y se han añadido indicadores. El temporizador comenzó a funcionar sólo después de llamar manualmente las propiedades de cada nuevo gráfico y hacer clic en Aceptar sin cambios.

¿Es un error? ¿Un error?

 
MetaDriver:
Entonces es más fácil conseguir ticks en Expert Advisor desde los inductores y guardar hasta que el siguiente segundo cuente desde un solo temporizador (en Expert Advisor), entonces formar un segundo lote y limpiar el "acaparador".
No es más fácil, es más complicado. Ya lo he hecho así)
 
Dima_S:

Taki, el temporizador no funcionó por sí mismo con esta secuencia de llamadas del Asesor Experto:

ChartOpen -> iCustom -> ChartIndicatorAdd

Han aparecido gráficos y se han añadido indicadores. El temporizador comenzó a funcionar sólo después de llamar manualmente las propiedades de cada nuevo gráfico y hacer clic en Aceptar sin cambios.

¿Un error? ¿Un error?

Llama a OnTimer() en Inite.

 
Dima_S:
No es más sencillo, sino más complicado. Ya lo hice así).

Entonces tendremos que hacerlo más difícil. :)

De todos modos, es la única forma correcta de hacerlo.

Juzgue usted mismo. Aunque consigas arrancar todos los temporizadores (lo que no es un hecho), y aunque consigas ejecutarlos en estricta sincronización (lo que es aún más un hecho), seguirás obteniendo información de ellos de forma secuencial, y en un orden desconocido (si hay un núcleo) o cercano a él (si hay varios núcleos). Y luego tienes que seguir la secuencia y toda esa mierda.

Sugiero un compromiso: captar los ticks por medio de espías y enviarlos inmediatamente al Asesor Experto principal con una marca de milisegundos(GetTickCount()). El Asesor Experto los ordena según sus etiquetas y los divide en segundos bloques.

No es muy sencillo, pero será preciso.

 
Urain:
Llama a OnTimer() en el init.
Ahora sí que te va a gustar... :))