Discusión sobre el artículo "Optimización móvil continua (Parte 5): Panorámica del proyecto del optimizador automático, creación de la interfaz gráfica"
¿Qué hacer? ¿Cómo optimizar?
En el artículo #4 - instrucciones sobre cómo optimizar
- www.mql5.com
Andrei, ¿cuál es la forma correcta de rellenar los campos "APPEND_BOT_PARAM"? ¿Deben introducirse todos los parámetros del Asesor Experto o sólo aquellos que deben optimizarse en ese momento?
Deben introducirse todos los parámetros del Asesor Experto.
¿Y por qué se deben rellenar en el código del Asesor Experto, cuando están disponibles en la ventana principal del "Metatrader Auto Optimiser"?
La cuestión es que en la ventana principal de Metatrader Auto Optimiser estos parámetros se toman de (*set) archivo generado por el terminal. Pero en los informes de optimización, donde también se guardan los parámetros del robot, los parámetros los escribe el propio robot en el momento de generar el informe. Si no se introducen estos parámetros, en primer lugar, el autooptimizador no podrá ejecutar una prueba sobre las optimizaciones ya realizadas anteriormente, porque para ejecutar pruebas - toma los parámetros de los archivos del informe de optimización, que como he escrito anteriormente - son generados por el propio robot al final del proceso de optimización. En segundo lugar, habrá problemas en el proceso de optimización, porque habiendo seleccionado el pasaje de acuerdo con los criterios seleccionados, no será capaz de ejecutar la prueba porque no encontrará los parámetros del robot con el que la prueba debe ser ejecutada. O mejor dicho, la prueba se lanzará con toda probabilidad, pero no se lanzará con los parámetros esperados.
Probablemente sea aconsejable utilizar opciones alternativas de eficacia probada para obtener esta información.
Probablemente sea prudente utilizar opciones alternativas probadas para obtener esta información.
¿Puedes sugerir algunas alternativas? La cuestión es que el propio robot genera el informe, y decidí no utilizar la carga estándar que hace el terminal por la razón de que quería añadir más datos al informe. En principio, esto se hace una vez, no en cada optimización, por lo que no creo que deba ser muy difícil, pero si hay una forma más cómoda, estoy dispuesto a retocar el código.
¿Me podéis sugerir variantes? La cuestión es que el propio robot genera el informe, pero decidí no utilizar la carga estándar que hace el terminal por la razón de que quería añadir más datos al informe. En principio, esto se hace una vez, no en cada optimización, por lo que no creo que deba ser muy difícil, pero si hay una forma más cómoda, estoy dispuesto a ajustar el código.
En KB MTTester.mqh, donde se puede obtener toda la configuración de la EA en cualquier momento. Bueno, y tirar de conjuntos de los resultados de optimización - también.
En el MTTester.mqh KB, donde se puede obtener todos los ajustes de EA en cualquier momento. Bueno, y tirar de conjuntos de los resultados de optimización - también.
Bueno, no necesito sacar sets, cuenta todo por sí mismo, pero te agradezco el mecanismo de automatización de recepción de ajustes, lo estudiaré con calma e intentaré implementarlo en la nueva versión.
¿Sugerir variantes?
Bueno, y como opción: conectar mínimamente marcos al Asesor Experto y utilizar FrameInputs().
Bueno, y como opción: conecte mínimamente marcos al Asesor Experto y utilice FrameInputs().
No me gustaría utilizar marcos, pero le agradezco su consejo. Usando la variante actual, sólo una clase está conectada al Asesor Experto, mientras que los marcos son todo un mecanismo con un conjunto de métodos para trabajar con ellos. Además, que yo recuerde sólo admiten tipos de datos primitivos, y yo quería guardar estructuras en archivos, así que decidí usar marcado xml.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Artículo publicado Optimización móvil continua (Parte 5): Panorámica del proyecto del optimizador automático, creación de la interfaz gráfica:
Continuamos con la descripción de la optimización móvil en el terminal MetaTrader 5. Tras analizar en los artículos anteriores los métodos de formación del informe de optimización y su método de filtrado, hemos procedido a describir la estructura interna de la aplicación encargada del propio proceso de optimización. El optimizador automático, ejecutado como una aplicación en C#, tiene su propia interfaz gráfica. Este artículo está dedicado precisamente a esta interfaz gráfica.
Vamos a analizar la interfaz gráfica. Antes, mostramos un método para crear una adición a la plataforma MetaTrader 5 en el lenguaje C# y encajar su funcionalidad con el experto con la ayuda de una biblioteca DLL y la llamada de retorno OnTimer; en la presente implementación, hemos tomado la decisión de sacar el optimizador automático del terminal. Ahora, supone (a su manera) un gestor de optimización externo que imita el trabajo del tráder en cuanto al inicio de los procesos de optimización y el procesamiento de los resultados. En este caso, además, renunciando a la optimización simultánea en varios terminales en la misma computadora y sacando el optimizador automático a una aplicación aparte, tenemos a nuestra disposición absolutamente todos los terminales instalados en la computadora, e incluso la propia computadora en la que ha sido iniciado el optimizador. En el proyecto anterior, no podíamos implicar el funcionamiento de esta.
Por eso, el proyecto actual no ha sido escrito al completo en una biblioteca DLL, como lo hicimos antes, sino dividido entre una biblioteca DLL y el archivo ejecutable del proyecto del optimizador automático del que hablamos en el presente artículo.
Como podemos ver por la captura de pantalla mostrada, la ventana del proyecto consta de un Encabezado y un Pie de página, además de un TabControl con dos pestañas: Settings y Reports. La parte del encabezado (al igual que sucede con el pie de página) no cambia sea cual sea la pestaña que seleccionemos en la parte central de la ventana, lo que permite acceder en cualquier momento a todos los elementos de control ubicados en ambos.
Autor: Andrey Azatskiy