Assista a como baixar robôs de negociação gratuitos
Encontre-nos em Telegram!
Participe de nossa página de fãs
Script interessante?
Coloque um link para ele, e permita que outras pessoas também o avaliem
Você gostou do script?
Avalie seu funcionamento no terminal MetaTrader 5
Visualizações:
24
Avaliação:
(1)
Publicado:
Freelance MQL5 Precisa de um robô ou indicador baseado nesse código? Solicite-o no Freelance Ir para Freelance




Filtro de Tendência Alfa-Beta com Painel de Matriz Multitempo

1. Visão geral

O Filtro de Tendência Alfa-Beta é um indicador de suavização preditiva derivado da teoria de controle e do processamento de sinais digitais. Conceitualmente, ele funciona como um filtro de Kalman simplificado em estado estacionário. Enquanto as médias móveis padrão (SMA, EMA, LWMA) dependem estritamente da média dos dados históricos — e, portanto, ficam inerentemente atrasadas em relação à movimentação dos preços em tempo real —, o filtro Alfa-Beta estima ativamente o preço “verdadeiro” atual e a velocidade da tendência, ao mesmo tempo em que elimina o ruído do mercado.

Esta implementação específica em MQL5 aprimora o indicador clássico de linha única ao incorporar um painel matricial com múltiplos símbolos e múltiplos intervalos de tempo. Ela permite que os traders monitorem a tendência do Alpha-Beta em toda uma carteira diretamente a partir de um único gráfico, com atualização dinâmica a cada tick.

2. O mecanismo matemático

O filtro opera de forma iterativa em cada nova barra de preço. Ele se baseia em dois coeficientes de ajuste principais:

  • $\alpha$ (Alfa): O coeficiente de sensibilidade ao preço. Ele controla o peso atribuído à nova observação bruta do preço em relação à previsão interna do filtro.

  • $\beta$ (Beta): O coeficiente de sensibilidade à velocidade. Ele controla a capacidade de resposta às mudanças no momentum da tendência.

O algoritmo é executado em duas fases distintas por barra:

Fase 1: A Etapa de Previsão

Antes do fechamento da barra atual, o filtro prevê o preço atual ($\hat{P}_{t}$) e a velocidade ($\hat{V}_{t}$) com base no estado calculado da barra anterior:

$$\hat{P}_{t}=P_{t-1}+V_{t-1}$$
$$\hat{V}_{t}=V_{t-1}$$

Fase 2: A etapa de atualização

Assim que o preço de fechamento real ($Z_{t}$) for divulgado, o filtro calcula o erro/resíduo ($E_{t}$) entre sua previsão e a realidade e atualiza seu estado interno:

$$E_{t}=Z_{t}-\hat{P}_{t}$$
$$P_{t}=\hat{P}_{t}+\alpha E_{t}$$
$$V_{t}=\hat{V}_{t}+\beta E_{t}$$

Onde:

  • $Z_{t}$: Preço de fechamento real da barra atual.

  • $P_{t}$: Estimativa de preço atualizada e suavizada (representada no gráfico).

  • $V_{t}$: Velocidade atualizada (usada para determinar a tendência de alta ou de baixa).

3. Principais características desta implementação

  • Suavização Preditiva Sem Atraso: A linha principal do indicador acompanha a movimentação dos preços de forma muito mais precisa do que as EMAs tradicionais, tornando-a uma excelente base para estratégias de cruzamento rápido.

  • Representação gráfica dinâmica com código de cores: A linha principal do gráfico utiliza DRAW_COLOR_LINE para alternar automaticamente entre azul (velocidade de alta) e vermelho (velocidade de baixa) com base no estado interno de $V_{t}$.

  • Painel matricial não intrusivo: Uma interface gráfica no próprio gráfico acompanha o estado da tendência (alta, baixa, espera) de até 5 intervalos de tempo em uma lista definida pelo usuário de símbolos externos.

  • Gerenciamento leve de recursos: Os símbolos externos e os intervalos de tempo no painel não carregam o histórico completo. O script extrai apenas as barras mínimas necessárias por meio de CopyClose() para calcular o estado em tempo real, evitando atrasos no terminal.

