MT5 y la velocidad en acción - página 67

 
fxsaber:

El problema está formulado de forma muy sencilla: ¿cómo escribir un EA que no se ralentice al esperar una cola? Un bucle infinito es imposible, porque el Sueño es un freno. Entonces, el bucle asíncrono se extravía. Ahora bien, atrapar las esperas en forma de largos milisegundos no es la cuestión en absoluto.

En tu caso - cambia tu ordenador por uno más potente. Y entonces puedes dejar de usar el Sueño
 
Anton:

No te engañes a ti mismo ni a los demás.

Todas tus afirmaciones aquí describen una tarea completamente diferente: cómo escribir un EA que no se ralentice en un hardware de 9 años que está sobrecargado hasta sus límites.

Este hilo y tu participación, en particular, me han ayudado a escribir dicho EA. La carga de la CPU llega al 10% en un VPS muy débil cuando tengo más de una docena de Asesores Expertos en funcionamiento. Un clic para cientos de posiciones y órdenes pendientes. CopyTicks en cada tick y así sucesivamente. Así que tu afirmación es errónea.


Necesito crear un EA en una máquina fuerte con Idle-CPU que no espere en cola durante largos milisegundos. Lamentablemente, no ha realizado una prueba de EA en su MuscleCar.

 
Slava:
En tu caso, puede que tengas que cambiar tu ordenador por uno más potente. Entonces no tendrás que usar el sueño.

Por favor, danos una cifra de referencia para determinar si la potencia del coche es suficiente o no.


Por favor, pida a todos los propietarios de planchas potentes que compartan el resultado de este asesor en su máquina. Debe esperar uno o dos minutos después de iniciarlo.

 
fxsaber:

Por eso hago una pregunta a los propietarios de MQ-Demo.

En ese caso, esta pregunta quedará sin respuesta. Este es un servidor de demostración.

Una vez más: en el terminal se obtienen los precios más "recientes" de cada símbolo.

El terminal no se dedica a fijar o modificar los tiempos de tic-tac: como vino, así se da. El terminal no tiene ninguna tarea para sincronizar los tiempos de tick de los diferentes símbolos.

Por lo tanto, su suposición de que el terminal "se ralentiza" y envía ticks antiguos al Asesor Experto en base a la prueba que ha proporcionado es falsa.

En este punto consideraré la pregunta cerrada. Su formación no es la principal tarea de los desarrolladores.

 

En mi opinión es mejor probar en una máquina lenta. Mostrará problemas que de otro modo pasarían desapercibidos en una máquina rápida.

Haré la prueba más tarde hoy y publicaré los resultados.

 
Anton:

En ese caso, esta pregunta quedará sin respuesta. Este es un servidor de demostración.

Una vez más: en el terminal se obtienen los precios más "actualizados" de cada símbolo.

El terminal no se dedica a fijar o modificar los tiempos de tic-tac: como vino, así se da. El terminal no tiene la tarea de sincronizar los tiempos de tick para diferentes símbolos.

Su demostración existe para la elaboración técnica. Si me cambio a otro servidor, me enviará al corredor. ¿Por qué su servidor genera el flujo de ticks de tal manera que envía ticks antiguos? Si el problema no está en el terminal, está en la parte del servidor. En este caso, el servidor pertenece a MQ. Así que cualquier corredor no tiene nada que ver.

Por lo tanto, tu suposición, basada en la prueba que has proporcionado, de que el Terminal "se ralentiza" y envía al EA ticks antiguos es falsa.

En este punto consideraré la pregunta cerrada. Su aprendizaje no es la principal tarea de los desarrolladores.

Su especulación sobre mi suposición es errónea. No es necesario leer entre líneas.


Y al grano. La situación real en su servidor (y en otros). El último tick entrante en Market Watch tiene la hora 00:00:00.150, más tarde llega un tick con la hora 00:00:00.148. Cuando se recibió en la Terminal, ¿cuánto tiempo ha estado vivo?

 
fxsaber:

Por favor, proporcione un Benchmark que le guíe para determinar si su máquina es lo suficientemente potente o no.


Por favor, pide a todos los propietarios de hardware potente que compartan los resultados de este asesor en su máquina. Debe esperar uno o dos minutos después de iniciarlo.

