Indicador técnico

Otimize sua Estratégia com Média Móvel Simples no MetaTrader 4
MetaTrader4
Otimize sua Estratégia com Média Móvel Simples no MetaTrader 4

Hoje vamos falar sobre como otimizar sua estratégia de trading usando uma Média Móvel Simples (MMS) no MetaTrader 4. Essa abordagem é inspirada na ideia do MA Profit, mas com uma diferença crucial: aqui usamos apenas uma única média móvel, ao invés de um sistema de cruzamento de médias. Trabalhar com uma única média móvel traz vantagens significativas, como a agilidade na otimização. Você consegue testar todas as médias móveis entre 10 e 1000 em um tempo praticamente imperceptível. A estratégia com a média móvel simples oferece três sinais principais: Curva abaixo das velas: Sinal de compra Curva acima das velas: Sinal de venda Curva horizontal, cruzando várias vezes as velas: Feche suas posições e aguarde novos sinais Ao alterar o período da média, todos os cálculos são recalculados. É interessante verificar se diferentes períodos (minuto, hora, dia, etc.) mostram o mesmo sinal. Em geral, um sinal se torna mais forte quando é confirmado por múltiplos períodos. Você também pode mudar para períodos menores para encontrar um ponto de entrada em operações longas ou curtas. O indicador também desenha quatro tipos de triângulos: Vermelho com borda grossa: Trade curto com lucro Vermelho com borda fina: Trade curto perdido Verde com borda grossa: Trade longo com lucro Verde com borda fina: Trade longo perdido Quando um novo sinal estiver disponível, o indicador pode emitir um alerta ou usar uma saída de voz. Para isso, você precisará do speech.dll, que pode ser encontrado em mql5.com. O indicador exibe o status e a contagem de sinais bons e ruins na sua linha de status. A otimização pode ser feita em dois modos: Trading Simulado: A melhor média móvel é aquela que gerou o maior lucro. Contagem de Interseções: Quanto menos tempo a curva e as velas se cruzam, melhor é a média móvel. Parâmetros a considerar (veja também o código-fonte): extern bool bOptimize=true; // Verdadeiro: Encontre a melhor MMS otimizando (troque o período para reotimizar) extern bool bOptimizeIntersect=true; // Verdadeiro: otimize para mínimas interseções, caso contrário, otimize para máximo lucro extern int PeriodMA=400; // Se você não quiser otimizar, pode definir um período extern int Method=0; // Método para MMS 0 = Simples, 1 = Exponencial, 2 = Suavizada, 3 = Ponderada Linear extern bool DrawTringles=true; // Desenha triângulos para o trading simulado extern int MinMA=5; // Teste mínimo para otimização extern int MaxMA=500; // Teste máximo para otimização extern int StepMA=1; // Passo durante a otimização, 1 testa cada MMS, 10 testa a cada décima, etc. extern int CountOptimize=300; // Número de velas para otimização extern int RepaintBars=3000; // Número de velas nas quais desenhamos triângulos e calculamos o ganho/perda extern bool Alarm=true; // Alerta visível em um novo sinal extern bool bSpeak=true; // Alerta de voz com gspeak A negociação com médias móveis pode gerar bons sinais, mas também muitos falsos positivos. Estou sempre em busca de novas ideias para filtrar esses sinais enganosos e aprimorar meu Expert Advisor de média móvel. Use por sua conta e risco!

2010.09.22
iCrossClose: O Indicador Essencial para Traders no MetaTrader 5
MetaTrader5
iCrossClose: O Indicador Essencial para Traders no MetaTrader 5

