Discussão do artigo "Implementado OLAP na negociação (Parte 2): Visualizando resultados da análise interativa de dados multidimensionais"

 

Novo artigo Implementado OLAP na negociação (Parte 2): Visualizando resultados da análise interativa de dados multidimensionais foi publicado:

O artigo discute diversos aspectos da criação de interfaces gráficas interativas de programas MQL projetados para processamento analítico online (OLAP) do histórico de contas e de relatórios de negociação. Para obter um resultado visual, são usadas janelas maximizadas e escaláveis, uma disposição adaptável de controles de borracha e um novo 'controle' para exibir diagramas. Com base nisso, é implementada uma GUI com a possibilidade de escolher indicadores ao longo dos eixos de coordenadas, funções de agregação, tipos de gráficos e classificações.

Aqui estão alguns exemplos de alguns perfis analíticos que podem ser obtidos graficamente usando o OLAPGUI.

Lucro por símbolo em ordem decrescente

Lucro por símbolo em ordem decrescente

Lucro por símbolo em ordem alfabética

Lucro por símbolo em ordem alfabética

Lucro por símbolo, por dia da semana de fechamento, tipo 'compra'

Lucro por símbolo, por dia da semana de fechamento, tipo 'compra'

Lucro por símbolo, por dia da semana de fechamento, tipo 'venda'

Lucro por símbolo, por dia da semana de fechamento, tipo 'venda'

Lucro por tamanho do lote (lotes são indicados como índices de célula, valores são exibidos no log)

Lucro por tamanho do lote (lotes são indicados como índices de célula, valores são exibidos no log)

Curva de saldo total

Curva de saldo total

Saldo por compras e vendas

Saldo por compras e vendas

Curvas de saldo para cada símbolo separadamente

Curvas de saldo para cada símbolo separadamente

Curvas de swaps para cada símbolo separadamente

Curvas de swaps para cada símbolo separadamente

Dependência de lucros sobre a duração do trade para cada símbolo separadamente

Dependência de lucros sobre a duração do trade para cada símbolo separadamente

Número de trades por símbolo e por tipo

Número de trades por símbolo e por tipo

Dependência dos campos de lucro e duração para cada trade (duração especificada em segundos)

Dependência dos campos de lucro e duração para cada trade (duração especificada em segundos)

Dependência MFE (%) e MAE (%) para todos os trades

Dependência MFE (%) e MAE (%) para todos os trades

Autor: Stanislav Korotky

 
Qual é a diferença em relação à EasyAndFast?
 
É difícil para mim responder à pergunta deste texto. O tópico era OLAP. Nesse caso, a GUI é uma necessidade utilitária, portanto, é feita em uma quantidade mínima na forma de um complemento de biblioteca padrão. Decidiu-se não usar algo pesado e mutável (por causa do qual a documentação - não unificada e na forma de uma pilha de patches). Como a interface de saída é simples, aqueles que desejarem podem usar sua GUI favorita.
 
'm_edit' - private member access error  SpinEditResizable.mqh   14      7
'm_inc' - private member access error   SpinEditResizable.mqh   19      7
'm_dec' - private member access error   SpinEditResizable.mqh   23      7
'm_drop' - private member access error  ComboBoxResizable.mqh   65      3
'm_edit' - private member access error  ComboBoxResizable.mqh   16      7
'm_drop' - private member access error  ComboBoxResizable.mqh   20      7
'm_list' - private member access error  ComboBoxResizable.mqh   22      7
'm_list' - private member access error  ComboBoxResizable.mqh   32      17
'm_drop' - private member access error  ComboBoxResizable.mqh   33      10
'm_edit' - private member access error  ComboBoxResizable.mqh   44      7
'm_drop' - private member access error  ComboBoxResizable.mqh   45      7
'm_edit' - private member access error  ComboBoxResizable.mqh   51      7
'm_drop' - private member access error  ComboBoxResizable.mqh   52      7
'm_caption' - private member access error       MaximizableAppDialog.mqh        249     5
'm_button_minmax' - private member access error MaximizableAppDialog.mqh        171     3
'm_caption' - private member access error       MaximizableAppDialog.mqh        178     5
'm_button_minmax' - private member access error MaximizableAppDialog.mqh        192     3
'm_caption' - private member access error       MaximizableAppDialog.mqh        199     5


No MT4 compilado por meio de

#ifndef __MQL5__
  #property strict

  #define ERR_MARKET_UNKNOWN_SYMBOL 4301
  
  bool ChartIndicatorAdd( long, int, int ) { return(false); }

  template <typename T>  
  void ArrayPrint( T &[], int = 0 ) {}
#endif // __MQL5__

#define private public

ao fazer isso.

 
fxsaber:

O artigo diz: faça o patch da biblioteca - a maneira mais fácil é alterar private para protected nos arquivos correspondentes. Por via das dúvidas, fazemos um backup antecipadamente.

 
fxsaber:


Compilado através de

#define private public

Melhor protegido.

 
Stanislav Korotky:

O artigo diz: faça o patch da biblioteca - a maneira mais fácil é alterar private para protected nos arquivos correspondentes. Por precaução, fazemos um backup com antecedência.

Bem, quem lê as instruções do artigo antes de usá-lo? ....

 
Stanislav Korotky:
É difícil para mim responder à pergunta deste texto. O tópico era OLAP. Nesse caso, a GUI é uma necessidade utilitária, portanto, é feita em uma quantidade mínima na forma de um complemento de biblioteca padrão. Decidiu-se não usar algo pesado e mutável (por causa do qual a documentação - não unificada e na forma de uma pilha de patches). Como a interface de saída é simples, aqueles que quiserem podem usar sua GUI favorita.
Bom complemento.
 
Alexander Fedosov:
Qual é a diferença em relação à EasyAndFast?
Você deu uma olhada no artigo ou apenas nas fotos? )
 
Pequena correção de bug no OLAPcube.mqh.
Arquivos anexados:
OLAPcube.mqh  42 kb
 
Artigos muito bons do autor. Infelizmente, a linguagem mudou significativamente desde então, você precisa de uma refatoração decente para a compilação.
Stanislav Korotky
Stanislav Korotky
  • www.mql5.com
Профиль трейдера