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

 
Andrey Dik:

Por favor, dígame un ejemplo en el que se requieran eventos asíncronos y esto no sea posible ahora mismo por medios estándar.

Todo comenzó con un desajuste del evento OnTick OnBook, y Slava lo confirmó. Esta es una.
El fxsaber supera la obtención de un SymbolInfoTick() a tiempo. Debido a la operación de bloqueo de los manejadores, esto es un problema. Son dos.
Lalectura de sockets de diferentes manejadores, es un problema. Son tres.
Bucles de bucle en los manipuladores. Son cuatro.
Cálculos largos. Son cinco.

No se pueden recibir los eventos del manipulador de manera oportuna si otro manipulador está ocupado. Este es el sexto.
Se producen muchas restricciones debido al modelo de bloqueo de los manipuladores.
Puedes seguir y seguir siempre que seas lo suficientemente elegante.

Por no hablar de los eventos de los gráficos, los eventos de renderización de gráficos, etc.
 
Igor Makanu:

¿Por qué? Entiendo cómo funcionan las aplicaciones en Win.

Será mejor que averigües la historia de Python, ¿de dónde y cuándo surgieron estas bien llamadas muletas asíncronas? - ¿Te das cuenta de que estas soluciones no fueron diseñadas originalmente en Python?

Estoy de acuerdo en que gracias a estas cosas asíncronas se puede utilizarPython para soluciones cliente-servidor, quizás sea genial que el frontend del usuario pueda ahora utilizar los recursos de un servidor multiprocesador,

¿pero por qué un usuario en una aplicación de escritorio tendría un terminal en Win? - Pues bien, si consigues más hilos, aunque puedas sincronizarlos con algunas funciones await, quedará un fondo común de mensajes/eventos


Vale, estoy harto de discutir aquí delante de todo el foro, abarrotad los hilos con vuestras fantasías, no es mi problema.

Y no tienes que empezar con tus fantasías. Nadie te lo pide. Si no sabes de qué hablo, es mejor que te calles, pasarás por alfabetizado.

 
Roman:
Todo comenzó con el desajuste de los eventos OnTick OnBook, y Slava lo confirmó. Esa es una.
El fxsaber supera la obtención de un SymbolInfoTick() a tiempo. Debido a la operación de bloqueo de los manejadores, esto es un problema. Son dos.
Lalectura de sockets de diferentes manejadores, es un problema. Son tres.
Bucles de bucle en los manipuladores. Son cuatro.
Cálculos largos. Son cinco.

No se pueden recibir los eventos del manipulador de manera oportuna si otro manipulador está ocupado. Este es el sexto.
Se producen muchas restricciones debido al modelo de bloqueo de los manipuladores.
La lista puede seguir y seguir, hasta donde uno pueda imaginar
.

La solución es simple - mover los manejadores a Asesores Expertos separados. Cualquier modelo de evento puede ser implementado por medios estándar de MT5.

Otra cosa es que Windows no es un sistema en tiempo real, pero aunque lo fuera, el evento debe ser procesado más rápido que el programado, pero no instantáneamente en cualquier caso. Por lo tanto, los desarrolladores tienen razón (aunque no me corresponde a mí ni a ti juzgar si tienen razón o no): quieres ejecutar los programas más rápido, compra procesadores y memoria más rápidos y con tantos núcleos reales como sea posible.

 
Andrey Dik:

La solución es simple - mover los manejadores a Asesores Expertos separados. Cualquier modelo de evento puede ser implementado por medios estándar de MT5.

Otra cosa es que Windows no es un sistema en tiempo real, pero aunque lo fuera, el evento debe ser procesado más rápido que el previsto, pero no instantáneamente en cualquier caso.
Así que los desarrolladores tienen razón: si quieres ejecutar los programas más rápido, compra procesadores y memoria más rápidos y tantos núcleos reales como sea posible.

Esto no es una solución, sino una muleta )) manejadores dispersos en programas separados. Te enseñan una cosa mala aquí ))
Los desarrolladores se equivocan aquí, todos los proyectos serios están escritos de forma asíncrona por programadores normales.
No es el hardware lo que hay que plantear, sino la arquitectura de ejecución del programa.

 
Roman:

Vete a aprender programación asíncrona, que te estás hartando.

Roman, muchacho. Cálmate ya.

 
Slava:

Roman, muchacho. Cálmate ya.

Tío Slava )) escribir todos los manejadores en un bucle de eventos sin bloqueo. Resolverás muchos problemas.

 
Roman:

Esto no es una solución, sino una muleta )) manejadores dispersos en programas separados. Te enseñan una cosa mala aquí ))
Los desarrolladores se equivocan aquí, todos los proyectos serios están escritos de forma asíncrona por programadores normales.
No es el hardware lo que hay que actualizar, sino la arquitectura de ejecución del programa.

¿Cuál es el problema? Escribe tu propio código y se demuestra que tienes razón.

Admiro a esos tipos, no te regañaron, trataron de explicarte. De manera muy cortés. No necesitan demostrarte nada: son autosuficientes. Saber ha sido baneada aquí más que nadie. Dick también ha sido expulsado. Igor es la corrección misma, y está en constante aprendizaje. Pero mantenemos un diálogo muy fructífero con ellos. A diferencia de ti.

 
Roman:

Tío Slava )) escribir todos los manejadores en un bucle de eventos sin bloqueo. Resolverás muchos problemas.

El que no se bloquea no funciona. Por razones puramente objetivas

 
Slava:

¿Cuál es el problema? Has escrito tu propio código - has demostrado tu punto.

Admiro a esos tipos, no te echaron, trataron de explicarte. De manera muy cortés. No necesitan demostrarte nada: son autosuficientes. Saber ha sido baneada aquí más que nadie. Dick también ha sido expulsado. Igor es la corrección misma, y está en constante aprendizaje. Pero mantenemos un diálogo muy fructífero con ellos. A diferencia de ti.

Si la gente aquí no entiende lo que escribe, lo siento, no es mi problema, es el problema de los que no se fuman el tema de conversación.

 
Slava:

El que no se bloquea no funciona. Por razones puramente objetivas.

¿Puede especificar estas razones objetivas?