Desenvolver um detector automático de reversão em MQL5 parece simples na teoria, mas na prática o programador esbarra em três gargalos: ruído de mercado, latência dos dados e a escolha de parâmetros que não se ajustam a todos os pares. O objetivo do script é identificar, em tempo real, pontos de inflexão que justifiquem a abertura de uma posição, sem gerar alertas falsos que drenem o capital. No cenário real – um trader que opera em 15 minutos no EUR/USD – a ferramenta precisa filtrar milhares de ticks, reagir em menos de um segundo e ainda ser configurável para diferentes estilos de preço (candlestick, Heikin‑Ashi, etc.).
Como montar o algoritmo passo a passo
- 1. Captura de dados: use
CopyRatespara baixar as últimas 100 velas. O volume de histórico deve ser suficiente para calcular médias móveis e indicadores de momentum sem sobrecarregar a memória. - 2. Definição de critério de reversão: combine um oscilador (RSI < 30 ou > 70) com um cruzamento de médias exponenciais (EMA 9 cruzando EMA 21). Essa dupla reduz falsos sinais, pois o RSI filtra momentos de sobre‑compra/venda enquanto o cruzamento confirma a mudança de tendência.
- 3. Filtragem de ruído: implemente um filtro de volatilidade usando o
ATR(14). Descarte sinais quando o ATR estiver abaixo de um limiar definido (ex.: 0,0005 para EUR/USD), pois nesses períodos o preço oscila sem força suficiente. - 4. Gestão de risco: ao disparar o alerta, calcule o tamanho da posição com base no
AccountFreeMargine no risco máximo (1‑2% por trade). Defina stop‑loss em 1,5 × ATR e take‑profit em 2 × ATR para manter uma relação risco‑recompensa positiva. - 5. Execução automática: use
OrderSenddentro de um blocoif (Signal && !PositionExists). Sempre verifiqueTradeCheckpara evitar duplicidade de ordens.
Limitações e onde o detector falha
Mesmo com filtros, o algoritmo pode gerar falsos positivos em mercados de baixa liquidez ou durante notícias de alto impacto. Nesses momentos, o spread aumenta e o ATR sobe abruptamente, mas o sinal ainda pode aparecer antes que o preço “respire”. Uma estratégia defensiva é suspender a lógica por 5 minutos após a publicação de um calendário econômico.
Exemplo de código resumido
| Linha | Descrição |
|---|---|
| 1 | int handleRSI = iRSI(_Symbol,PERIOD_M15,14,PRICE_CLOSE); |
| 2 | double rsi = CopyBuffer(handleRSI,0,0,1)[0]; |
| 3 | if(rsi<30 && EMA9 crosses EMA21 && ATR14>0.0005) TriggerSignal(); |
FAQ rápido
- Posso usar outro timeframe? Sim, mas ajuste os parâmetros de EMA e ATR proporcionalmente.
- O detector funciona em commodities? Funciona, porém a volatilidade costuma ser maior; aumente o múltiplo do ATR no stop‑loss.
- Como validar o desempenho? Rode backtest de 6‑12 meses e compare a taxa de acerto (>55% é razoável) contra o drawdown máximo.
Se quiser aprofundar a implementação, confira a documentação oficial da MetaTrader que traz exemplos prontos de manipulação de buffers e gerenciamento de posições. O próximo passo é adaptar o script ao seu estilo de trade e testar em conta demo antes de arriscar capital real.
Primeiros passos após a compra
- Salve o arquivo
.mq5na pastaMetaTrader5\MQL5\Experts. - Reinicie o terminal ou pressione Ctrl+F5 para recarregar a lista de Expert Advisors.
- Arraste o detector para o gráfico desejado e habilite AutoTrading.
Configuração inicial – parâmetros críticos
| Parâmetro | Descrição | Valor padrão |
|---|---|---|
| LookBackBars | Quantidade de barras analisadas para detectar reversão. | 30 |
| ThresholdPct | Desvio percentual mínimo para validar a mudança de tendência. | 0.75% |
| SignalDelay | Barra de confirmação antes de disparar o alerta. | 2 |
| RiskPerTrade | Porcentagem do capital alocado por operação. | 1.5% |
Altere esses valores diretamente na aba Inputs do EA. Pequenos ajustes de LookBackBars podem transformar um detector de curto prazo em um filtro de médio prazo.
Checklist operacional – rotina recomendada
- ✅ Verifique a sincronização do horário do servidor (
TimeCurrent()) com a sua zona. - ✅ Ative Alerts e Push Notifications para não perder sinais.
- ✅ Defina Stop Loss automático usando a função
OrderSend()comSL = EntryPrice - (ATR*1.5). - ✅ Confirme que o Trailing Stop está habilitado (opcional, mas recomendado).
- ✅ Registre cada sinal em um arquivo CSV para análise posterior (
FileOpen()).
Fluxograma simplificado – da detecção ao trade

