- 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_FILLING
O estilo DRAW_FILLING plota uma área colorida entre valores de dois buffers do indicador. De fato, este modelo desenha duas linhas e preenche o espaço entre elas, com uma das duas cores específicas. Ele é usado para a criação de indicadores que desenham canais. Nenhum dos buffers podem conter apenas valores vazios, uma vez que, neste caso, nada é plotado.
Você pode definir duas cores de preenchimento:
- a primeira cor é usada para as áreas onde os valores do primeiro buffer são maiores do que os valores do segundo buffer do indicador;
- a segunda cor é usada para as áreas onde os valores de do segundo buffer do são maiores do que os valores no primeiro buffer indicador.
A cor de preenchimento pode ser definida usando as diretivas do compilador ou dinamicamente usando a função PlotIndexSetInteger(). Mudanças dinâmicas das propriedades de plotagem permitem "avivar" os indicadores, de modo que suas mudanças de aparência dependem da situação corrente.
O indicador é calculado para todas as barras, para a qual os valores dos dois buffers do indicador não são iguais a 0 ou o valor vazio. Para especificar o valor que deve ser considerado como "vazio", defina esse valor na propriedade PLOT_EMPTY_VALUE:
#define INDICATOR_EMPTY_VALUE -1.0
|
Desenhar sobre as barras que não participam no cálculo do indicador depende dos valores nos buffers do indicador:
- Barras, para os quais os valores de ambos os buffers do indicador são iguais a 0, não participam no desenho do indicador. Isto significa que a área com valores iguais a zero não é preenchida.
- Barras, para as quais os valores dos buffers do indicador são iguais ao "valor vazio", participam no desenho do indicador. A área com valores vazios será preenchida de modo que conecte as áreas com valores significativos.
Deve ser notado que se o "valor vazio" é igual a zero, as barras que não participam no cálculo do indicador também são preenchidas.
O número de buffers necessários para plotagem DRAW_FILLING é 2.
Um exemplo do indicador que desenha um canal entre duas MAs com diferentes períodos médios em uma janela separada. A mudança das cores no cruzamento das médias móveis mostra visualmente a mudança das tendências ascendentes e descendentes. As cores alteram aleatoriamente a cada N ticks. O parâmetro N é definido nos parâmetro externos do indicador para a possibilidade de configuração manual (na guia Parâmetros na janela Propriedades do indicador).
Note que inicialmente para plot1 com DRAW_FILLING as propriedades são definidas usando a diretiva de compilador #property, e então na função OnCalculate() novas cores são definidas aleatoriamente.
//+------------------------------------------------------------------+
|