El terminal MT5 se ha actualizado hoy y la ventana de "Optimización" no aparece durante la prueba - 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
¿Por qué romper un buen algoritmo antiguo y sustituirlo por uno nuevo que es 3 veces más lento?
El algoritmo del probador genético no ha cambiado. Y las afirmaciones sobre las 3 veces son absolutamente infundadas.
El método de trabajo de un caché de resultados anteriores cambió. Y se hizo mucho mejor y más completa que la anterior.
Si necesita introducir un nuevo enfoque en el método genético, añada un nuevo elemento a la pestaña "optimización",
Crear una descripción y técnicas para trabajar con ella.
Eche un vistazo a los enlaces de arriba - todos estos artículos son de nuestro sitio. El optimizador genético ha sido discutido instantáneamente durante muchos años.
Busca "probador de estrategias", "optimizador genético" en la búsqueda, por favor.
Y hazme caso: la optimización de un solo factor de recuperación en la genética está contraindicada. Simplemente engañas al algoritmo con una relación"beneficio/máximo drawdown" completamente inestable y engañosa (para los automáticos), que genera fácilmente valores enormes. Piensa en cómo y por qué.
El lunes corregiremos el dibujo del gráfico de optimización.
¿Habrá una ejecución parcial de las órdenes limitadas, en función de los volúmenes que pasen por el mercado?
¿Ha visto alguna vez volúmenes en un vaso en la historia? Es poco realista ponerlo en práctica sin tener una visión del mercado.
¿Ha visto alguna vez volúmenes en un vaso en la historia? Es imposible hacerlo sin un molde del vaso.
No se me ocurriría. Me gustaría que el límite de compra con precio 90 y lote 10 se activara parcialmente, si, por ejemplo, hubiera un tick de VENTA con precio 89 y volumen 1. Ahora es muy triste. La orden se activaría si hubiera un tick de COMPRA con el precio 90 y el lote 1... y a todo volumen.
El algoritmo del probador genético no ha cambiado. Las afirmaciones sobre las 3 veces son absolutamente infundadas.
Lo que se ha cambiado es el funcionamiento de la caché de resultados anteriores. Y se convirtió en algo radicalmente mejor y más completo que el anterior.
Hice algunas pruebas comparativas en las nuevas y viejas construcciones del probador.
Aquí están los resultados. Registros y descripción en el post #34.
Aquí está mi prueba con las condiciones sugeridas:
Metatrader 5 build 1755:
después de lo cual el terminal se reinicia para evitar el efecto directo de las cachés calientes en la memoria
2018.04.30 11:24:15.913 Tester Best result 3254.53 produced at generation 0. Next generation 4 2018.04.30 11:24:16.775 Tester file cache used 19 times 2018.04.30 11:24:16.775 Tester result cache used 216 times 2018.04.30 11:24:16.775 Tester genetic optimization finished on pass 1337 (of 49644595) 2018.04.30 11:24:16.775 Statistics optimization done in 0 minutes 15 seconds 2018.04.30 11:24:16.775 Statistics local 1105 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
prueba continúa desde el punto de parada y no desde el principio como en build 1809, entonces de la propuesta 10496 pases se tomaron 3487 y 66+3814 tomados de la caché (66+3814 / 10496 = 36% de acierto en la caché)
2018.04.30 11:26:27.931 Tester Best result 3363.35 produced at generation 15. Next generation 32 2018.04.30 11:26:28.104 Tester genetic calculation is over 2018.04.30 11:26:28.111 Tester 3422 records written to file cache C:\Users\sys\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\tester\cache\Moving Average.EURUSD.M5.1.xml 2018.04.30 11:26:28.539 Tester file cache used 66 times 2018.04.30 11:26:28.539 Tester result cache used 3814 times 2018.04.30 11:26:28.539 Tester genetic optimization finished on pass 8704 (of 49644595) 2018.04.30 11:26:28.550 Statistics optimization done in 0 minutes 25 seconds 2018.04.30 11:26:28.550 Statistics local 3487 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
Metatrader 5 build 1809:
después de lo cual se reinicia el terminal para evitar la influencia directa de las cachés calientes en la memoria.
como la prueba se inicia desde el principio, a partir de la propuesta 10240 pases se hizo limpia 5863 y 4377 fueron tomadas de la memoria caché (4377 / 10240 = 42% de golpe de caché)
Ahora las conclusiones:
Esto se puede ver en el tiempo de pase completo, es de 33 segundos en lugar de 38 segundos. Y 33 segundos para un mayor número de pases.
Si recalculamos el número de pasadas por segundo, resulta que:
- build 1755 da 4780 pasadas / 38 seg = 125 pasadas por segundo
- build 1809 da 5549 pasadas / 33 seg = 168 pasadas por segundo
Estamos reevaluando el concepto de probador y corrigiendo antiguas decisiones erróneas.
Dado que las pruebas genéticas deben ejecutarse varias veces para cubrir el área de búsqueda de forma más completa, nuestro nuevo modelo con visualización de las ejecuciones anteriores desde la caché permite comprender mejor la mecánica del flujo de trabajo de la genética.
El nuevo modelo de visualización de los resultados de la optimización, con todos los datos de las cachés calculadas previamente añadidos a la tabla, permite ver la imagen de forma más completa. Es posible calcular su estrategia en trozos y ver los resultados completos cada vez, incluyendo las ejecuciones anteriores.
Debido a que las tablas de resultados fusionados son realmente grandes, hemos desactivado la visualización en tiempo real de la lista de resultados y mostramos el resultado acumulado después de fusionar todos los resultados anteriores.
Mi robot se bloquea durante la inicialización, tanto en Runtime como en Debug. La compilación está bien.
Hay una clase con miembros estáticos en el código, probablemente por ellos. Antes todo funcionaba bien. Pero ahora informa de un error durante la inicialización global.
Eliminados los miembros estáticos de la clase, funciona bien.
Mi robot se bloquea durante la inicialización, tanto en Runtime como en Debug. La compilación está bien.
Hay una clase con miembros estáticos en el código, probablemente por ellos. Antes todo funcionaba bien. Ahora escribe un error durante la inicialización global.
Se han eliminado los elementos estáticos de la clase y se ha lanzado con normalidad.
Escriba su solicitud a Service Desk y adjunte el Asesor Experto (puede ser un archivo ex5), por favor.
¡Todo esto es genial!
Sin embargo, le rogamos que recupere la pestaña "Optimización", ya que es imposible trabajar sin los análisis operativos. Las tablas grandes son lentas - hagamos un filtro - mostremos los 20 mejores para cada criterio - no es tan intensivo en recursos(?), pero ayudará mucho a ver el panorama. Y, esos miles de millones de pases, ¿quién los hace? Son unidades con enormes capacidades -tú mismo hablas de lo razonable de aplicar la genética, y ahí no hay tales portentos. Así que más de 10 mil pases es una rareza.
Triste.
Al menos se ha podido construir una imagen con datos preliminares, mientras se lleva a cabo la optimización.
Estamos ocupados con una gran actualización del rendimiento del probador y estamos rediseñando los modos de carga pesada. Se han realizado importantes mejoras y pronto se aplicarán nuevos métodos de aceleración.
La ventana de la lista de pasillos decidió mostrarse al final del cálculo erróneo, para no desperdiciar recursos realmente grandes en el mantenimiento, la reordenación y la visualización de la lista de pasillos siempre cambiante.
Realmente hubo un gran desperdicio de recursos y ralentizaciones. Sobre todo cuando hablamos de cientos de miles de filas, millones y decenas de millones de pases. No tiene sentido mirar un montón de datos preliminares con los ojos.
Hacemos nuestra propia optimización y realizamos pruebas con 100 millones de pases completos.
Está claro que con semejantes números está fuera de lugar reordenar en tiempo real y mostrar una tabla de 2-5-10-50 millones de valores. Sólo hay una opción: reunirlo todo de forma rápida y económica, para ordenarlo finalmente y ofrecer una visión de cualquier profundidad.
Cuéntanoslo y ya está.