O iCrossClose é um indicador poderoso que permite realizar diversas operações aritméticas com os preços de dois símbolos e exibir o resultado em qualquer outro gráfico. Com ele, você pode calcular cruzamentos (usando multiplicação e divisão), spreads (subtração) ou simplesmente visualizar os dados de outro símbolo no gráfico.Fig. 1. O indicador iCrossClose. O EURGBP (em azul) e seus valores estimados (em vermelho, calculados usando o EURUSD e GBPUSD) estão apresentados no gráfico inferior.Por padrão, ele plota o cruzamento do EURGBP, calculado utilizando os valores de  EURUSD e GBPUSD (veja a Fig. 1)Parâmetros de entrada:S1_Symbol - Símbolo 1;S1_Invert - Flag para inverter o valor do símbolo 1 (valor=1.0/valor);S1_K - Coeficiente de multiplicação do símbolo 1 (valor=K*valor);S1_Plus - Adição ao símbolo 1 (valor=Plus+valor). A prioridade das operações é a seguinte: inverter, multiplicar, adicionar;S2_Symbol - Símbolo 2;S2_Invert - Flag para inverter o valor do símbolo 2;S2_K - Coeficiente de multiplicação do símbolo 2;S2_Plus - Adição ao símbolo 2;R_ArithmeticAction - Ação Aritmética;R_Invert - Flag para inverter o resultado da Ação Aritmética;R_K - Coeficiente de multiplicação para o resultado;R_Plus - Adição ao resultado.Notas:Para plotar os dados de outro símbolo como estão, você deve especificar os mesmos valores para S1_Symbol e S2_Symbol, com S2_K=0, R_ArithmeticAction=Add e os valores padrão para os demais parâmetros.Enquanto os dados não estiverem prontos, o indicador aguardará um novo tick e exibirá a mensagem "Aguarde...". Você também pode alternar os períodos de tempo para utilizá-lo nos finais de semana,

2010.09.21
QuickFib: O Indicador Essencial para Traders no MetaTrader 4
MetaTrader4
QuickFib: O Indicador Essencial para Traders no MetaTrader 4

Descrição: O QuickFib é um indicador que mantém um estudo de Fibonacci atualizado automaticamente, abrangendo o menor e o maior preço visíveis na porção atual do seu gráfico. Para os traders que trabalham com price action e estão sempre desenhando e atualizando os níveis de Fibonacci para considerar novos altos e baixos, esse indicador pode economizar bastante tempo. Além disso, o QuickFib plota duas linhas: uma que vai do maior alto até o ponto que define a linha de tendência com a maior inclinação. A linha de suporte é desenhada de forma oposta. Por fim, um retângulo mostra a quantidade de movimento que ainda não foi retratada (desde que o preço atingiu o mais recente maior alto ou menor baixo) e é exibido acima ou abaixo do preço atual. Isso é super útil se você está visualizando apenas a parte mais à direita do gráfico, escondida por outros gráficos ou devido a estar arrastado para fora do lado esquerdo do seu monitor: você consegue ver quanto do retracement realmente ocorreu sem precisar olhar para as velas mais antigas. Essa função pode ser desativada ajustando a variável externa DrawRetracementBlocks para falso. Esse indicador é projetado para te dar uma noção geral da ação recente do preço do par que você está analisando. Notas: Quando o preço começa a atingir um novo alto ou baixo, o indicador espera até que a barra feche antes de atualizar os níveis de Fibonacci ou as linhas de tendência. Para quebras de linha de tendência, ele aguarda duas barras. Isso te dá tempo para observar um rompimento em ação, sendo útil para identificar entradas de rompimento e pullback à medida que ocorrem. O indicador é atualizado de forma "preguiçosa"; os objetos são excluídos e desenhados novamente a cada tick. Isso poderia ser feito de forma mais eficiente, se necessário, mas o impacto nos recursos do seu computador com a codificação atual do indicador é tão baixo que não vale a pena o tempo gasto para otimizá-lo. Dica: Se você ainda não ativou a opção de deslocamento do gráfico, experimente por algumas semanas. Clique no ícone com a pequena seta vermelha apontando para a esquerda. Ter uma margem extra à direita ajuda a visualizar a ação do preço no futuro e dá um pouco de espaço confortável para sua mente trabalhar nas possíveis movimentações.

2010.09.20
Indicador RSI e Ichimoku: Potencialize Suas Estratégias no MetaTrader 4
MetaTrader4
Indicador RSI e Ichimoku: Potencialize Suas Estratégias no MetaTrader 4

