![MQL5 - Lenguaje de estrategias comerciales para el terminal de cliente MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
¿Impresión y Alerta no son asíncronas?
Quería que estas funciones fueran asíncronas. Probé una implementación a través de ChartEvent - funciona. Pero es muy lento. Había desenterrado esto.
Renunció a una función tan cara en lugares críticos.
Sobre el tema de la Alerta.
Hasta ahora, podemos decir con seguridad que la alerta no es posible en los lugares críticos. La asincronía es necesaria.
Reproducción de los frenos SymbolInfoTick. Y no hay prueba de esfuerzo. La necesidad práctica te hace escribirlo así.
Siga estas instrucciones para una reproducción rápida.
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
El envío sincrónico de órdenes informa de la ejecución satisfactoria más rápidamente que el ping al servidor de operaciones
fxsaber, 2020.09.30 20:36
En una máquina rápida el resultado con 30 caracteres en Market Watch.
Espero no ser el único que se reproduce. Por supuesto, el retraso no es tan grande como el mostrado anteriormente. Pero aquí será posible llegar al fondo de las causas mucho más rápido.
ZZY TimeCurrentMsc no se introduce en MQL5 por alguna razón, a pesar de las repetidas solicitudes.
Renunció a una función tan cara en lugares críticos.
Este es un inconveniente importante. Porque el modelo de eventos MQL es incompleto - no hay un evento cero, es decir, el evento que se llama cuando no hay otros eventos en la cola. Se puede emular a través de un evento personalizado. Pero teniendo en cuenta este inconveniente, el modelo basado en eventos carece de sentido para quienes están interesados en la velocidad
EventChartCustom es caro.
¿Y sinChartFirst()?
¿Qué tal sin ChartFirst()?
Es más caro enviar a la carta de otra persona que a la propia.
Este es un defecto importante. Porque el modelo de eventos MQL es incompleto - no hay ningún evento nulo, es decir, un evento que se llama cuando no hay otros eventos en la cola. Se puede emular a través de un evento personalizado. Pero teniendo en cuenta este inconveniente, el modelo basado en eventos carece de sentido para quienes están interesados en la velocidad
OnTimer le permite realizar llamadas de fondo con una frecuencia de hasta 16 ms.
Correcto, es decir, perdemos al menos16ms para nada (podemos volver como mínimo).Y no podíamos perderlos si había un evento gratuito de cero o eventos personalizados gratuitos. Y ahora el modelo de eventos en el caso de abajo funciona limitadamente:
Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading
MT5 y la velocidad en acción
fxsaber, 2020.10.06 01:27
Estás completamente fuera de onda. Digamos que necesita abrir dos posiciones en OnTick. El primer OrderSend dura unos pocos milisegundos. Después hay que hacer una foto instantánea. Y luego se debe llamar al segundo OrderSend.
Sólo OnTick puede ejecutarse durante cientos de milisegundos. Y sugieres que se haga un snapshot de OnTimer.
Sobre el tema de la Alerta.
Por ahora, es seguro decir que la Alerta no se puede utilizar en lugares críticos. La asincronía es necesaria.
Alerta con una huella, puedes intentar sustituirla por una escritura rápida en algún lugar.
Me viene a la mente el sql nativo en memoria
No estaba sugiriendo una instantánea, estaba respondiendo a una pregunta directa sobre el temporizador de milisegundos.
A menudo utilizo el hecho de que el Tester tiene exactamente un temporizador de milisegundos, no de segundos. Prueba.
Resultado.
Hay exactamente 29 ms entre el tiempo de apertura y el de cierre de la posición.