Martingale e grid em robôs: por que a conta quebra
Por Jackson Jordão · 13 de outubro de 2026 · 6 min

Martingale é aumentar o lote depois de cada perda, geralmente dobrando, para que um único ganho recupere o prejuízo anterior. Grid é abrir várias ordens em degraus de preço, em geral contra o movimento, e sair pela média. A conta quebra porque o tamanho da posição cresce mais rápido do que a margem aguenta: basta uma sequência longa de perdas, ou um movimento forte contra o grid, para o saldo acabar antes de o preço voltar.
Os dois métodos parecem funcionar por semanas, porque a maioria das operações fecha no ganho pequeno. O problema aparece na cauda: poucas situações raras, mas com perda enorme. Veja a matemática, o que muda no MT5 e as travas que um robô sério precisa ter.
Como o martingale funciona
A regra é simples. Perdeu, a próxima operação usa o dobro do lote. Ganhou, volta ao lote inicial. Em teoria, o primeiro ganho cobre todas as perdas anteriores mais um lucro pequeno. Na prática, o lote cresce de forma exponencial.
Com lote inicial de 0,10, a sequência fica 0,10, 0,20, 0,40, 0,80, 1,60, 3,20, 6,40 e 12,80. Na oitava operação seguinte você já opera 128 vezes o lote inicial. Oito perdas seguidas parecem raras, mas acontecem, e o prejuízo acumulado nesse ponto é enorme perto do que se queria ganhar.
Dica: O martingale não muda a chance de acerto da estratégia. Ele só troca muitos ganhos pequenos por uma perda rara e grande. Sem limite de lote e de perda, essa perda rara zera a conta.
Como o grid funciona
No grid, o robô coloca ordens a cada X pontos. Por exemplo, compra a cada 200 pontos de queda e fecha tudo quando o preço volta à média mais um pequeno alvo. Alguns grids ainda aumentam o lote a cada degrau, o que é um martingale disfarçado.
Em mercado lateral, o grid fecha muitos ciclos. Em tendência forte contra a posição, o robô continua abrindo ordens, a margem usada sobe e a perda flutuante cresce a cada degrau. Enquanto o preço não volta, nada é realizado, então o histórico parece ótimo até o dia em que a margem acaba.
Por que a conta quebra
Há três mecanismos, e eles se somam:
- Margem: cada ordem a mais consome margem. Quando o nível de margem cai ao limite da corretora, as posições são encerradas à força, no pior preço.
- Lote máximo: o símbolo tem limite de volume por ordem e, em alguns casos, de volume total. Se a sequência pede um lote acima do permitido, o robô não consegue dobrar e a recuperação deixa de existir.
- Backtest enganoso: o teste só mostra o caminho que o preço fez. Um período sem movimento extremo faz o sistema parecer seguro, e o histórico não garante o futuro.
O que muda no MT5: hedging e netting
O tipo de conta importa. Em conta hedging, comum no Forex, cada ordem do grid vira uma posição separada. Em conta netting, comum na B3, as ordens no mesmo ativo se somam em uma posição única com preço médio. O robô lê o modo com AccountInfoInteger(ACCOUNT_MARGIN_MODE) e precisa tratar cada caso, porque a lógica de fechar "a última ordem do grid" não existe em netting. Para mais detalhes sobre as diferenças entre mercados, veja o artigo sobre B3 ou Forex em /blog/robo-b3-ou-forex-diferencas-programacao-mt5.
Travas que todo robô com grid ou martingale precisa
Se você insiste em usar uma dessas técnicas, o mínimo é programar limites duros no código, e não só nos parâmetros de entrada. A referência do MQL5 traz as funções para isso:
- Número máximo de degraus e de multiplicações do lote, com teto fixo (por exemplo, no máximo 4 dobras).
- Lote normalizado: consultar SymbolInfoDouble com SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX e SYMBOL_VOLUME_STEP antes de enviar a ordem, e respeitar SYMBOL_VOLUME_LIMIT quando ele existir.
- Teste de margem antes de abrir: OrderCalcMargin calcula a margem necessária, e AccountInfoDouble com ACCOUNT_MARGIN_FREE mostra quanto sobra. Se não sobra folga, o robô não abre.
- Nível de margem: acompanhar ACCOUNT_MARGIN_LEVEL e parar de abrir ordens bem antes dos níveis ACCOUNT_MARGIN_SO_CALL e ACCOUNT_MARGIN_SO_SO da corretora.
- Stop de conta: se o patrimônio (ACCOUNT_EQUITY) cair um percentual definido, o robô fecha tudo e para de operar no dia.
- Stop de cada ordem ou de todo o ciclo, para que exista uma perda máxima conhecida.
Esses itens se encaixam na gestão de risco geral do robô, que explico no artigo sobre lote, stop e limite diário (/blog/gestao-de-risco-robo-forex-metatrader-5).
Como testar sem se enganar
No testador de estratégia, rode períodos de forte tendência e de notícias, não só os meses tranquilos. Observe o drawdown máximo e a perda flutuante, não apenas o saldo final. O passo a passo está em /blog/como-fazer-backtest-metatrader-5. Depois, valide em demo e, se for ao real, comece com a menor exposição possível; a conta cent ajuda nisso, como mostra o artigo /blog/conta-cent-testar-robo-com-dinheiro-real.
Dica: Se o robô só é lucrativo com martingale ou grid sem stop, desconfie. Compare o resultado com a mesma lógica em lote fixo e com stop: se a vantagem some, ela era só risco escondido.
Resumo
- Martingale aumenta o lote após perdas; grid abre ordens em degraus de preço, muitas vezes contra o movimento.
- O risco cresce de forma exponencial e aparece em eventos raros, que o backtest curto pode não mostrar.
- Margem, lote máximo e perda flutuante são os pontos de ruptura da conta.
- Em conta netting, as ordens do grid viram uma posição única, e a lógica do robô precisa ser adaptada.
- Teto de degraus, teste de margem, stop de conta e stop do ciclo reduzem o risco, mas não o eliminam.
Quer revisar ou programar um robô com travas de risco?
- Descreva a sua estratégia pelo Termo de Referência do site ou pelo WhatsApp.
- Eu analiso as regras, aponto os riscos e programo as travas de lote, margem e perda máxima.
- Você recebe o robô testado em conta demo, com o código-fonte.