Olá, traders! Hoje eu quero compartilhar com vocês um indicador que eu desenvolvi para uso pessoal e que tem se mostrado extremamente útil nas minhas operações. Trata-se de um indicador que combina o famoso Ichimoku Kinko Hyo do MT4, mas com uma pequena diferença: ele rastreia os valores do RSI em uma janela inferior. Você pode utilizá-lo como uma confirmação para suas outras estratégias, ou, se você é um fã do Ichimoku, ele serve como um ótimo complemento para os seus gráficos. Uma coisa que eu notei, e que mostrei nos gráficos abaixo com uma operação que fiz, é o excelente sinal que a linha verde do Chinkou Span fornece para identificar topos e fundos, além de momentos de consolidação em uma tendência. Outro ponto que costuma gerar bons movimentos é quando as três linhas rompem as nuvens ao mesmo tempo, seja para cima ou para baixo. Isso aconteceu na operação que eu realizei. Vale lembrar que é interessante observar se o preço tem um espaço para se mover (mínimo de 13 pips) até a resistência. Aliás, eu fechei a operação após a confirmação de rejeição da linha do RSI a 70, pois uma notícia estava prestes a ser divulgada, e terminei com um bom scalp antes da notícia sair. Ao adicionar o indicador ao seu gráfico, basta alterar a última cor para que ela combine com a cor do seu gráfico e faça as nuvens parecerem flutuar. ATUALIZAÇÃO: NOTA: A versão 2 foi atualizada com um sistema de sombreamento automático que combina com a cor do seu gráfico automaticamente. Para que a versão automática funcione, é necessário permitir o uso de DLLs. Isso evita que você precise fazer a correspondência manual da última cor com a do seu gráfico, fazendo com que as nuvens se apresentem de forma flutuante. Após a instalação, a cor automática precisa de um tick para encontrar a cor do seu gráfico. Para mais exemplos de indicadores com mudança automática de cor, você pode visitar o meu site. www.Brooky-Indicators.com

2010.09.15
Médias Móveis Multitemporais: O Indicador Essencial para MetaTrader 5
MetaTrader5
Médias Móveis Multitemporais: O Indicador Essencial para MetaTrader 5

Autor real: traderak20, baseado em iUniMA.mq5 por Integer O indicador iUniMA MTF permite que você escolha entre diferentes tipos de médias móveis, como SMA, EMA, SMMA, LWMA, AMA, DEMA, TEMA, FRAMA e VIDYA. Ele pode ser aplicado a qualquer período de tempo, seja maior ou menor que o da tabela atual. Em comparação com o indicador original iUniMA, a única configuração adicional é o segundo período de tempo usado como entrada para os cálculos. Quando o indicador é aplicado a um período de tempo menor que o da tabela atual, pode não ser possível exibir todos os valores. Nesse caso, dependendo do tipo de preço escolhido, ele usará uma abordagem diferente para fornecer o valor mais apropriado. Aqui vão dois exemplos: período_1=5 minutos, período_2=1 minuto, cálculos baseados na série de preços Close: Para qualquer barra no período_1, o indicador mostrará a barra mais recente do período_2 com um horário de fechamento antes ou igual ao horário de fechamento da barra no período_1. Isso vale tanto para barras que já foram fechadas quanto para a barra atual que ainda está aberta. período_1=5 minutos, período_2=1 minuto, cálculos baseados na série de preços Open: Para qualquer barra no período_1, o indicador mostrará a barra mais recente do período_2 com um horário de abertura antes ou igual ao horário de abertura da barra no período_1. Isso também se aplica a barras que estão fechadas e à barra atual que ainda está aberta. A lógica aqui é que, se você escolher calcular seus indicadores com base no horário de abertura de uma barra, provavelmente você também fará trades quando uma nova barra abrir. Assim, na abertura de uma nova barra de 5 minutos, você só saberá a abertura da primeira das cinco barras de 1 minuto que fazem parte dela. As aberturas da segunda à quinta barras de 1 minuto são, portanto, ignoradas nos cálculos. Você pode misturar qualquer período de tempo com qualquer outro, mesmo que não estejam sincronizados, por exemplo, período_1 = 5 minutos e período_2 = 12 minutos. O indicador garantirá que eles permaneçam sincronizados. O funcionamento é semelhante aos exemplos acima. Consulte o indicador MACD Histogram MTF MC para uma explicação mais visual em uma planilha Excel. Ao alternar entre os períodos de tempo, aguarde alguns segundos para que os dados de preço sejam carregados. Se o indicador não for exibido, atualize o gráfico manualmente. Veja no código como ativar/desativar mensagens de erro: bool  ShowErrorMessages=false;      // ativar/desativar mensagens de erro para depuração Histórico de atualizações: 2010 09 26: v03 Melhoria na exibição de valores em períodos menores que o da tabela;Definidos buffers como EMPTY_VALUE em vez de 0 após: if(convertedTime<tempTimeArray_TF2[0]);Otimização do código;Removido PLOT_DRAW_BEGIN de OnInit() - herdado do indicador de um único período;Movido ArraySetAsSeries de buffers e arrays para OnInit(); 2010 08 28: v02 Indicador publicado pela primeira vez;