4. Explicação dos parâmetros de entrada

Configurações do mecanismo de filtragem

  • inpAlpha (Padrão: $0,2$): O intervalo normalmente varia de $0,1$ a $0,9$. Um valor maior de $\alpha$ acompanha de perto o preço bruto (excelente para scalping); um valor menor de $\alpha$ suaviza bastante a linha para ignorar oscilações laterais (melhor para swing trading).

  • inpBeta (Padrão: $0,05$): O intervalo normalmente varia de $0,01$ a $0,5$. Um valor maior de $\beta$ reage agressivamente a mudanças repentinas de momentum. Um valor muito baixo de $\beta$ pressupõe uma tendência estável e inabalável.

Configurações da grade do painel

  • inpSymbols (Padrão: “EURUSD,GBPUSD,USDJPY,AUDUSD”): Uma sequência de símbolos separados por vírgulas que você deseja acompanhar. O código analisa isso automaticamente usando StringSplit().

  • Botões de alternância de intervalos de tempo (showM5 a showD1): Entradas booleanas que permitem personalizar quais colunas aparecem no seu painel de controle da matriz.

5. Destaques da arquitetura e do código

Para desenvolvedores MQL5 que estiverem analisando o código-fonte, observe as seguintes escolhas estruturais:

  • Indexação de séries temporais: o MQL5 indexa nativamente os arrays do mais antigo para o mais recente. Para se alinhar à lógica padrão de negociação (onde [0] é a barra atual em tempo real), o código utiliza intensamente a função ArraySetAsSeries(buffer, true) para todos os buffers de indicadores e arrays recuperados.

  • Auxiliar de extração de estado: A função GetStateForTarget() é um loop independente utilizado pelo painel. Ela busca 50 barras de preços de fechamento para o símbolo/intervalo de tempo alvo, inicializa o mecanismo de previsão e retorna um estado inteiro (0 para alta, 1 para baixa) sem a necessidade de chamadas externas ao iCustom.

  • Desinicialização limpa de objetos: A função OnDeinit() percorre o prefixo da interface do usuário (AB_Matrix_) para garantir que todos os rótulos gráficos sejam removidos do gráfico no momento em que o indicador for removido.

6. Aplicações de negociação

  • Configuração para scalping: Experimente um $\alpha$ de 0,45 e um $\beta$ de 0,12. A linha codificada por cores mudará rapidamente, permitindo que você identifique microtendências nos gráficos M1 ou M5.

  • Configuração para oscilações macro: Reduza os valores para um $\alpha$ de 0,15 e um $\beta$ de 0,02. O indicador ficará estável durante o ruído intradiário, mantendo você na operação até que ocorra uma mudança macroscópica genuína na velocidade.

  • Confluência de Matriz: Use o painel para realizar operações no seu gráfico atual somente quando as células H1, H4 e D1 para aquele símbolo específico estiverem completamente alinhadas na mesma cor.

Traduzido do inglês pela MetaQuotes Ltd.
Publicação original: https://www.mql5.com/en/code/74958

SuperTrend_Amarnath_Kondiyan_Mohan SuperTrend_Amarnath_Kondiyan_Mohan

Supertendência com gestão de TP e SL em cesta

CKS Position Risk Dashboard CKS Position Risk Dashboard

Um painel do MT5 somente para leitura que exibe o dimensionamento de lotes com base no risco, a saúde da conta, os limites de volume da corretora e a exposição atual aos símbolos.

Trend Flasher -AKM Trend Flasher -AKM

Um painel de controle de supertendências com várias moedas e vários símbolos

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

O Indicador Acceleration/Deceleration (Aceleração/Desaceleração ou AC) mede a aceleração e a desaceleração da força motriz atual do mercado.