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

 
Renat Fatkhullin:

He descargado sus scripts de referencia + ejemplo.

  1. En el ordenador local - vacío en 10 minutos

  2. En un host VPS virtualizado con varias terminales en 8 minutos

  3. En VPShost físico cargado con un montón de terminales en 8 minutos

Gracias, ¡se ve muy bien!

Las pruebas se han realizado en un terminal 2630 de tamaño normal, y los terminales VPS de trabajo consumen muchos menos recursos y su latencia es inevitablemente menor.

Se utilizaron los hosts de trabajo de nuestro servicio VPS.

Tengo que usar WinAPI para suprimir el apetito de la terminal de escritorio.

su VPS. Si alguien más tiene alguna recomendación válida, que me lo diga.


Estimados desarrolladores, por favor, tengan la posibilidad de cambiar el terminal al modo de mínimo consumo de recursos para el algotrading.

 
Renat Fatkhullin:

Especifique el nombre del servidor del corredor, por favor

Esto no se refiere al servidor específico del corredor.
Se refiere a la elección de la medición de ping en su servicio propuesto.
Es decir, el mapa a veces sugiere una distancia mayor que el servidor del otro corredor, aunque por ejemplo ambos estén en LD4.
No voy a nombrar servidores específicos para comparar, simplemente al pasar por estos servidores, noté esta peculiaridad.
En general, sería mejor tener una lista de todos los lugares para elegir.
Pero de momento me interesa AMPGlobalEU-Live y su servidor americano.

 
fxsaber:

Gracias, ¡se ve muy bien!

Pero tengo que usar WinAPI para frenar el apetito del Terminal de escritorio.

Dado que Terminal suele utilizar más fps que los juegos de PC debido a las frecuentes actualizaciones, la tarjeta de vídeo pasa a primer plano. Especialmente en los vpscs sin tarjetas, toda la carga se pone en el procesador estrangulado.

Por eso haces bien en minimizar y desactivar los paneles en los escritorios virtuales.

Incluso hemos recortado la mitad del código del terminal en nuestro servicio y hemos eliminado por completo la visualización. Los terminales se han convertido en apéndices ejecutivos del controlador vpc y sólo funcionan con él.

Por lo tanto, las necesidades de recursos son mucho menores. Todo esto se describe en los artículos sobre el servicio VPS.

 
Renat Fatkhullin:

Dado que el terminal suele tener mayores fps que los juegos de PC debido a la necesidad de actualizaciones muy frecuentes, la tarjeta gráfica pasa a primer plano. Especialmente en una máquina virtual sin tarjetas, toda la carga recae en la CPU.

Por eso haces bien en minimizar y desactivar los paneles en los escritorios virtuales.

Incluso hemos recortado la mitad del código del terminal en nuestro servicio y hemos eliminado por completo la visualización. Los terminales se convirtieron en apéndices ejecutivos del controlador vpc y sólo funcionan con él.

Por lo tanto, las necesidades de recursos son mucho menores. Todo esto se describe en los artículos sobre el servicio VPS.

Aquí hay otra pregunta relacionada con su VPS.
¿Hay alguna restricción de socket en el programa mql que funciona en su servidor?
¿Es posible conectarse al broker OpenAPI independientemente del programa mql, no de la API MQ?
¿O es posible trabajar sólo con la cuenta del corredor?

 
Roman:

Tengo otra pregunta sobre sus VPNs.
¿Hay alguna limitación para el funcionamiento del socket en el programa mql en su VPS?
¿Se puede conectar desde el programa mql a la OpenAPI del broker, no a la API de MQ?
¿O su soporte de operaciones sólo está vinculado a la cuenta del corredor?

No hay restricciones en las operaciones de socket, excepto para los accesos a localhost/127.0.0.1

Los permisos establecidos en su terminal se heredan.

 
Renat Fatkhullin:

Dado que el terminal suele tener mayores fps que los juegos de PC debido a la necesidad de actualizaciones muy frecuentes, la tarjeta gráfica pasa a primer plano. Especialmente en los vpscs sin tarjetas, toda la carga recae sobre la CPU, que queda estrangulada.

Entonces, ¿por qué no hacer un refresco a 20 Hz, reduciendo así los fps? De todos modos, los visuales sólo son necesarios para los ojos humanos. No notará si son 200 fps o 20.

Así que haces bien en minimizar y desactivar los paneles en los virtualizadores.

Desgraciadamente, se necesita WinAPI para hacerlo. Y todavía no he aprendido a cerrar la ventana de Market Watch y Tools. Por favor, dígame cómo hacerlo a través de WinAPI.

Market Products ha frenado por completo los VPS de terceros. No se puede hacer una minimización automatizada. Definir la ocultación del gráfico es lo mismo. Además, no hay forma de sustituir el lento GetMicrosecondsCount por un análogo con cuantificación en milisegundos. Se impone un crudo GetTickCount con 16ms, que es demasiado para los mecanismos del entorno comercial de las instantáneas.

No para comercializar su servicio VPS, ¿lo limita así? Supongo que aún no era relevante. Sin embargo, ya se ha presentado con la medición y algunas soluciones de muletas.

Hemos recortado la mitad del código del terminal en nuestro servicio y hemos eliminado por completo la visualización. Los terminales se convirtieron en apéndices ejecutivos de vps-controller y sólo funcionan con él.

Por lo tanto, las necesidades de recursos son mucho menores. Todo esto se describe en los artículos sobre el servicio VPS.