2010.08.28
Doji Hunter: O Indicador Essencial para Traders no MetaTrader 4
MetaTrader4
Doji Hunter: O Indicador Essencial para Traders no MetaTrader 4

Olá, traders! Vamos falar sobre uma ferramenta que pode fazer a diferença no seu dia a dia: o Doji Hunter. Para começar, adicionei uma variável chamada RangeOfBars que permite escolher quantas barras para trás você quer analisar em busca do doji. Isso é ótimo para detectar dojis duplos também! Ao configurar o RangeOfBars para 2 ou 3, você pode buscar nas primeiras, segunda ou terceira posições de vela para identificar um possível doji duplo. Na prática, você pode criar um método para IsDoji que verifica apenas a primeira posição da vela, e um segundo método que analisa a primeira e a segunda posição para um doji duplo. Assim, você pode programar seu código para, por exemplo, não realizar uma operação se IsDoji for verdadeiro, mas sim operar na extensão se for um IsDoubleDoji. O código original do Doji Reader 2 não lidava bem com as condições de 5 dígitos, e peço desculpas por isso, mas aqui você verá uma forma mais eficiente de escrevê-lo. Meu código pode não ser o melhor, mas é um passo na direção certa. Mantive a funcionalidade ShowCandleBox pois achei que era uma maneira bacana de colocar um indicador no gráfico, e funcionou bem nos testes. Alguns indicadores adicionais eram legais, mas optei por manter a simplicidade. O texto extra também era interessante e um pouco educativo sobre a identificação do doji, mas novamente, preferi simplificar. Uma mudança significativa foi a troca dos valores de configuração de inteiros para doubles. Com essa mudança, conseguimos aproveitar a precisão de 5 dígitos e obter um doji mais limpo e preciso, como você verá ao utilizá-lo. Importante: quando estiver usando um indicador baseado em double, evite usar inteiros, a menos que seja para contar algo. Adicionei também um reset de contagem para que os boxes não continuassem indefinidamente no processo de contagem. Cada vez que o indicador processa, o contador estava aumentando sem parar. Com o reset, conseguimos uma contagem precisa que se reinicia no início de cada ciclo de processamento. Incluí um buffer e um processo de limpeza do buffer para que você possa passar 0, por padrão, e 1 se encontrado no código usando o buffer. Mantendo o intervalo pequeno, não utilizamos CPU desnecessariamente processando dados antigos que não nos interessam. Abaixo está um exemplo de declaração para integrar ao seu código: extern string __DOJI_HUNTER_SETTINGS = "-----"; int RangeOfBars = 3; bool ShowCandleBox=true; //false para esconder a caixa da vela extern color BoxColor=MistyRose; //adicione sua cor favorita extern string __Regular_Doji_Settings = "-----"; bool FindRegularDoji=true; //false para desabilitar extern double MinLengthOfUpTail=0.1; //vela com cauda superior igual ou maior que isso aparecerá extern double MinLengthOfLoTail=0.1; //vela com cauda inferior igual ou maior que isso aparecerá extern double MaxLengthOfBody=0.2; //vela com corpo menor ou igual a isso aparecerá extern string __Dragonfly_Doji_Settings = "-----"; bool FindDragonflyDoji=true; //false para desabilitar extern double MaxLengthOfUpTail1=0; //vela com cauda superior igual ou maior que isso aparecerá extern double MinLengthOfLoTail1=0.1; //vela com cauda inferior igual ou maior que isso aparecerá extern double MaxLengthOfBody1=0.2; //vela com corpo menor ou igual a isso aparecerá extern string __Gravestone_Doji_Settings = "-----"; bool FindGravestoneDoji=true; //false para desabilitar extern double MinLengthOfUpTail2=0.1; //vela com cauda superior igual ou maior que isso aparecerá extern double MaxLengthOfLoTail2=0; //vela com cauda inferior igual ou maior que isso aparecerá extern double MaxLengthOfBody2=0.2; //vela com corpo menor ou igual a isso aparecerá Aqui está um exemplo de chamada para obter os dados sobre o doji. Atenção: coloque essa chamada na seção de evento de nova vela do seu código, colocá-la no evento de tick pode causar problemas: Doji1 = iCustom(NULL,0,"Doji_Hunter", RangeOfBars, ShowCandleBox, BoxColor, FindRegularDoji, MinLengthOfUpTail, MinLengthOfLoTail, MaxLengthOfBody, FindDragonflyDoji, MaxLengthOfUpTail1, MinLengthOfLoTail1, MaxLengthOfBody1, FindGravestoneDoji, MinLengthOfUpTail2, MaxLengthOfLoTail2, MaxLengthOfBody2, 0, 0); O trecho de código acima vai capturar o valor da primeira vela, que pode ser 0 ou 1, onde 1 significa que o doji foi encontrado.

