Discusión sobre el artículo "Desarrollamos un asesor experto multidivisas (Parte 22): Inicio de la transición a la sustitución dinámica de ajustes"

 

Artículo publicado Desarrollamos un asesor experto multidivisas (Parte 22): Inicio de la transición a la sustitución dinámica de ajustes:

Si hemos empezado a automatizar la optimización periódica, también deberíamos ocuparnos de la actualización automática de los ajustes de los asesores expertos que ya están trabajando en la cuenta comercial. También deberíamos permitirle ejecutar un asesor experto en el simulador de estrategias y cambiar su configuración en una sola pasada.

Vamos a intentar describir con más detalle lo que queremos conseguir. De forma ideal, el funcionamiento del sistema debería ser algo parecido a esto:

  1. Se genera un proyecto con la fecha actual como fecha final del periodo de optimización. 
  2. El proyecto funciona como una cinta transportadora. Su ejecución tarda entre unos días y unas semanas en completarse.
  3. Los resultados se cargan en el asesor experto final. Si el asesor experto final aún no ha negociado, se ejecuta en una cuenta real. Si ya ha trabajado en una cuenta, sus parámetros se sustituyen por otros nuevos obtenidos después de que el último proyecto haya terminado de pasar por el pipeline.
  4. Vamos a pasar al punto 1.

Analizaremos cada uno de estos puntos. Para implementar el primero, ya disponemos de un script de asesor experto para generar el proyecto de la última parte, en el que podemos utilizar parámetros para seleccionar la fecha final de optimización. Pero hasta ahora solo se inicia manualmente. Esto puede solucionarse añadiendo una etapa adicional a la cadena de ejecución del proyecto, generando un nuevo proyecto cuando todas las demás etapas del proyecto actual hayan terminado. Entonces solo podremos ejecutarlo manualmente la primera vez.

Para el segundo punto, solo necesitamos tener un terminal con el asesor experto Optimisation.ex5 instalado; este tiene la base de datos requerida en sus parámetros. En cuanto aparezcan en él nuevas tareas de proyecto no finalizadas, se iniciará su ejecución por orden de prioridad. La última etapa, que precede a la de creación del nuevo proyecto, debe comunicar de alguna manera los resultados de la optimización del proyecto al asesor final.

El tercer punto es el más difícil. Ya hemos creado una variante de transmisión de parámetros al asesor experto final, pero esta aún requiere operaciones manuales: necesitamos ejecutar un asesor experto aparte que exporte la biblioteca de parámetros a un archivo, luego copiar este archivo a la carpeta del proyecto, y luego recompilar el asesor experto final. Aunque ahora podemos transferir la ejecución de estas operaciones al código del programa, el esquema en sí empieza a parecer demasiado farragoso. Querríamos hacer algo más sencillo y fiable.


Autor: Yuriy Bykov