Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Facebook!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Bibliotecas

Vertical histograms constructor - biblioteca para MetaTrader 5

Visualizações:
1667
Avaliação:
(29)
Publicado:
2017.01.09 10:59
\MQL5\Include\ \MQL5\Indicators\
Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance

O histograma é um gráfico de barras de frequência. Num dos eixos são traçados os valores da variável, enquanto noutro, a frequência de ocorrência (surgimento, aparecimento, etc.). A altura de cada barra representa a frequência (número) dos valores pertencentes ao respectivo intervalo igual à largura da coluna. A maioria destes gráficos são apresentados na horizontal, isto é, os valores das variáveis estão localizados no eixo horizontal, e as frequências, no eixo vertical.

Para esta biblioteca, vamos nos concentrar nos histogramas verticais de séries de variação: os valores de preço das características estudadas estarão localizados no eixo vertical em ordem crescente, e a frequência, no eixo horizontal. Os dados de preços, que entram ao terminal, são agrupados e alocados na barra atual e e podem ser exibidos com respeito ao eixo da esquerda, direita ou em ambos os lados simultaneamente.

Fig. 1. Gráfico de colunas vertical de distribuição de preços Bid e Ask.

Fig. 1. Gráfico de colunas vertical de distribuição de preços Bid e Ask

Construtor de histogramas verticais construído na classe CHistogram. A execução de todos os métodos baseia-se na utilização da chamada memória "gráfica".

Método: construtor de classe CHistogram.

Inicializa uma instância da classe.

void CHistogram(
   string name,                     // prefixo exclusivo de nome
   int    hsize,                    // escala do gráfico
   int    width,                    // espessura das linhas das colunas do gráfico de colunas
   color  active,                   // cor das linhas ativas
   color  passive,                  // cor das linhas passivas
   bool   Left_Right=true,          // left=false or right=true
   bool   relative_frequency=false, // gráfico de colunas relativo ou absoluto
   int    sub_win=0                 // índice da janela de plotagem do gráfico de colunas
   );

Parâmetros:

name

   [in] Prefixo exclusivo do nome para todas as colunas do gráfico de colunas.

hsize

   [in] Escala de exibição do gráfico de colunas.

width

   [in] Espessura das linhas das colunas do gráfico de colunas.

active

   [in] Cor das colunas - do gráfico de colunas - atualizadas na barra atual.

passive

   [in] Cor das colunas - do gráfico de colunas - que na barra atual ainda não se encontram atualizadas.

Left_Right=true

   [in] Direção de exibição do gráfico de colunas. false — gráfico de colunas localizado ao lado esquerdo da barra atual, enquanto true se encontra à direita.

relative_frequency=false

   [in] Método de contabilização de valores de frequência. false — valores absolutos das frequências, true — valores relativos das frequências.

sub_win=0

   [in] Índice da janela para plotagem do gráfico de colunas. 0 — janela principal do gráfico.

Valor de retorno:

   Não há nenhum valor de retorno. Se for bem-sucedido, ele cria uma instância de classe com os parâmetros especificados.

Método: exibição de gráficos de colunas DrawHistogram.

Ele exibe as colunas do histograma, isto é: cria novas; modifica as que estão disponíveis; armazena os valores das frequências na memória gráfica; mostra um gráfico de colunas na barra atual.

void DrawHistogram(
   double price,  // valor das opções
   datetime time  // tempo da barra atual
   );

Parâmetros:

price

   [in] Valor de opção da característica investigada do mercado.

time

   [in] Tempo da barra atual. Nesta barra estará o eixo do gráfico de colunas.

Valor de retorno:

   Não há nenhum valor de retorno. Se for bem-sucedido, a coluna do gráfico de colunas será criada de novo ou corregida. Se não aparecer uma nova barra, o gráfico de colunas se deslocará de tal forma que o eixo fique localizado na barra atual.

Método: cálculo de características do histograma HistogramCharacteristics.

