Price action em robô: como transformar padrões de candle em regras
Por Jackson Jordão · 19 de outubro de 2026 · 5 min

Para um robô operar price action, você precisa transformar cada padrão de candle em números: tamanho do corpo, tamanho dos pavios, posição do fechamento e sentido da vela. Padrão que não vira regra objetiva não pode ser programado. "Martelo bonito" é opinião; "pavio inferior maior que 2 vezes o corpo e fechamento no terço superior da vela" é regra que o robô executa sempre do mesmo jeito.
Neste artigo você vê como descrever padrões como pin bar e engolfo em regras mensuráveis, como ler as velas no MQL5 sem cair em erros clássicos e quais cuidados evitam que o robô opere em cima de uma vela que ainda não fechou.
Por que o price action precisa de regras objetivas
O trader que opera no olho enxerga contexto: tendência, região de suporte, horário, notícia. O robô só enxerga o que você escrever. Duas pessoas podem chamar de "pin bar" velas bem diferentes, e o backtest de uma regra vaga não significa nada, porque o resultado muda a cada interpretação.
Por isso, antes de programar, escreva o padrão como um conjunto de condições que dê sempre a mesma resposta (sim ou não) para a mesma vela.
Como medir uma vela em números
Toda vela tem quatro preços: abertura, máxima, mínima e fechamento. A partir deles você calcula tudo o que precisa:
- Amplitude (range): máxima menos mínima.
- Corpo: valor absoluto da diferença entre fechamento e abertura.
- Pavio superior: máxima menos o maior valor entre abertura e fechamento.
- Pavio inferior: o menor valor entre abertura e fechamento menos a mínima.
- Sentido: vela de alta se o fechamento é maior que a abertura; de baixa se é menor.
Com isso, qualquer padrão vira uma comparação entre esses valores, e não um desenho.
Exemplos de padrões transformados em regras
Os exemplos abaixo são pontos de partida para você ajustar, não estratégias prontas nem garantia de resultado.
- Pin bar de compra: pavio inferior pelo menos 2 vezes o corpo, pavio superior pequeno (por exemplo, menor que o corpo) e fechamento perto da máxima da vela.
- Engolfo de alta: a vela anterior é de baixa, a atual é de alta, a abertura da atual fica abaixo do fechamento da anterior e o fechamento da atual fica acima da abertura da anterior.
- Inside bar: a máxima da vela é menor que a da anterior e a mínima é maior que a da anterior. A entrada costuma ser o rompimento de uma das duas extremidades.
- Vela de força: corpo maior que uma porcentagem da amplitude (por exemplo, 70%) e amplitude acima de uma média das últimas velas.
Dica: Evite valores absolutos de preço nas regras. Um pavio de 50 pontos significa algo no mini índice e outra coisa no Forex. Prefira proporções (pavio em relação ao corpo) ou múltiplos do ATR, que se adaptam à volatilidade do ativo.
Como ler as velas no MQL5
No MQL5 você pode usar a função CopyRates(), que preenche um array de estruturas MqlRates com os campos open, high, low, close, time e tick_volume. Defina o array como série com ArraySetAsSeries(), para que o índice 0 seja a vela mais recente, e leia as velas a partir do índice 1.
O motivo é simples: a vela de índice 0 ainda está em formação. Seus preços de máxima, mínima e fechamento mudam a cada tick. Se o robô avaliar o padrão nela, o sinal pode aparecer e desaparecer durante a vela, e o backtest, que costuma ser mais "limpo", não vai mostrar esse problema. A vela de índice 1 é a última já fechada, e é nela que o padrão deve ser avaliado.
Rode a lógica uma vez por vela
Como o OnTick() é chamado a cada tick, o robô precisaria reavaliar o padrão milhares de vezes dentro da mesma vela. O correto é detectar a abertura de uma vela nova: guarde o horário da última vela processada (por exemplo, com iTime() ou com o campo time do MqlRates) e só execute a análise quando esse horário mudar.
Assim, o sinal é calculado uma única vez por vela fechada, o consumo de processamento cai e o comportamento do backtest fica mais próximo do da conta real.
Padrão sozinho não é estratégia
Um padrão de candle isolado raramente basta. Em geral, o robô precisa de filtros que deem contexto ao sinal:
- Tendência: operar só a favor de uma média móvel ou de uma sequência de topos e fundos.
- Local: aceitar o padrão apenas perto de uma região relevante, como uma máxima ou mínima do dia.
- Volatilidade: ignorar velas muito pequenas ou muito grandes em relação ao ATR.
- Horário: limitar a janela de operação, como mostra o artigo /blog/horario-operacao-robo-metatrader-5.
Cada filtro novo, porém, é um parâmetro a mais para ajustar, e isso aumenta o risco de overfitting. O artigo /blog/otimizacao-mt5-overfitting-walk-forward explica como validar o robô fora da amostra.
Saída: stop e alvo também precisam de regra
O padrão diz onde entrar, mas o robô também precisa saber onde sair. Uma opção comum para o stop é a mínima (ou a máxima) da própria vela do sinal, com uma pequena folga. O alvo pode ser um múltiplo do risco ou ficar ligado ao ATR.
Confira o nível mínimo de distância aceito pela corretora, a propriedade SYMBOL_TRADE_STOPS_LEVEL, e o tamanho do lote em relação ao stop, conforme a gestão de risco do robô. Nenhum padrão de candle elimina o risco: o stop existe porque o sinal pode falhar.
Dica: Teste o robô em ticks reais e com spread realista. Padrões de candle em tempos gráficos curtos são muito sensíveis a custo de operação e a slippage.
Resumo
- Padrão de candle só pode ser programado se virar regra numérica: corpo, pavios, fechamento e sentido.
- Prefira proporções e múltiplos do ATR a valores fixos de pontos.
- No MQL5, leia as velas com CopyRates() e avalie o padrão na vela de índice 1, que já fechou.
- Execute a análise uma vez por vela nova, detectando a mudança de horário da vela.
- Combine o padrão com filtros e regras claras de stop e alvo, e valide o resultado fora da amostra.
Quer transformar seu padrão de candle em robô?
Se você opera price action e quer que o robô siga exatamente as suas regras, a Digital Master12 programa o Expert Advisor para MetaTrader 5 e transforma o seu padrão em condições objetivas. Para isso, é só seguir estes passos:
- Descreva sua estratégia pelo Termo de Referência do site ou pelo WhatsApp.
- Receba a análise das regras, dos filtros e da forma de testá-las.
- Receba o robô testado em conta demo, com o código-fonte.
Veja também /blog/como-transformar-estrategia-em-robo-metatrader-5, que mostra como organizar a estratégia antes de programar.