2010.08.28
Stochastic Multi-Timeframe: O Indicador Versátil para MetaTrader 5
MetaTrader5
Stochastic Multi-Timeframe: O Indicador Versátil para MetaTrader 5

O indicador Stochastic pode ser aplicado a qualquer timeframe, seja ele maior ou menor que o do gráfico atual. Você pode usar todos os parâmetros habituais do indicador iStochastic embutido, sendo que a única configuração adicional é o segundo timeframe que será utilizado nas cálculos. Quando o indicador é aplicado a um timeframe inferior ao do gráfico atual, pode não ser possível exibir todos os valores. Nesse caso, dependendo do tipo de preço escolhido, o indicador usará uma abordagem diferente para fornecer o valor mais adequado. Aqui vão dois exemplos: timeframe_1=5 minutos, timeframe_2=1 minuto, cálculos baseados na série de preço Close: Para qualquer barra no timeframe_1, o indicador mostrará a barra mais recente do timeframe_2 com um horário de fechamento anterior ou igual ao horário de fechamento da barra no timeframe_1. Isso vale tanto para barras já fechadas quanto para a barra atual que ainda está aberta. timeframe_1=5 minutos, timeframe_2=1 minuto, cálculos baseados na série de preço Open: Para qualquer barra no timeframe_1, o indicador mostrará a barra mais recente do timeframe_2 com um horário de abertura anterior ou igual ao horário de abertura da barra no timeframe_1. Isso também se aplica a barras já fechadas e à barra atual que ainda está aberta. A lógica aqui é que se você optar por calcular seus indicadores com base no horário de abertura de uma barra, provavelmente também irá operar quando uma nova barra se abrir. Assim, na abertura de uma nova barra de 5 minutos, você só saberá a abertura da primeira das cinco barras de 1 minuto que a compõem. As aberturas da segunda à quinta barra de 1 minuto, portanto, são ignoradas nos cálculos. Você pode misturar qualquer timeframe com qualquer outro, mesmo que não estejam sincronizados, por exemplo, timeframe_1 = 5 minutos e timeframe_2 = 12 minutos. O indicador garantirá que eles permaneçam sincronizados. O funcionamento é semelhante aos exemplos acima. Veja o indicador MACD Histogram MTF MC para uma explicação mais visual em uma planilha do Excel. Ao alternar entre timeframes, aguarde alguns segundos para que os dados de preço sejam carregados. Se o indicador não for exibido, atualize o gráfico manualmente. Verifique no código para ativar/desativar mensagens de erro: bool  ShowErrorMessages=false;      // ativar/desativar mensagens de erro para depuração Histórico de Atualizações: 2010 09 26: v04 Melhorada a exibição de valores em timeframes menores que o do gráfico; Definidos buffers como EMPTY_VALUE em vez de 0 após: if(convertedTime<tempTimeArray_TF2[0]); Otimização do código; Removido PLOT_DRAW_BEGIN de OnInit() - herdado do indicador de um único timeframe; Movido ArraySetAsSeries de buffers e arrays para OnInit(); 2010 09 06: v03 Corrigido bug com o array Time[] que causava a exibição incorreta do indicador; 2010 08 25: v02 Indicador publicado pela primeira vez;

