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
El temporizador de milisegundos existe desde hace mucho tiempo: EventSetMillisecondTimer()
Estás completamente fuera de onda. Suponga que necesita abrir dos posiciones en OnTick. El primer OrderSend dura unos 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.
También hay problemas con la propia biblioteca de medición. Hay muchas cosas innecesarias, incluidos los gastos generales.
¡Discusiones en el estudio!
Aquí está mi código y el tiempo de ejecución estable: no hay cientos o miles de microsegundos en 20 gráficos en paralelo
¿Cuántos núcleos tiene y qué tipo de procesador? ¿i7-2600?
8 núcleos.
¿Prueba de estrés oculta de nuevo con millones de peticiones en paralelo?
Te he dicho muchas veces que el asesor de combate. Se ha minimizado el número de llamadas en la medida de lo posible. En teoría (no lo he medido) hasta 10 llamadas por OnTick.
Sea más transparente. El hecho de que hayas publicado un par de simples llamadas _B no es una prueba de tus otras afirmaciones. Se olvida bruscamente del código y de la descripción real de las condiciones en cuanto hace afirmaciones extravagantes.
No necesitas imaginar nada en tu mente: cuenta y muestra lo que realmente llamas y pruebas. No un resultado arrancado de "ejecutó una prueba de estrés desconocida y espera una alerta para mostrar al mundo", sino exactamente el código completo de la prueba.
Voy a publicar los resultados del EA en vivo. Hay 70 archivos mqh allí, incluyendo WinAPI. Si realmente lo entiendes y no son sólo palabras, te daré el código fuente. Reproducirás los frenos muy rápidamente.
Estás completamente fuera de onda. Digamos que necesita abrir dos posiciones en OnTick. El primer OrderSend dura unos 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.
8 núcleos.
Muchas veces dijo asesor de combate. Se ha minimizado el número de llamadas en la medida de lo posible. En teoría (no lo he medido) hasta 10 llamadas por OnTick.
Voy a publicar los resultados del Asesor Experto. Hay 70 archivos mqh allí, incluyendo WinAPI. Si no te limitas a hablar de ello, sino que lo entiendes de verdad, te daré el código fuente. Tocarás los frenos muy rápidamente.
¡Argumentos sobre la mesa!
Todo tu benchmark está sobrecargado de basura y de hecho aquí hay una versión limpia y comprensible (a diferencia de tu desorden de código) del mismo:
Cuáles son sus problemas:
Espero que no hayas desactivado la optimización del código para las pruebas.
Me refiero al parámetro global Optimize=0 en metaeditor.ini
Todo tu benchmark está sobrecargado de basura y de hecho aquí tienes una versión limpia y comprensible (en contraste con tu desorden de código) del mismo:
Su versión está, por desgracia, en la fase inicial de comprensión de la conveniencia. Conveniente es cuando se puede hacer así.
Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias
Bibliotecas: Punto de referencia
fxsaber, 2020.10.01 23:49
Ahora tratamos de averiguar dónde está el hipo en la variante estándar. Añadimos algunos símbolos al código fuente.
Y ver inmediatamente la razón.
CHART_IS_MAXIMIZED es demasiado lento para los gráficos de otros. ¡El informe de errores está listo! Fue muy fácil con la biblioteca.
¿Cuál es el problema?
La facilidad de uso anula los escasos gastos generales. Es miserable si se mira de cerca cómo se implementa. Por ejemplo, ArrayResize es una sobrecarga, por lo que su uso se minimiza.
Espero que no hayas desactivado la optimización del código para las pruebas.
Me refiero al parámetro global Optimize=0 en metaeditor.ini
No me interesan los modos lentos. Estoy mirando el rendimiento del EA de combate, prestando atención a la optimización algorítmica y la optimización del compilador también, por supuesto.
Todo tu benchmark está sobrecargado de basura y de hecho aquí tienes una versión limpia y comprensible (a diferencia de tu desorden de código) del mismo:
¿Cuál es tu problema?
Espero que no hayas desactivado la optimización del código para las pruebas.
Me refiero al parámetro global Optimize=0 en metaeditor.ini
Aquí está el estilo C, es simple y realmente libre de basura. Gracias por el ejemplo.
Uno de los profesores de lenguaje C recomendó mejor no utilizar el guión bajo _B en los nombres de usuario
Porque este prefijo es utilizado por los desarrolladores de bibliotecas, programas, etc.
Y para no tropezar con el solapamiento, recomendó mejor no utilizarlo.
¿En mql5 es posible superponer sus nombres?
¿O los nombres personalizados están completamente protegidos de los nombres MQ?
Uno de los profesores de C recomendó no utilizar el guión bajo _B en los nombres de usuario
, porque este prefijo es utilizado por los desarrolladores de bibliotecas, software, etc.
Y para evitar solapamientos, recomendó no utilizarlo.
En C, los nombres que empiezan por "_" se utilizan como nombres de servicio, de sistema o especiales. En este caso, creo que es aceptable. Dado que esta función se utiliza para el mantenimiento y el examen del código.
Los nombres que empiezan por "_" se utilizan en C como nombres de servicio, de sistema o especiales. En este caso - aceptable, creo. Dado que esta función se utiliza para el mantenimiento y el examen del código.
Esa es la cuestión, además de mql5, hay nombres de servicios MQ para desarrolladores.