Discusión sobre el artículo "Distribuciones Estadísticas en MQL5: tomando lo mejor de R" - página 5
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
¿Se incluirán también muchas funciones estándar en las bibliotecas para inlining?
Eso no es serio.
Bajo wyne, e incluso 32 bits. Un viejo compilador similar a MT4 se utiliza para 32 bits de MT5. Es un par de decenas de veces más lento que el código de 64 bits, que es creado por un nuevo compilador especialmente para la versión de 64 bits de MT5. Hemos publicado un informe comparando la velocidad de los programas MQL5 de 32 y 64 bits.
Cada programa MQL5 contiene en realidad dos copias del código compilado: 32 bits para los sistemas antiguos en aras de la compatibilidad y 64 bits para los nuevos.
Hemos abandonado por completo el desarrollo de compiladores de 32 bits, ya que no tiene sentido ni futuro.
Es por eso que usted debe utilizar sólo las versiones de 64 bits de MetaTrader 5 si desea obtener el máximo rendimiento.
Por cierto, información para aquellos que se sientan en MT4 - allí también la velocidad de ejecución de código MQL4 es un par de decenas de veces más lento que en MetaTrader 5 de 64 bits.
¿Se pondrán también muchas funciones estándar en bibliotecas para inlining?
Exacto.
En las próximas versiones lo haremos. Añadiremos fuentes de funciones a los programas sobre la marcha durante la compilación, lo que permitirá al optimizador trabajar con todo su potencial.
Para nosotros es crucial minimizar el número de llamadas al núcleo de la plataforma.
Inesperadamente ... Para mí es realmente una razón seria para finalmente reconsiderar mis hábitos y cambiar a MT5. Antes no le veía mucho sentido....
Si profundizas en la latencia de los procesos internos de MT4 y MT5, incluyendo el trading, huirás de MT4. Hay un abismo en la calidad y prolijidad de los procesos.
Somos tan fanáticos del rendimiento y la optimización de MT5 por una razón. Es una enorme ventaja tecnológica.
R tomó el tiempo mínimo a lo largo de muchos arranques, no el primer arranque y el tiempo máximo.
Así que no, "arranque en frío" no lo explica aquí. E incluso en condiciones cuando todo el código de la biblioteca está en DLL. No hay prácticamente nada que calentar.
Pero lo que sí lo explica:
Aquí es donde el compilador tiene un montón de espacio en comparación con las implementaciones no optimizadas en DLLs, que no tienen la oportunidad de aprender el entorno y ajustarse a él.
Si profundizas en la latencia de los procesos internos de MT4 y MT5, incluido el trading, huirás de MT4. Hay un abismo en la calidad y pulcritud de los procesos.
Somos tan fanáticos del rendimiento y la optimización de MT5 por una razón. Es una enorme ventaja tecnológica.
¿Qué se está midiendo aquí? Me recuerda a los holivares C++ vs Lisp - justo lo mismo, excepto que uno "compara" casi ++ y el otro es Schema sobredimensionado :-) Simplemente son cosas fundamentalmente diferentes.....
Esto es sólo una prueba pura en la práctica y la teoría de la falacia de la posición expresada por algunos comerciantes en el tema https://www.mql5.com/ru/forum/96176/page10 (hubo una mención en alguna parte):
Resultó que esto no es cierto. En la función más simple, resultó ser un drenaje y MQL5 es más eficiente. Por otra parte, he fundamentado por qué es más rápido teóricamente. Además de los resultados prácticos.
Si profundizas en la latencia de los procesos internos de MT4 y MT5, incluido el trading, huirás de MT4. Hay un abismo en la calidad y pulcritud de los procesos.
Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading
Errores, fallos, preguntas
fxsaber, 2016.10.09 09:39 pm
MT5-OrderSend NO está totalmente sincronizado - no hay sincronización con el entorno de negociación. Esto significa que las lecturas de la historia no se corresponden con el estado real de las cosas.
Cualquier tiempo de espera está fuera de lugar. No existe una solución fiable al problema, porque las cuestiones de sincronización deben tratarse a nivel de terminal, no a nivel de servidor.
De hecho, los usuarios de MT5 se han encontrado con lo mismo que los desarrolladores del puente MT4.
Si se envía un OrderSend, hay que RECORDAR (aquí hay una vulnerabilidad potencial) que se ha hecho. Luego ignorar el historial actual (entorno de trading) hasta que llegue el mensaje correspondiente a OnTrade. Una vez que llega, no hay que OLVIDAR NADA.
Cuando no hay datos FORGOTTEN, se puede confiar en la historia, al igual que en MT4.
MT4-OrderSend está TOTALMENTE sincronizado.Sí y con el resto, mucho más sencillo, como se ve, problemas
Foro sobre trading, sistemas automatizados de trading y testeo de estrategias de trading
Bugs, fallos, preguntas
A100, 2016.10.09 23:09
No puedo por la razón que tu mismo has señalado https://www.mql5.com/ru/forum/1111/page1743#comment_2877482.
De alguna manera se olvida el comercio
Usted confunde los procesos asíncronos con el deseo de ver la sincronización.
La tarea de OrderSend es realizar una solicitud y recibir una confirmación lo más rápidamente posible. Y el sistema lo hace perfectamente.
Pero obtener una transacción/acuerdo completado, ponerlo en el historial y luego dártelo bajo petición - esto es otro proceso y no tiene derecho a ralentizar el trabajo de OrderSend.
Por eso todo es correcto - ejecutas la transacción rápidamente, y luego en un milisegundo (en realidad antes) en el paquete vecino obtienes una actualización del ticket y trabajas con ella.
Y con el resto, mucho más simple, como resultó, también hay problemas
Escribir un compilador y sobre todo implementar las malvadas plantillas de C++ son cosas sencillas????
De todos modos, muchas gracias por la paciencia de A100 - fue muy útil en la captura de errores.
Pero esto es offtopic, si quieres discutir estas cuestiones, hazlo en hilos nativos. Aquí sobre R.