Indicadores: Histograma MACD, multicolorido [v04] - página 2

 

Olá, senhores, como estão?


Estou desenvolvendo um EA e uso esse indicador MACD.

Quando tentei usar o EA em uma conta real e em uma conta de demonstração, apareceu este erro
"Nem todos os dados do ExtFastMaHandle foram calculados (-1brs) Erro 4806"

Como posso corrigir esse erro?

 

Olá a todos,


Estou recebendo um erro 4802 (não é possível carregar o indicador personalizado 'MQL5\Indicators\macd_histogram_mc'. Presumo que ele esteja no diretório correto. Veja a imagem abaixo.

No entanto, não tenho certeza sobre os parâmetros (e seus valores) a serem transmitidos. Alguém poderia me fornecer um exemplo típico completo?

int CustomInd_ControlPanel = iCustom(_Symbol, _Period,"\\MQL5\\Indicators\\\macd_histogram_mc");


Muito obrigado.


Captura iCustom

 
Muito obrigado. Tenho procurado em todos os lugares por um indicador com o histograma MACD "verdadeiro".
 
Olá. Há alguma instrução para download desse indicador? Muito obrigado
 
Isso funciona no MT4?
 

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;

         }

        }







 

Prezado desenvolvedor,

Hi,

Para sua informação, sua ideia sobre o histograma colorido é atraente e útil.

No início, todos os números MACD calculados estão corretos (comparei os números com o MACD normal), mas depois de alguns minutos o segundo número muda e vejo uma discrepância entre o seu MACD e o MACD normal e o diagrama muda de acordo...

Obrigado,

Tooraj

 

O 'Signal MACD' parece não se atualizar automaticamente, causando cálculos errados.... É preciso atualizá-lo manualmente, alternando o TimeFrame.

No geral, é um ótimo indicador... Boa ideia.

 
Obrigado por liberar esse indicador e sua fonte, ele é realmente útil.
 
Obrigado por compartilhar esse código e fonte. Vamos estudá-lo. Abraço