Retorna as características calculadas de uma série de variação na variável de tipo sVseries.

sVseries HistogramCharacteristics();

Parâmetros:

   Sem parâmetros de entrada.

Valor de retorno:

   Se for bem-sucedido, retorna o valor da variável de tipo sVseries.

Estrutura para obter os valores atuais das caraterísticas do gráfico de colunas (sVseries).

Estrutura para armazenar os últimos valores das características da distribuição estatística. Projetada para obter as informações mais procuradas sobre a série de variação.

struct sVseries
  {
   long     N;    // número total de observações
   double   Na;   // valor médio de frequências
   double   Vmax; // valor máximo de opções
   double   Vmin; // valor mínimo de opções
   double   A;    // amplitude da série
   double   Mean; // média aritmética ponderada
   double   D;    // dispersão
   double   SD;   // desvio padrão
  };
A variável do tipo sVseries permite - através de uma única chamada da função HistogramCharacteristics() - obter os valores de todas as características básicas da série de variação exibida como um gráfico de colunas.

Método: exibição do valor da média DrawMean.

Exibe o valor da média aritmética ponderada de uma série de variações no gráfico.

void DrawMean(
   double coord,     // valor da média aritmética ponderada
   datetime time,    // tempo da barra atual
   bool marker=false,// exibir o marcador ou não
   bool save=false   // armazenar o valor no histórico ou não
   );

Parâmetros:

coord

   [in] Valor da média aritmética ponderada.

time

   [in] Tempo da barra atual. Nesta barra será fixado o valor da média aritmética ponderada.

marker=false

   [in] Exibir o marcado no gráfico ou não. false — o marcado não é exibido, true — o marcado é exibido no gráfico.

save=false

   [in]  Armazena o valor da média aritmética ponderada no histórico. false — não é exibido, true — o valor é exibido no gráfico.

Valor de retorno:

   Se for bem-sucedido, no gráfico será exibida uma linha horizontal de acordo com o valor da média aritmética ponderada.

Método: visualização do desvio padrão DrawSD.

Exibe o valor do desvio padrão sob a forma de um retângulo, cuja largura é a mesma que a frequência média, e cuja altura corresponde ao desvio padrão atrasado acima e abaixo do valor da média aritmética ponderada.

void DrawSD(
   sVseries &coord,        // variável do tipo sVseries
   datetime time,          // tempo da barra atual
   double deviation=1.0,   // desvio
   color clr=clrYellow     // cor de exibição
   );

Parâmetros:

coord

   [in] Valor da variável do tipo sVseries.

time

   [in] Tempo da barra atual.

deviation=1.0

   [in] Coeficiente para o qual será aumentado o valor do desvio padrão.

clr=clrYellow

   [in] Cor de retângulo do desvio padrão que está sendo visualizado.

Valor de retorno:

   Se for bem-sucedido, no gráfico será exibido um retângulo característico para o desvio padrão a partir do valor da média aritmética ponderada.


O vídeo apresenta as possibilidades da classe. O código do exemplo de teste se encontra no anexo.

O código anexado mostra como chamar um método de classe (função).


Dicas:

  • É melhor usar a classe de timeframes pequenos.

Traduzido do russo pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/ru/code/16365

Exp_AFL_WinnerV2 Exp_AFL_WinnerV2

Expert Advisor Exp_AFL_WinnerV2 com uso do indicador AFL_WinnerV2.

AFL_WinnerV2_HTF AFL_WinnerV2_HTF

Indicador AFL_WinnerV2 com possibilidade de alterar o timeframe do indicador nos parâmetros de entrada.

JSatl_Digit_System JSatl_Digit_System

Indicador que implementa um sistema de fuga (breakout) com uso do canal construído nos High e Low, de uma série de preços, processados pelo algoritmo JSatl_Digit.

Exp_JSatl_Digit_System Exp_JSatl_Digit_System

Sistema de negociação baseado nos sinais do indicador JSatl_Digit_System.