2010.08.25
RSI Multi-Timeframe para MetaTrader 5: Maximizar Suas Análises
MetaTrader5
RSI Multi-Timeframe para MetaTrader 5: Maximizar Suas Análises

O indicador RSI (Índice de Força Relativa) pode ser aplicado a qualquer timeframe, seja ele maior ou menor que o gráfico atual. ATENÇÃO: Se você deseja criar seus próprios indicadores multi-timeframe, este indicador RSI MTF é um excelente exemplo. Com apenas um buffer, o código fica mais limpo e fácil de entender em comparação a outros indicadores multi-timeframe que possuem vários buffers. Você pode usar todos os parâmetros habituais do indicador iRSI, sendo a única configuração adicional o segundo timeframe utilizado como entrada para os cálculos. Quando o indicador é aplicado a um timeframe inferior ao do gráfico atual, pode não ser possível exibir todos os valores. Nessa situação, dependendo do tipo de preço escolhido, será utilizada uma abordagem diferente para fornecer o valor mais apropriado. Aqui vão dois exemplos: timeframe_1=5 minutos, timeframe_2=1 minuto, cálculos baseados na série de preços Close: Para qualquer barra no timeframe_1, o indicador mostrará a última barra do timeframe_2 com um horário de fechamento antes ou igual ao horário de fechamento da barra no timeframe_1. Isso se aplica tanto às barras já fechadas quanto à barra atual que ainda está aberta. timeframe_1=5 minutos, timeframe_2=1 minuto, cálculos baseados na série de preços Open: Para qualquer barra no timeframe_1, o indicador mostrará a última barra do timeframe_2 com um horário de abertura antes ou igual ao horário de abertura da barra no timeframe_1. Novamente, isso se aplica tanto às barras já fechadas quanto à barra atual que ainda está aberta. A lógica aqui é que se você escolhe calcular seus indicadores com base no horário de abertura de uma barra, provavelmente você também fará operações quando uma nova barra abrir. Nesse caso, na abertura de uma nova barra de 5 minutos, você só saberá a abertura da primeira das cinco barras de 1 minuto que a compõem. As aberturas das barras de 1 minuto do segundo ao quinto, portanto, são ignoradas nos cálculos. Você pode misturar qualquer timeframe com qualquer outro, mesmo que não estejam sincronizados, por exemplo, timeframe_1 = 5 minutos e timeframe_2 = 12 minutos. O indicador garantirá que permaneçam sincronizados. O funcionamento é semelhante aos exemplos citados acima. Veja o indicador MACD Histogram MTF MC para uma explicação mais visual em uma planilha do Excel. Ao alternar entre timeframes, aguarde alguns segundos para que os dados de preço sejam carregados. Se o indicador não for exibido, atualize o gráfico manualmente. Confira no código como ativar/desativar mensagens de erro: bool  ShowErrorMessages=false;      // ativa/desativa mensagens de erro para depuração Histórico de atualizações: 2010 09 26: v04 Melhoria na exibição de valores em timeframes menores que o timeframe do gráfico; Definido buffers como EMPTY_VALUE em vez de 0 após: if(convertedTime<tempTimeArray_TF2[0]); Otimização do código; Removido PLOT_DRAW_BEGIN de OnInit() - herdado do indicador de um único timeframe; Movido ArraySetAsSeries de buffers e arrays para OnInit(); 2010 09 06: v02 Corrigido bug com o array Time[] que causava a exibição incorreta do indicador; 2010 08 25: v01 Indicador publicado pela primeira vez;