El terminal de sobremesa podría acercarse más al algotrading, y el consumo de recursos podría reducirse gracias a las capacidades MQL.

Dígame, si solicito un historial de ticks para todos los símbolos en Market Watch (screener), ¿el servicio VPS almacenará 128K ticks para cada símbolo como caché?


No.

bool CopyTicksClearCache( const string Symbol );
para que sólo se puedan consultar los últimos ticks sin necesidad de grandes recursos, para olvidarse de los saltos en OnTick.
 
Roman:

Esto no se refiere al servidor específico del corredor.
Se refiere a la elección de la medida de ping en su servicio sugerido.
Es decir, el mapa a veces sugiere una distancia mayor que el servidor del otro corredor, aunque por ejemplo ambos estén en LD4.
No voy a nombrar servidores específicos para comparar, simplemente al pasar por estos servidores, noté esta peculiaridad.
En general, sería mejor tener una lista de todos los lugares para elegir.
Pero de momento me interesa AMPGlobalEU-Live y su servidor americano.

AMPGlobalEU-Live con el servidor de MetaTrader 4 en Londres en LD4 muestra un ping de 1,73 ms:


Pero AMPGlobalEU-Live (en realidad es mejor buscarlo como AMPGlobalUSA-Live) para MetaTrader 5 con un núcleo de plataforma física en Chicago muestra en realidad 19,53 ms, ya que nuestros servidores más cercanos están en Nueva York:

Especialmente escaneado todos sus puntos manualmente - el mínimo es de 19 ms.

Intentaremos poner servidores en Chicago en los próximos días. No he llegado a hacerlo.

 
Renat Fatkhullin:

AMPGlobalEU-Live con el servidor de MetaTrader 4 en Londres en LD4 muestra un ping de 1,73ms:


Pero AMPGlobalEU-Live (en realidad es mejor buscarlo como AMPGlobalUSA-Live) para MetaTrader 5 con un núcleo de plataforma física en Chicago es en realidad 19,53 ms, ya que nuestros servidores más cercanos están en Nueva York:

Especialmente escaneado todos sus puntos manualmente - el mínimo es de 19 ms.

Intentaremos poner servidores en Chicago en los próximos días. No he llegado a hacerlo.

Esto lo he visto todo, y también analizado ))
Si pones un servidor en Chicago, ponlo directamente en Aurora, donde está la ubicación de la bolsa y todos los proveedores.

 

Más de una vez he visto situaciones en las que el Terminal carga tanto la CPU al 100% que no reacciona a nada.

Entonces miré los registros y vi que había saltos salvajes de ticks en OnTick. Sin embargo, si escribo correctamente un EA, esta situación desastrosa no afectará a los resultados de las operaciones. Lo he analizado específicamente, todo está claro.

Me pregunto hasta qué punto están extendidos los mecanismos para hacer frente a los retrasos en los productos de mercado. No he visto ni una sola vez que se mencione la potencia de la máquina para funcionar. Ping mínimo - sí.

 
fxsaber:

Entonces, ¿por qué no hacer una instantánea de la actualización a 20 Hz, reduciendo así los fps? De todos modos, las imágenes son sólo para los ojos humanos. No notará si son 200 fps o 20.

Porque una multitud de usuarios vendrá corriendo con acusaciones.

Esto es sencillo.

Dicho esto, de hecho utilizamos pequeños contenedores.


Desgraciadamente, necesitamos WinAPI para hacerlo. Y todavía no hemos aprendido a cerrar la ventana de Observación del Mercado y Herramientas. Por favor, dígame cómo hacerlo a través de WinAPI.

La función MQL5 que minimiza todas las ventanas y la propia aplicación es una gran idea. Lo resolveremos.

Sin embargo, si una persona ejecuta el terminal en VPS por sí misma, se opondrá fuertemente a que todo se minimice abruptamente. Él mismo puede y debe minimizar las ventanas si sale de la sesión RDP.


Los productos del mercado están completamente frenados en los VPS de terceros. La minimización automatizada no se puede hacer. Definir la carta que se esconde de los ojos - de manera similar. Además, no hay forma de sustituir el lento GetMicrosecondsCount por su homólogo de cuantificación en milisegundos. Se impone un crudo GetTickCount con 16ms, que es demasiado para los mecanismos de instantáneas del entorno comercial.

Parece que no entiendes nada.

No es GetMicrosecondsCount lo que te está ralentizando, es el SO cuantificando los recursos de la CPU de cualquier hilo de tu vpska estrangulado. Para cualquier función, cualquier acción, cualquier programa dentro de su UPU.

Bueno, ningún shell de la CPU puede cortar y asignar los recursos de manera justa cuando tiene 20 (eso sigue siendo respetable) sistemas operativos con 1500 hilos de ejecución por copia. Tome 8-16 núcleos y distribúyalos en 20 * 1.500 = 30.000 (treinta mil pistas físicas).


Y para comparar tenemos nuestro host VPS con 97 terminales activos: sólo 3 333 hilos y sólo 205 procesos - ninguna sobrecarga del sistema


Aquí está mi ordenador de trabajo ahora para la comparación - a excepción de los navegadores, una copia de MT5 y varios programas sin costo no hay nada más: 3 876 hilos están activos



Resulta que un host VPS con un montón de terminales funciona de forma más económica que un escritorio. El VPS tiene 8 núcleos y el escritorio tiene 128.