Este indicador MACD pode ser aplicado para qualquer tempo gráfico, maior ou menor que o período gráfico atual.
Os valores podem ser calculados com base em qualquer tipo de preço usual. Quando o indicador é aplicado a um período de tempo menor do que o período de tempo do gráfico atual, não é possível exibir todos os valores. Neste caso, dependendo do tipo de preço escolhido, ele irá utilizar uma abordagem diferente para se obter o valor mais apropriado.
Dois exemplos:
Para qualquer barra em timeframe_1, o indicador irá mostrar a última barra de timeframe_2 com um tempo de fechamento anterior ou no tempo de fechamento da barra em timeframe_1. Isso vale para as barras que foram fechadas, bem como a barra atual que ainda está em aberto.
Para qualquer barra em timeframe_1, o indicador irá mostrar a última barra de timeframe_2 com um tempo de abertura anterior ou no no tempo de abertura da barra em timeframe_1. Isso vale para as barras que foram fechadas, bem como a barra atual que ainda está em aberto. A lógica aqui é que se você optar por calcular os seus indicadores sobre o tempo de abertura de uma barra, então, provavelmente você também irá negociar quando um nova barra abrir. Neste caso, na abertura de uma nova barra de 5 minutos, você só vai saber a abertura da primeira das cinco barras de 1 minuto que fazem parte dela. O abertura da segunda a quinta barra de 1 minuto são, portanto, ignoradas nos cálculos.
Você pode misturar qualquer período de tempo com qualquer outro período de tempo, mesmo que eles não estão em sincronia, por exemplo timeframe_1 = 5 minutos e timeframe_2 = 12 minutos. O indicador irá se certificar de ficar sincronizado. A forma como isto funciona é semelhante aos exemplos anteriores.
A folha de excel em anexo (Conversion between timeframes.zip) contém exemplos de todos os tipos possíveis de combinações e uma explicação mais visual. Também dê uma olhada no código fonte para ver como ele é feito. Esperemos que isso irá ajudá-lo a construir seus próprios indicadores de múltiplos períodos de tempo.
Ao alternar entre os períodos de tempo, espere um tempo (alguns segundos) para que os dados de preços possam ser carregados. Se o indicador não é exibido, atualize a tabela manualmente.
Exigimentos:
Coloque ambos MACD Histogram_MTF_MC.mq5 e MACD_Histogram_MC.mq5 em terminal_data_folder\MQL5\Indicators para que o indicador funcione.
Veja na fonte para ligar / desligar as mensagens de erro:
bool ShowErrorMessages=false; // ativar / desativar as mensagens de erro para depuração

Histórico atualizado:
26/09/2010: v03
2010 08 28: v02B
Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/176
Funções para simplificar o trabalho com ordens
Tudo o que queremos é pensar sobre algoritmos e métodos, e não sobre sintaxe e valores como colocar ordens. Aqui você encontra funções simples para gerenciar posições em MQL5.
RSI de múltiplos tempos gráficos [v03]
Indicador RSI que pode ser aplicado para qualquer tempo gráfico (maior ou menor que o período gráfico atual).
Histograma MACD, multicolorido [v04]
Indicador MACD com a linha MACD, linha de sinal e histograma multicolorido.
ZeroLag MACD
Oscilador MACD sem lag.