2010.08.25
MACD Histogram Multi-Timeframe: O Guia Completo para Traders no MetaTrader 5
MetaTrader5
MACD Histogram Multi-Timeframe: O Guia Completo para Traders no MetaTrader 5

O indicador MACD é uma ferramenta poderosa que pode ser aplicada em qualquer timeframe, seja ele maior ou menor do que o gráfico atual. Os valores podem ser calculados com base em qualquer tipo de preço comum. Quando o indicador é aplicado a um timeframe menor do que o do gráfico atual, pode ser que não consigamos exibir todos os valores. Nesse caso, dependendo do tipo de preço escolhido, será utilizada uma abordagem diferente para fornecer o valor mais apropriado. Vou te dar dois exemplos: timeframe_1=5 minutos, timeframe_2=1 minuto, cálculos baseados na série de preços Close: Para qualquer barra no timeframe_1, o indicador mostrará a barra mais recente do timeframe_2 com um horário de fechamento anterior ou igual ao horário de fechamento da barra no timeframe_1. Isso se aplica tanto para barras que já foram fechadas quanto para a barra atual que ainda está aberta. timeframe_1=5 minutos, timeframe_2=1 minuto, cálculos baseados na série de preços Open: Para qualquer barra no timeframe_1, o indicador mostrará a barra mais recente do timeframe_2 com um horário de abertura anterior ou igual ao horário de abertura da barra no timeframe_1. Isso também vale para barras que já foram fechadas e para a barra atual que ainda está aberta. A lógica aqui é que, se você escolhe calcular seus indicadores com base no horário de abertura de uma barra, provavelmente você também vai operar quando uma nova barra se abrir. Portanto, na abertura de uma nova barra de 5 minutos, você só saberá a abertura da primeira das cinco barras de 1 minuto que fazem parte dela. As aberturas da segunda à quinta barra de 1 minuto serão ignoradas nos cálculos. Você pode misturar qualquer timeframe com outro, mesmo que não estejam sincronizados, por exemplo, timeframe_1 = 5 minutos e timeframe_2 = 12 minutos. O indicador garante que eles permaneçam sincronizados. O funcionamento é similar aos exemplos que mencionei acima. O arquivo Excel anexado (Conversão entre timeframes.zip) contém exemplos de todas as combinações possíveis e uma explicação mais visual. Não esqueça de dar uma olhada no código fonte para entender como tudo isso é feito. Espero que te ajude a construir seus próprios indicadores multi-timeframe. Ao mudar entre timeframes, aguarde alguns segundos para que os dados de preço sejam carregados. Se o indicador não aparecer, atualize o gráfico manualmente. Requisitos: MovingAverages.mqh (arquivo padrão na pasta terminal_data_folder\MQL5\Include) MACD_Histogram_MC (também disponível em mql5.com) Coloque tanto MACD Histogram_MTF_MC.mq5 quanto MACD_Histogram_MC.mq5 na pasta terminal_data_folder\MQL5\Indicators para que o indicador funcione corretamente. Veja no código fonte para ativar/desativar mensagens de erro: bool ShowErrorMessages=false;      // ativa/desativa mensagens de erro para depuração Histórico de atualizações: 2010 09 26: v03 Melhoria na exibição dos valores em timeframes menores que o do gráfico; Definição de buffers como EMPTY_VALUE em vez de 0 após: if(convertedTime<tempTimeArray_TF2[0]); Otimização do código; Remoção do PLOT_DRAW_BEGIN de OnInit() - herdado de indicador de timeframe único; Movido ArraySetAsSeries de buffers e arrays para OnInit(); Adicionadas MODE_SMMA e MODE_LWMA como métodos de MA para a linha de sinal; Colocado ENUM_APPLIED_PRICE como o último parâmetro de entrada na lista; 2010 08 28: v02B Indicador publicado pela primeira vez;

2010.08.24
Primeiro Anterior 331 332 333 334 335 336 337 338 339 340 341 Próximo Último