Hello my friend. First of all, fantastic job. I use your code a lot. ;-)
two simple sugestion:
change from:
IndicatorSetString( INDICATOR_SHORTNAME, "MACD_Histograma("+string(InpFastEMA)+","+string(InpSlowEMA)+","+string(InpSignalMA)+"));
to:
IndicatorSetString( INDICATOR_SHORTNAME, "MACD_Histograma("+string(InpFastEMA)+","+string(InpSlowEMA)+","+string(InpSignalMA)+") - " + EnumToString(InpAppliedSignalMA) );
change from:
#property indicator_color3 Green,Red,Blue
to :
#property indicator_color3 Green,Red,Blue,Lime,Violet
so, change from:
if(InpUseMultiColor==MultiColor)
{
if(ExtHistogramBuffer[i]>ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=0;
if(ExtHistogramBuffer[i]<ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=1;
if(ExtHistogramBuffer[i]==ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=2;
}
to:
if(InpUseMultiColor==MultiColor)
{
if (ExtHistogramBuffer[i]>0)
{
// 0-Green,1-Red,2-Blue,3-Lime,4-Violet
if(ExtHistogramBuffer[i]>ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=3;
if(ExtHistogramBuffer[i]<ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=0;
if(ExtHistogramBuffer[i]==ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=2;
}
else
{
// 0-Green,1-Red,2-Blue,3-Lime,4-Violet
if(ExtHistogramBuffer[i]>ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=4;
if(ExtHistogramBuffer[i]<ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=1;
if(ExtHistogramBuffer[i]==ExtHistogramBuffer[i+1])
ExtHistogramColorBuffer[i]=2;
}
}

- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Histograma MACD, multicolorido [v04]:
Indicador MACD com histograma para mostrar a diferença entre o MACD e sua linha de sinal.
Para o cálculo da linha MACD você pode escolher entre os tipos de preços habituais. Para o cálculo da linha de sinal é possível escolher entre SMA ou EMA. O histograma pode ser alternado entre único e multicolorido.
Autor: Armand Kilian