- DRAW_NONE
- DRAW_LINE
- DRAW_SECTION
- DRAW_HISTOGRAM
- DRAW_HISTOGRAM2
- DRAW_ARROW
- DRAW_ZIGZAG
- DRAW_FILLING
- DRAW_BARS
- DRAW_CANDLES
- DRAW_COLOR_LINE
- DRAW_COLOR_SECTION
- DRAW_COLOR_HISTOGRAM
- DRAW_COLOR_HISTOGRAM2
- DRAW_COLOR_ARROW
- DRAW_COLOR_ZIGZAG
- DRAW_COLOR_BARS
- DRAW_COLOR_CANDLES
DRAW_COLOR_ARROW
O estilo DRAW_COLOR_ARROW desenha setas coloridas (símbolos do conjunto Wingdings) baseado no valor do buffer do indicador. Em contraste com DRAW_ARROW, neste estilo, é possível definir uma cor partir de um conjunto predefinido de cores especificada pela propriedade indicator_color1 para cada símbolo.
A largura e a cor dos símbolos podem ser especificadas com o estilo DRAW_ARROW usando diretivas de compilador ou dinamicamente usando a função PlotIndexSetInteger(). Mudanças dinâmicas das propriedades de plotagem permitem modificar a aparência de um indicador com base na situação atual.
O código de símbolo é definido usando a propriedade PLOT_ARROW.
//--- Definir o código símbolo a partir das fontes Wingdings para desenhar em PLOT_ARROW
|
O valor padrão do PLOT_ARROW=159 (um círculo).
Cada seta é na verdade um símbolo que tem a altura e o ponto de ancoragem e pode abranger algumas informações importantes num gráfico (por exemplo, o preço de fechamento da barra). Assim, podemos adicionalmente especificar o deslocamento vertical em pixels, o qual não depende da escala do gráfico. As setas serão deslocadas para baixo pelo número especificado de pixels, embora os valores do indicador permanecerão os mesmos:
//--- Definir o deslocamento vertical das setas em pixels
|
Um valor negativo de PLOT_ARROW_SHIFT significa a mudança de setas para cima, valores positivos deslocam a seta para baixo.
O estilo DRAW_COLOR_ARROW pode ser usado em separado na sub-janela do gráfico e em sua janela principal. Valores vazios não são desenhados e não aparecem na "Janela de Dados", todos os valores nos buffers do indicador devem ser definidos explicitamente. Buffers não são inicializados com o valor zero.
//--- Definir um valor vazio
|
O número de buffers necessários para plotagem de DRAW_COLOR_ARROW é 2.
- Um buffer para armazenar o valor do preço que é utilizado para desenhar o símbolo (além de um deslocamento em pixels, determinado na propriedade PLOT_ARROW_SHIFT);
- Um buffer para guardar o índice de cor que é utilizado para desenhar uma seta(faz sentido configurar apenas valores não vazios).
Um exemplo de indicador que desenha as setas em cada uma das barras com o preço mais alto do que o preço final da barra anterior. A largura, deslocamento e símbolo de código de todas setas são alterados aleatoriamente a cada N ticks. A cor do símbolo depende do número da barra na qual está desenhada.
Neste exemplo, para plot1 com o estilo DRAW_COLOR_ARROW, as propriedades, cor e tamanho são especificadas usando a diretiva de compilador #property, e então, na função OnCalculate() as propriedades são definidas aleatoriamente. O parâmetro N é definido nos parâmetros externos do indicador para a possibilidade de configuração manual (o guia Parâmetros na janela Propriedades do indicador).
Por favor, note que inicialmente oito cores são usadas na diretiva de compilador #property, e então, na função OnCalculate(), a cor é definida aleatoriamente a partir das 14 cores que são armazenadas no array colors[].
//+------------------------------------------------------------------+
|