Discusión sobre el artículo "Implementando OLAP en la negociación (Parte 3): analizando las cotizaciones con el fin de desarrollar las estrategias comerciales"

 

Artículo publicado Implementando OLAP en la negociación (Parte 3): analizando las cotizaciones con el fin de desarrollar las estrategias comerciales:

En este artículo, continuaremos analizando la tecnología OLAP en aplicación al trading, ampliando la funcionalidad representada en dos artículos anteriores. Esta vez, al análisis operativo se le someterán las cotizaciones. Mostraremos cómo se hacen y se comprueban las hipótesis sobre las estrategias comerciales a base de los indicadores agregados del historial. Además, presentaremos los Asesores Expertos para analizar las regularidades barra por barra y el trading adaptativo.

Recordemos qué es lo que fue implementado en los artículos anteriores (al que no los leyó por alguna razón, se le recomienda insistentemente que los estudie). El núcleo se encontraba en el archivo OLAPcube.mqh que contenía lo siguiente:

  • todas las clases principales de los selectores y agregadores;
  • clases de los registros de trabajo con datos de origen (clase base abstracta Record y algunos herederos especializados TradeRecord con datos sobre las transacciones);
  • adaptador base para leer diferentes (abstractos) fuentes de datos y formar los arrays de registros de trabajo;
  • adaptador real para el historial de trading de la cuenta HistoryDataAdapter;
  • clase base para visualizar los resultados y su implementación simple que utiliza la visualización en el log (Display, LogDisplay);
  • panel de control unificado en forma de la clase Analyst que combina el adaptador, agregador y la pantalla;

Algunas cosas específicas referidas a los informes HTML han sido colocadas en el archivo HTMLcube.mqh, en el que, en particular, se definen las clases de las transacciones comerciales del informe HTML HTMLTradeRecord y el adaptador HTMLReportAdapter que las genera.

De la misma manera, el archivo CSVcube.mqh incluye las clases para las transacciones comerciales de los informes CSV CSVTradeRecord y el adaptador CSVReportAdapter.

Finalmente, para simplificar la integración de OLAP con los programas MQL5 ha sido escrito el archivo OLAPcore.mqh con una clase «envoltorio» de toda la funcionalidad OLAP usada en los proyectos de demostración (OLAPWrapper).

Puesto que la tarea pendiente del procesamiento OLAP atañe a un área nuevo, necesitaremos realizar la refactorización del código existente y seleccionar dentro de él las partes que son comunes no sólo para el historial de de trading, sino también para las cotizaciones (lo ideal sería para cualquier tipo de fuentes de datos).

Autor: Stanislav Korotky

 
Desarrollar un tema de temporada a través de olap, agradable. También puede utilizar el skl luz incorporada, supongo.
 
Maxim Dmitrievsky:
Desarrollar un tema de temporada a través de olap, agradable. También puedes usar el skl ligero incorporado, supongo.

Supongo que se podría, pero cuando empecé OLAP en 2016, SQL no estaba en MT todavía.

 
Adjunto los códigos fuente de este artículo, adaptados rápidamente para MT4. Deberían compilar normalmente, pero la funcionalidad completa no ha sido probada completamente. Algunas cosas faltan en MQL4 y no pueden ser emuladas adecuadamente, en particular, la función ArrayPrint con soporte para arrays multidimensionales y arrays de estructuras - está implementada como un simple stub sin una salida agradable con alineación en líneas de registro. Aquellos que lo deseen pueden mejorarlo. También aquí, así como en el artículo, la interfaz gráfica no fue considerada o portado a MT4.
Archivos adjuntos:
MQL4OLAP.zip  48 kb
 
Gracias por el artículo. ¿Es correcto que ahora OLAP se solapa totalmente en significado con las capacidades de SQLite?
 
fxsaber:
Gracias por el artículo. ¿Es correcto que OLAP se solapa ahora completamente con las capacidades de SQLite?

No se solapan completamente, más bien se complementan. OLAP suele ser un complemento de la base de datos y otras fuentes de datos. Escribir consultas en SQL es una tarea ardua. El objetivo de OLAP es proporcionar una interfaz más humana.