2020.11.04 19:55:49.461	test1 (EURUSD,H1)	Alert: OnBook-lag! - 1002 mcs.
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[0] 1.17269 1.17269     true     494478
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[1] 1.17269 1.17269    false        297
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[2] 1.17272 1.17272     true     117109
2020.11.04 19:55:49.461	test1 (EURUSD,H1)	[3] 1.17272 1.17272    false       1002
2020.11.04 19:55:59.922	test1 (EURUSD,H1)	Alert: OnTick-lag! - 2673766 mcs.
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[0] 1.17266 1.17266    false        252
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[1] 1.17264 1.17264     true      35875
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[2] 1.17264 1.17264    false        247
2020.11.04 19:55:59.923	test1 (EURUSD,H1)	[3] 1.17264 1.17264     true    2673766
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	Alert: OnTick-lag! - 6478 mcs.
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[0] 1.17258 1.17258     true      86315
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[1] 1.17258 1.17258    false        265
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[2] 1.17260 1.17260    false      42446
2020.11.04 19:56:00.202	test1 (EURUSD,H1)	[3] 1.17260 1.17260     true       6478
...
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15596 mcs.
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[0] 1.17292 1.17293     true     107565
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[1] 1.17292 1.17293    false        275
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[2] 1.17293 1.17293    false     219947
2020.11.04 19:57:45.465	test1 (EURUSD,H1)	[3] 1.17293 1.17293     true      15596
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	Alert: OnTick-lag! - 15784 mcs.
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[0] 1.17294 1.17294     true      29494
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[1] 1.17294 1.17294    false        283
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false     549238
2020.11.04 19:58:00.002	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true      15784
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	Alert: OnTick-lag! - 4075 mcs.
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	      [bid]   [ask] [onTick] [Interval]
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[0] 1.17297 1.17297     true      21386
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[1] 1.17297 1.17297    false        325
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[2] 1.17296 1.17296    false      97215
2020.11.04 19:58:01.859	test1 (EURUSD,H1)	[3] 1.17296 1.17296     true       4075

2020.11.04 12:18:51.145 Terminal        Windows 10 build 19041, AMD Ryzen 5 1600 Six-Core Processor, 12 / 15 Gb memory, 140 / 446 Gb disk, IE 11, UAC, GMT+3
El hardware parece ser más o menos potente...
 



2020.11 . 04  17 : 55 : 08.418 Terminal MetaTrader 5 x64 build 2560 started for MetaQuotes Software Corp. 
2020.11 . 04  17 : 55 : 08.420 Terminal the the the the Windows 10 build 18362 , Intel Core i5- 7400      @ 3.00 GHz, 22 / 31 Gb memory, 29 / 222 Gb disk, IE 11 , UAC, GMT + 1


Hardware mediocre sin carga.


Но если Вы хотите сравнить тики, полученный в OnTick и полученный в OnBookEvent, тогда вас ждёт разочарование, так как  Elprocesamiento de los eventoses secuencial, no paralelo. Lo que el usuario pivomoe trató de decirle
Creo que esto siempre será un problema debido a su naturaleza consistente.
Sin embargo, parece que merece la pena estar atento a las noticias y a los telediarios si quiere conocer las últimas novedades lo antes posible.
Archivos adjuntos:
_20201104.log  199 kb
 
fxsaber:

Invito a otros a compartir el resultado de la ejecución de este script en su máquina.

2020.11.04 18:33:01.220 TextCreate (EURUSD,H1)  total 18018475 microseconds (1.802 ms per iteration)
 
fxsaber:

Tu guión.


Máquina.

Windows 10 build 19042, Intel Core i7-2700 K  @ 3.50 GHz, 7 / 15 Gb memory, 18 / 29 Gb disk

Disco de 29gb. Estás probando desde máquinas caseras y entiendo que lo haces desde un VPS o una máquina virtual.

Виртуальный хостинг для MetaTrader 5
Виртуальный хостинг для MetaTrader 5
  • www.mql5.com
Виртуальный хостинг для MetaTrader 4/5 является лучшим VPS-решением для Форекса. Оно не требует настройки, дает минимальные задержки до сервера и отличается низкими ценами. Всего за 15 USD в месяц вы получите виртуальную платформу, которая работает круглые сутки, экономит вашу прибыль и даже окупает себя. Создать удаленную копию приложения...