1 Anexo (s) Olá amigos,

Eu não sou um codificador especialista e confundo o caminho para adicionar cor verde para obter histograma positivo e cor vermelha para histograma negativo com este indicador.


O código do indicador:
Código Inserido/ --------------------------------------------- --------------------- /| CandleAverage_v1. mq4 |/| Copyright © 2006, Forex-TSD. Com |/| Composta por IgorAD, igorad2003 @ yahoo.co.uk |/| http://finance.groups.yahoo.com/group/TrendLaboratory |/p ----------------------------------------------- ------------------- #property copyright Copyright © 2006, Forex-TSD. Link com #property http://www.forex-tsd.com/#property indior_separate_window #property indior_buffers 1 #property indior_color1 DeepSkyBlue/- insira parâmetros extern int Comprimento = 31; extern int H_period = 25; extern int L_period = 27; extern int C_period = 9;/- buffers dual CandleAvg # 91; # 93 ;; dual BarValue # 91; # 93;/ ----------------------------------------------- ------------------- /| Função de inicialização do indicador personalizado |/ ----------------------------------------------- ------------------- int init ()/- indicadores IndiorBuffers (2); SetIndexStyle (0, DRAW_HISTOGRAM); SetIndexBuffer (0, CandleAvg); SetIndexBuffer (1, BarValue);/- nome para DataWindow e indicador subwindow label string short_name = CandleAverage ( Length ); IndiorShortName (short_name); SetIndexLabel (0, CandleAvg); SetIndexDrawBegin (0, comprimento);/- return (0);/ ----------------------------------------------- ------------------- /| Indicador de iteração personalizada serve |/ ----------------------------------------------- ------------------- int begin () int mudança, limite, counted_bars = IndiorCounted (); UpDel duplo, DnDel, H, L, C;/- if (counted_barslt; 0) return (-1); if (counted_bars == 0) limit = Barras-Comprimento-1;/- a barra contada final será contada se (counted_barsgt; 0) limit = Bars-counted_bars; limitação - para (shift = limitação; shiftgt; = 0; alteração -) H = iMA (NULL, 0, H_period, 0, MODE_EMA, PRICE_HIGH, change); L = iMA (NULL, 0, L_period, 0, MODE_EMA, PRICE_LOW, alteração); C = iMA (NULL, 0, C_período, 0, MODE_EMA, PRICE_CLOSE, alteração); UpDel = H - C; DnDel = C - L; if (UpDel lt; DnDel) BarValue # 91, altere # 93; = 1; if (UpDel gt; DnDel) BarValue # 91; altere # 93; = -1; if (UpDel == DnDel) BarValue # 91, altere # 93; = 0; para (shift = limitação; shiftgt; = 0; mudança -) CandleAvg # 91; = iMAOnArray (BarValue, 0, Length, 0, MODE_SMA, change);/- return (0);/ ----------------------------------------------- ------------------- Eu tentei alterar o código abaixo:

Inserido Código # propriedade indicador_separar_janela # propriedade indior_buffers 2 # propriedade indior_color1 DeepSkyBlue # propriedade indior_color2 Vermelho Mas não funcionou porque o valor do histograma foi salvo apenas em 1 buffer, CandleAvg.

Como separar o valor negativo e positivo do buffer CandleAvg e adicionar a cor verde vermelho?

Conselho por favor.

Obrigado pela ajuda.