mt5 strategy tester ticks - página 4

 
RaptorUK:
No me refiero a los ticks perdidos en el Probador de Estrategias, sino a los ticks perdidos mientras los graba. Si cuenta los ticks que ve mientras graba los datos y se le escapan ticks, entonces su cuenta será menor de lo que debería haber sido. Es muy sencillo determinar si se le ha escapado un tick mientras lo graba, sólo me preguntaba si lo hizo y qué hizo cuando descubrió que se le había escapado un tick.

Como ya he escrito, confío en que mis datos en tiempo real estén completos. Las razones para esto:

1, A veces se registran casi mil ticks por minuto (¡equivale a más de diez ticks por segundo!). Es un número lo suficientemente alto como para convencerme de que no hay ningún problema con el rendimiento del EA. (Y debido a esta cifra no creo que hubiera ticks no registrados y que el EA no fuera capaz de mantener el ritmo)

2, El EA se ejecuta en un VPS dedicado a Metatrader, que es mantenido por un proveedor de servicios profesionales especialmente personalizado para el comercio (es decir, la minimización de las interrupciones de conexión).

 
NyemaSanya:

Como escribí, confío en que mis datos en tiempo real registrados en VPS son completos. Las razones para esto:

1, A veces se registraron casi mil ticks por minuto (equivale a más de diez ticks por segundo!). Es un número lo suficientemente alto como para convencerme de que no hay ningún problema con el rendimiento del EA.

2, El EA se ejecuta en un VPS dedicado a Metatrader que es mantenido por un proveedor de servicios profesional, especialmente personalizado para el comercio.


Por cierto, tengo curiosidad, ¿cómo se puede determinar si hay una garrapata que falta al grabar?

OK, así que no lo compruebas para no saber si tu recuento es correcto o no... ¿por qué no lo has dicho? ¿Cuánto tiempo tarda tu OnTick() en ejecutarse? si no ha terminado antes de que llegue el siguiente tick no se perderá un tick?

¿Cómo se comprueba? Bien... mantenga un recuento de los ticks a medida que avanza, ponga a cero este contador cuando se inicie una nueva barra e increméntelo para cada tick, compare su recuento con el volumen de la barra 0, si su recuento difiere ha perdido al menos un tick.

 
RaptorUK:

OK, así que no compruebas para no saber si tu cuenta es correcta o no... ¿por qué no lo has dicho? ¿Cuánto tiempo tarda tu OnTick() en ejecutarse? si no ha terminado antes de que llegue el siguiente tick no perderás un tick?

¿Cómo se comprueba? Bien... mantenga un recuento de los ticks a medida que avanza, ponga a cero este contador cuando comience una nueva barra e increméntelo para cada tick, compare su recuento con el volumen de la barra 0, si su recuento difiere ha perdido al menos un tick.

Entonces, acaba de encontrar una buena tarea para usted ;-)
 
RaptorUK:

OK, así que no compruebas para no saber si tu cuenta es correcta o no... ¿por qué no lo has dicho? ¿Cuánto tiempo tarda tu OnTick() en ejecutarse? si no ha terminado antes de que llegue el siguiente tick no perderás un tick?

¿Cómo se comprueba? Bien... mantenga un recuento de los ticks a medida que avanza, ponga a cero este contador cuando comience una nueva barra e increméntelo para cada tick, compare su recuento con el volumen de la barra 0, si su recuento difiere ha perdido al menos un tick.

¿Por qué insiste en este punto?
 
angevoyageur:

¿Por qué insiste en este punto?


Sólo me vino a la mente una cosa más, mostrando lo ridículo de su pegada. Para obtener los datos de ticks del probador hice correr el EA sin visualización. Eso es mucho más rápido que la velocidad de la vida real, para obtener un día toma menos de medio minuto. Incluso en este caso todos los ticks se registraron....

 
NyemaSanya:

Se me acaba de ocurrir otra cosa, que demuestra lo ridículo de su pegada. Para obtener los datos de ticks del probador ejecuté el EA sin visualización. Eso es mucho más rápido que la velocidad de la vida real, para obtener un día toma menos de medio minuto. Incluso en este caso todos los ticks se registraron....

En una prueba de avance, SIEMPRE se pierden algunos ticks (por un tiempo de prueba significativo). No hay nada que puedas hacer al respecto, estos ticks simplemente no llegan a tu script/EA. Vea la documentación:

