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
Yedelkin:
Explicación. Si un Asesor Experto no procesa los ticks de un símbolo al que está unido a un gráfico, la generación continua de eventosNewTick para este símbolo llevará a un desbordamiento de la cola de eventos procesados por este EA.
¿Qué quieres decir?
No hay OnTick() en el Asesor Experto, pero los eventos NewTick se ponen en cola?
¿Cómo sabe lo que analizó la cola? )
No pude encontrar una manera de desactivar el flujo de ticks( eventoNewTick) para el símbolo con el Asesor Experto adjunto al gráfico, si es necesario.
Siento que he trabajado de domingo a viernes sin descanso... :))
¿Qué quieres decir?
¿Cómo supiste...?
Lo aprendí de dos maneras. Primero me familiaricé con la combinación EventChartCustom - OnChartEvent en el ejemplo de un simple Asesor Experto que recoge señales de indicadores de símbolos extranjeros. Al mismo tiempo, el Asesor Experto no trabajaba con los ticks de su propio símbolo, la función Ontick() en el código del Asesor Experto estaba comentada. Al ejecutar el EA en el probador, descubrí que el tiempo de recorrido difiere según el símbolo que se adjunte al EA. Véase, por ejemplo, el siguiente ejemplo. Con los mismos parámetros de optimización, los tiempos de ejecución son notablemente diferentes.
El Asesor Experto no tiene OnTick(), mientras que los eventos NewTick se ponen en cola?
Para comprobar la respuesta a esta pregunta (el segundo método), he modificado el código del Asesor Experto de la siguiente manera
Es decir, inserté una línea con fondo amarillo para detectar el hecho de la recepción de nuevos ticks por parte del símbolo. Los resultados muestran que los ticks para el símbolo, al que está vinculado el Asesor Experto, se reciben regularmente:Bueno, ya que el manual dice que " elevento NewTick se genera cuando se reciba un nuevo tick por un símbolo, al gráfico del cual está unido el Asesor Experto", el hecho de que se reciban nuevos ticks debería provocar la generación del eventoNewTick.
A juzgar por tu pregunta, ¿crees que no se generan eventos NewTick cuando OnTick() está desactivado? Pero no he encontrado esa información en el manual.
Parece que has trabajado de domingo a viernes sin descanso... :))
Es decir, he insertado una línea resaltada en fondo amarillo para detectar el hecho de la entrada de nuevos ticks por símbolo. De los resultados se desprende que las garrapatas por
al símbolo al que está vinculado el Asesor Experto se reciben regularmente:
¿ha comprobado qué evento hace que se llame a OnChartEvent antes de llamar al personalizado?
-------------
si
Si pones un EA sencillo y lo dejas correr en el probador, no se activa.
¿tiene otras funciones que llamen a OnChartEvent?
tiene otras funciones que llaman a OnChartEvent.
Sí, por supuesto. Dado que el Asesor Experto recoge las señales de los indicadores de los símbolos de terceros utilizando el enlace EventChartCustom - OnChartEvent, cada indicador tiene su propia instancia de la función EventChartCustom(). El primer parámetro de cada instancia de la función EventChartCustom() contiene un identificador de gráfico, al que se adjunta nuestro EA; el segundo parámetro es cero.
Si se inserta en cualquier Asesor Experto, no se activará.
Esto es sólo una parte del código, - del Asesor Experto que recoge las señales de los indicadores de otros símbolos. Si no hay indicadores, esta parte del código (la función OnChartEvent) no procesará los eventos personalizados debido a su ausencia.
¿ha comprobado qué evento hace que se llame a OnChartEvent antes de llamar al evento personalizado?
No, un poco mal. Quería ver si los ticks son recibidos por el símbolo, al gráfico del cual está unido el Asesor Experto, cuando la función OnChartEvent() procesa los eventos personalizados provenientes de los indicadores de otros símbolos. Se puede ver que se reciben ticks de EURGBP. Basándome en la referencia, concluyo que cuando llegan nuevos ticks para el símbolo, se generael evento NewTick.
No es posible averiguar cuál de las funciones que ha utilizado ha conducido a resultados de sincronización diferentes. Sin el código completo, es sólo adivinar por los posos del café.
NewTick no está directamente relacionado con OnChartEvent de ninguna manera. Por eso el mecanismo de seguimiento de colas que sugieres es bastante artificial. No estoy seguro de que sea correcto.
En este caso yo no afirmaría que es NewTick el que crea los retrasos de la prueba. Y creo que la culpa la tienen los mecanismos de sus fijaciones, no el evento en sí.
No es posible averiguar cuál de las funciones que ha utilizado ha conducido a resultados de sincronización diferentes. Sin el código completo, es sólo adivinar por los posos del café.
NewTick no está directamente relacionado con OnChartEvent de ninguna manera. Por eso el mecanismo de seguimiento de colas que sugieres es bastante artificial. No estoy seguro de que sea correcto.
En este caso yo no afirmaría que es NewTick el que crea los retrasos de la prueba. Y creo que la culpa es de tus mecanismos de fijación, no del evento en sí.
El asunto no era lo que quería decir desde el principio. En mi primer mensaje, dije que no había encontrado una manera de desactivar los eventos de tic para un símbolo con un Asesor Experto adjunto a su gráfico. Ha reaccionado a esa frase, pero no ha proporcionado una manera de desactivar el flujo de ticks para el símbolo requerido, si es necesario. Llego a la conclusión de que no sólo yo, sino también tú, no conoces ese camino. Así que mi sugerencia sigue en pie: introducir una función de alternancia que permita desactivar programáticamente la generación de eventos NewTickpara el símbolo que tiene un Asesor Experto adjunto a su gráfico.
En cuanto a los comentarios sobre "adivinar el guante" y la "artificialidad de los mecanismos de seguimiento de las colas", no me ofrecí a buscar en el código y responder a la pregunta "¿por qué es así? Como puedes ver en mi sugerencia, ya he encontrado la respuesta para mí. Pero consideremos el problema desde un punto de vista más abstracto, sin centrar nuestra atención en el código de un Asesor Experto en particular.
NewTick no está conectado directamente con OnChartEvent.
Bien, supongamos que lo es. Así, NewTick estáindirectamente relacionado con OnChartEvent, pero está conectado. Ya lo he dicho en la explicación pero lo repetiré una vez más. Usted sabe mejor que yo que hay una "cola común de eventos" donde se apilan todos los eventos que ocurren, tanto los predefinidos como los definidos por el usuario. Estos eventos se gestionan uno a uno, en el orden en que se reciben. Como la cola tiene un tamaño limitado, cuando se llena, los eventos antiguos se eliminan sin ser procesados. ¿Es eso cierto?
Así, resulta que si el Asesor Experto no prevé el manejo de eventos NewTick, pero estos eventos se siguen generando, entonces mi cola general de eventos será simplemente obstruida con eventos NewTick innecesarios, y habrá un riesgo de no manejar eventos de usuario obsoletos que deben ser manejados por el Asesor Experto. Espero que esté de acuerdo con esta conclusión. Por eso hice la sugerencia anterior.
Por supuesto, no conozco todas las sutilezas de cómo funcionan la cola de eventos y el evento NewTick. Por lo tanto, es posible que me equivoque en algunas conclusiones y consideraré con interés cualquier explicación.
En este caso yo no afirmaría que es NewTick el que crea los retrasos en las pruebas. Y creo que la culpa la tienen los mecanismos de sus fijaciones, no el evento en sí.
Como referencia. El Asesor Experto hace depender las instancias de un mismo indicador con los mismos parámetros y con el mismo "mecanismo de unión" en los símbolos adyacentes, en un mismo intervalo de tiempo. El enlace es el mismo: EventChartCustom - OnChartEvent.
¿He entendido bien que estás de acuerdo con la afirmación de que "si no hay OnTick() en un Asesor Experto, los eventos NewTick no se ponen en cola en absoluto"?
¿Por qué adivinar e inventar hipótesis?
su petición de"introducir una función de conmutación que permita desactivar programáticamente la generación de eventos NewTickpara el símbolo al que se adjunta el Asesor Experto en el gráfico. " está claro.
Escribe a servicedesk.
todo lo demás es luchar contra los molinos de viento.
¿Por qué adivinar e inventar hipótesis?
todo lo demás es una lucha contra los molinos de viento.
No me digas :) Algunos están acostumbrados a trabajar a ciegas, mientras que otros buscan aprender más sobre el fenómeno que hay que frenar. Las hipótesis surgen en ausencia de tal o cual información. Gracias por participar en el debate.
He escrito a la SD. No sabía que las sugerencias se podían dirigir allí.