⚡ Dica: se o sinal permanecer “verde” por mais de três barras consecutivas, considere aguardar um pull‑back antes de entrar.
Erros comuns e como evitá‑los
- Sobre‑otimização: não ajuste
ThresholdPctpara valores inferiores a 0.3% apenas para melhorar o backtest. - Negligenciar o spread: em ativos de alta volatilidade, inclua
Spreadno cálculo do stop. - Ignorar o gerenciamento de capital: mantenha
RiskPerTradeconstante; mudar de 1% para 3% sem justificativa eleva o risco exponencialmente.
Produtividade prática – aceleração de resultados
Implemente um timer interno que reavalie o critério de reversão a cada 5 minutos, mesmo em gráficos de 1‑minuto. Isso reduz o tempo de latência entre a mudança de tendência e o disparo do sinal.
Para traders iniciantes, combine o detector com um script de fechamento parcial que liquida 50% da posição ao alcançar 1,5 × Risco, garantindo lucro antes de um possível recuo.
FAQ rápido
- Posso usar o detector em múltiplos pares simultaneamente? Sim, basta anexar uma instância a cada gráfico.
- O EA funciona em contas demo? Totalmente, teste em demo antes de migrar para real.
- Como exportar os sinais para Excel? O arquivo
ReversalLog.csvé salvo na pastaMQL5\Files; abra diretamente no Excel.
Perfil ideal e limites de uso do detector automático de reversão em MQL5
Se você sacrifica tempo precioso para codificar indicadores, mas não tem paciência para refinar falsos sinais, este detector pode ser o seu atalho.
Quem deve usar:
- Traders que operam intraday em mercados voláteis (forex, CFD). Eles precisam de alertas instantâneos quando o preço rompe níveis críticos.
- Desenvolvedores de robôs que precisam de um ponto de partida pronto‑para‑uso, sem reinventar a lógica de filtragem de ruído.
- Analistas que já mantêm uma biblioteca MQL5 e buscam um módulo plug‑and‑play para enriquecer estratégias existentes.
Quem não vai extrair valor:
- Investidores de longo prazo que confiam apenas em análises fundamentalistas. A granularidade temporal do detector é irrelevante para quem compra e segura por anos.
- Quem não domina o ambiente MetaEditor. Embora o código venha pronto, ajustes finos de parâmetros exigem compreensão básica de objetos MQL5.
- Corretoras que impõem limites de frequência de ordens. O detector dispara rapidamente e pode gerar “overtrading” se o servidor bloquear execuções.
Limitações práticas a considerar
O algoritmo baseia‑se em médias móveis e níveis de suporte/resistência calculados em tempo real. Isso implica duas distorções:
- Em mercados com spreads amplos, o sinal pode aparecer antes do preço “real”, provocando entradas prematuras.
- Durante períodos de baixa liquidez (ex.: sessões asiáticas), o detector pode gerar múltiplos falsos positivos, pois a volatilidade mínima ainda ativa o critério de reversão.
Além disso, o módulo não inclui gerenciamento de risco interno. Cabe ao usuário implementar stop‑loss, take‑profit e dimensionamento de lote.
FAQ contextual
| Pergunta | Resposta |
|---|---|
| Posso usar o detector em contas micro? | Sim, mas ajuste o parâmetro de sensibilidade para evitar sinais excessivos que consumam margem. |
| Ele funciona em ativos não‑Forex? | Funciona, porém a parametrização padrão foi calibrada para pares de moedas. Refaça backtest em ações ou commodities. |
| Qual a latência típica? | Menor que 5 ms em servidores VPS dedicados, porém pode subir em conexão residencial. |
Checklist rápido antes de ativar
- Verifique a versão do MetaTrader 5 (mínimo 5.00.1900).
- Teste em conta demo por, no mínimo, 200 ticks.
- Configure alertas de áudio ou push para não perder o sinal.
- Integre um módulo de gestão de risco externo.
Parecer editorial equilibrado
O detector automático de reversão entrega o que promete: sinais de ruptura com latência mínima, pronto para ser incorporado a estratégias já existentes. Contudo, sua eficácia colapsa se usado como “solução única” em mercados com spreads altos ou em cenários de baixa liquidez.
Em termos de custo‑benefício, quem tem familiaridade com MQL5 e já executa backtests regulares ganhará tempo – o valor real do produto. O restante arrisca mais tempo de ajuste do que ganho efetivo.
Para quem se encaixa nos critérios acima, o próximo passo lógico é clonar o repositório oficial e iniciar o teste em modo “paper”.