El eventoNewTick se genera si hay nuevas cotizaciones, es procesado por OnTick() de los Asesores Expertos adjuntos. En caso de que la función OnTick para la cotización anterior esté siendo procesada cuando se reciba una nueva cotización, la nueva cotización será ignorada por un Asesor Experto, porque el evento correspondiente no se pondrá en cola.

Con el probador, todo se genera internamente, por lo que no se pierde un tic. Y este es el problema.
 
angevoyageur:

En una prueba de avance, SIEMPRE se pierden algunos ticks (durante un tiempo de prueba significativo). No hay nada que puedas hacer al respecto, estos ticks simplemente no llegan a tu script/EA. Vea la documentación :

El eventoNewTick se genera si hay nuevas cotizaciones, es procesado por OnTick() de los Asesores Expertos adjuntos. En caso de que la función OnTick para la cotización anterior esté siendo procesada cuando se reciba una nueva cotización, la nueva cotización será ignorada por un Asesor Experto, porque el evento correspondiente no se pondrá en cola.

Con el probador, todo se genera internamente, por lo que no se pierde un tic. Y este es el problema.


Lo siento angevoyageur:


No estoy de acuerdo ni contigo ni con RaptorUK. Me parece que ignoras la lógica básica. El EA es capaz de registrar unos cientos de miles de ticks en un plazo de minutos cuando se ejecuta el probador. Lo que significa que la función Ontick() se ha completado en una fracción de milisegundo.

Pero usted sigue insistiendo en que el EA podría no ser capaz de registrar menos ticks en tiempo real, teniendo mucho más tiempo para la ejecución de Ontick()?

Lo siento, pero creo que ahora esto se convirtió en una conversación totalmente inútil, así que me retiro.
 

@NyemaSanya: Obviamente no te das cuenta de que puedes perder un Tick mientras grabas. RaptorUK ya te lo ha dicho. Los Ticks son nuevas cotizaciones emitidas desde el servidor del broker. Las nuevas cotizaciones pueden ser ignoradas por mt5 mientras procesa su Tick_Recorder. angevoyageur ya le dijo esto. Los ticks son paquetes de datos que tienen que viajar en el ciberespacio y llegar a tu terminal, puedes perder los ticks debido a la pérdida de paquetes de datos. Ahora Ubzen te ha dicho esto.

Todos los miembros legendarios de mql4, los creadores de mql4 | mql5 parecen concluir lo mismo. El ajuste de la curva de la garrapata se acerca a la aleatoriedad.

- Si todavía piensas que no puedes perder un tick en la vida_real, entonces necesitas investigar tu material antes de seguir argumentando.

- Si te das cuenta de que puedes perder un tick, entonces necesitas responder a la pregunta de por qué tu método es mejor.

De todos modos, esto es sólo el mismo argumento una y otra vez. Lee este tema.

 
NyemaSanya:


Lo siento angevoyageur:


No estoy de acuerdo ni contigo ni con RaptorUK. Me parece que ignoras la lógica básica. El EA es capaz de registrar unos cientos de miles de ticks en un plazo de minutos cuando se ejecuta el probador. Lo que significa que la función Ontick() se ha completado en una fracción de milisegundos.

Pero sigues insistiendo en que el EA podría no ser capaz de registrar menos ticks en tiempo real, teniendo mucho más tiempo para la ejecución de Ontick()?

Lo siento, pero creo que ahora esto se convirtió en una conversación sin sentido, así que me retiro.

¿Por qué reaccionar así? Aquí no hay nada personal.

Esto no es una cuestión de acuerdo o no. Un EA en la prueba de avance siempre se pierda las garrapatas, esto es un hecho. Me parece que su primer comentario muy interesante en el que nunca prestó atención a que la estrategia Tester no se pierda una garrapata, ya que se emulan en base al volumen. Lepregunté a RaptorUk por qué insiste porque encuentro este tema secundario, no me di cuenta de que no sabes lo que es un tick .

 

Hice una prueba ayer (9/4) en EURUSD, con un EA que sólo cuenta ticks y compara los datos de MqlTick:

Ticks
Volumen (tick) indicado por el terminal MT5 en el gráfico D1
46 645
Prueba a futuro D1
46 106
Backtest en diario46 489


  • Por lo tanto, incluso con casi nada que hacer, EA en la prueba de avance, todavía se pierden cientos de garrapatas al día.
  • Estoy un poco intrigado por el hecho de que el backtest produjo menos ticks que el volumen diario.
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices
  • www.mql5.com
Standard Constants, Enumerations and Structures / Data Structures / Structure for Current Prices - Documentation on MQL5