Discusión sobre el artículo "Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#)"

 

Artículo publicado Integración de un experto en MQL y bases de datos (SQL Server, .NET y C#):

El artículo describe cómo añadir a los expertos en MQL5 la posibilidad de trabajar con el servidor de bases de datos Microsoft SQL Server. Usaremos la importación de funciones de DLL. Para crear la DLL, se utilizará la plataforma Microsoft .NET y el lenguaje C#. Los métodos utilizados en el artículo, aunque con algunos cambios poco significativos, funcionan también para los expertos escritos en MQL4.

En los foros nos encontramos periódicamente con usuarios que preguntan cómo integrar en los expertos escritos en MQL 5 el trabajo con bases de datos. El interés por este tema no es nada sorprendente. Las bases de datos son muy útiles como recursos a la hora de guardar datos. A diferencia de los logs del terminal, los datos de las bases no desaparecen en ninguna parte. Son fáciles de clasificar y filtrar, permitiendo elegir solo las necesarias. Con la ayuda de una base de datos podemos transmitir al experto la información necesaria, por ejemplo, un cierto comando. Y lo más importante, los datos recibidos pueden ser analizados desde distintos puntos de vista y procesados estadísticamente. Por ejemplo, para averiguar el promedio y los beneficios totales durante un tiempo específico para cada pareja de divisas, basta con escribir una solicitud en una línea, lo que ocupará literalmente un minuto. Ahora imagine cuánto tiempo le llevaría calcularlo manualmente usando la historia de la cuenta en el terminal comercial.

Por desgracia, no existen medios estándar para interactuar con los servidores de bases de datos en los terminales MetaTrader. El problema se resuelve con la importación de funciones desde archivos DLL. La traea es compleja, pero asumible.

Iniciamos el experto, cambiando en los parámetros los datos de la línea de conexión por los parámetros de acceso a nuestro servidor de base de datos. Si lo hemos hecho todo bien, el experto mostrará en el log las siguientes entradas:

2018.07.10 20:36:21.428    MqlSqlDemo (EURUSD,H1)    Conexión con la base de datos establecida.
2018.07.10 20:36:22.187    MqlSqlDemo (EURUSD,H1)    Creado recuadro en la base de datos.
2018.07.10 20:36:22.427    MqlSqlDemo (EURUSD,H1)    Datos escritos en el recuadro.
2018.07.10 20:36:22.569    MqlSqlDemo (EURUSD,H1)    Número leído desde la base de datos: 1
2018.07.10 20:36:22.586    MqlSqlDemo (EURUSD,H1)    Línea leída desde la base de datos: Test

 La conexión a la base de datos, la ejecución de los comandos SQL, la escritura y lectura de datos: todo se realiza con éxito.

Autor: Сергей Ткаченко