Discusión sobre el artículo "Desarrollamos un asesor experto multidivisa (Parte 10): Creación de objetos a partir de una cadena"

 

Artículo publicado Desarrollamos un asesor experto multidivisa (Parte 10): Creación de objetos a partir de una cadena:

El plan de desarrollo del EA comprende varias etapas con resultados intermedios almacenados en una base de datos. Solo se pueden recuperar desde allí como cadenas o números, no como objetos. Así que necesitaremos una forma de recrear en el EA los objetos deseados a partir de las cadenas leídas de la base de datos.

En el artículo anterior esbozamos un plan general para el desarrollo del EA, que incluye varios pasos. Cada paso genera cierta cantidad de información que debe utilizarse en las etapas siguientes. Acto seguido, hemos decidido almacenar esta información en la base de datos y hacer una tabla en ella donde podemos poner los resultados de pasadas individuales del simulador de estrategias para diferentes asesores expertos. 

Para poder usar esta información en pasos posteriores, necesitaremos disponer de algún método de creación de los objetos necesarios (estrategias comerciales, sus grupos y expertos) a partir de la información almacenada en la base de datos. No es posible guardar objetos directamente en la base de datos. Lo mejor que podemos proponer es convertir todas las propiedades del objeto en una cadena, almacenarla en la base de datos, luego leer esta cadena de la base de datos y crear el objeto deseado a partir de ella.

El proceso de creación de un objeto a partir de una cadena puede implementarse de muchas maneras diferentes. Por ejemplo, podemos crear un objeto de la clase requerida con parámetros por defecto y, a continuación, utilizar un método o función especial para analizar la cadena leída de la base de datos y asignar los valores correspondientes a las propiedades del objeto. O podemos crear un constructor de objeto adicional que solo acepte una cadena como parámetro de entrada. Esta cadena será analizada dentro del constructor y los valores correspondientes se asignarán a las propiedades del objeto. Para entender cuál es la mejor opción, primero veremos cómo almacenamos la información sobre los objetos en la base de datos.

Autor: Yuriy Bykov

 

Hola Yuri. Gracias por la interesante serie de artículos.

Yuri, ¿podrías publicar el archivo de estrategia con el que probaste el Asesor Experto del artículo actual? Este es el que tienes la captura de pantalla en la parte inferior del artículo. Si está colgado en algún sitio, por favor dime dónde, no lo he encontrado en otros artículos. ¿Debo ponerlo en la carpeta C:\Users\Admin/AppData/Roaming\MetaQuotes\Terminal\Common\Files o en la carpeta del terminal? Quiero ver si obtengo los mismos resultados en el terminal como en su captura de pantalla.

 

Hola Victor.

Este archivo se puede obtener ejecutando la optimización del EA con una instancia de estrategia y tras finalizarla, guardando sus resultados primero en XML y luego guardándolo en CSV desde Excel. Esto se explicó en la parte 6.