Robô para B3 ou para Forex: o que muda na programação do MT5
Por Jackson Jordão · 11 de outubro de 2026 · 5 min

A lógica da estratégia pode ser a mesma, mas o robô para a B3 e o robô para Forex não são o mesmo programa. O que muda está na conta (netting ou hedging), no contrato negociado, no vencimento, no horário e na forma de enviar e preencher as ordens. Um robô feito para Forex e colocado numa conta de bolsa sem adaptação costuma falhar logo nas primeiras ordens.
Neste artigo, explico as diferenças que mais pesam na programação em MQL5, para você saber o que precisa informar ao programador antes de encomendar o robô.
Tipo de conta: netting ou hedging
A diferença mais importante está no modo de contabilizar posições. Segundo a documentação do MQL5, a propriedade ACCOUNT_MARGIN_MODE, lida com AccountInfoInteger(), retorna um destes valores: ACCOUNT_MARGIN_MODE_RETAIL_NETTING, ACCOUNT_MARGIN_MODE_EXCHANGE ou ACCOUNT_MARGIN_MODE_RETAIL_HEDGING.
- Netting e modo de bolsa (EXCHANGE): cada ativo tem uma única posição. Uma nova compra no mesmo ativo aumenta a posição, e uma venda reduz ou inverte. É o cenário típico de contas para a B3.
- Hedging: o mesmo ativo pode ter várias posições independentes, inclusive compradas e vendidas ao mesmo tempo. É comum em contas de Forex.
Isso muda o código. Num robô de Forex em conta hedging, é possível abrir uma posição por sinal e gerenciar cada uma com seu stop e seu alvo. Na conta netting, o robô precisa tratar a posição como um todo: o preço médio muda a cada ordem, e um stop de uma entrada vale para a posição inteira. Um robô de grade ou de pirâmide, por exemplo, se comporta de forma bem diferente em cada modelo.
Dica: Antes de encomendar, descubra o tipo da sua conta e informe ao programador. Um robô bem feito lê ACCOUNT_MARGIN_MODE na inicialização e avisa se a conta não for a prevista, em vez de operar de forma errada.
O ativo: contrato futuro ou par de moedas
Na B3, quem automatiza costuma operar contratos futuros, como o mini índice e o mini dólar. Eles têm vencimento: o código do ativo muda de tempos em tempos e o robô precisa operar o contrato certo. Quem não trata a virada de contrato acaba com o robô parado no ativo antigo, sem negócios. Veja os cuidados específicos no artigo sobre robô para mini índice (/blog/robo-mini-indice-win-metatrader-5) e no de mini dólar (/blog/robo-mini-dolar-wdo-metatrader-5).
No Forex, o par de moedas não vence. Em compensação, as corretoras variam no tamanho do lote, no número de casas decimais do preço e nos nomes dos símbolos, que podem ter sufixos. Por isso o robô não deve escrever esses valores no código: precisa ler as propriedades do símbolo com SymbolInfoDouble() e SymbolInfoInteger(), como SYMBOL_TRADE_TICK_SIZE, SYMBOL_VOLUME_MIN e SYMBOL_VOLUME_STEP.
Tamanho de lote, tick e pontos
O que o MT5 chama de ponto não significa a mesma coisa em todo ativo. Em contratos da B3, o preço anda em saltos mínimos (o tick) definidos pela bolsa. Em Forex, o preço costuma ter casas decimais extras. Se o código calcula stop e alvo em pontos sem consultar o ativo, o mesmo parâmetro pode virar uma distância muito diferente de um mercado para o outro.
O mesmo vale para o volume. Os limites e o passo de lote vêm de SYMBOL_VOLUME_MIN, SYMBOL_VOLUME_MAX e SYMBOL_VOLUME_STEP, e uma ordem fora deles é rejeitada. Para entender como o lote entra no controle de perda, leia o artigo sobre gestão de risco no Forex (/blog/gestao-de-risco-robo-forex-metatrader-5).
Preenchimento de ordens
A documentação do MQL5 descreve três tipos de preenchimento: FOK (a ordem só é executada com o volume total), IOC (executa o volume disponível e cancela o restante) e RETURN (o volume restante continua ativo). Quais deles valem para cada ativo depende do servidor da corretora e do modo de execução do símbolo, e a propriedade SYMBOL_FILLING_MODE indica os permitidos.
Na prática, um robô que fixa ORDER_FILLING_FOK no código pode funcionar numa corretora e receber rejeição em outra. O código bem escrito consulta o que o ativo aceita e escolhe o tipo certo na hora de montar a ordem.
Horário e dia de operação
A bolsa tem pregão com abertura, fechamento e leilões, e muitos robôs de day trade precisam zerar posições antes do fim do pregão. O mercado de Forex funciona quase o dia inteiro nos dias úteis, com sessões de maior movimento e janelas de notícia. Em ambos os casos, o robô deve ter horário configurável, e o programador precisa saber o fuso do servidor da corretora, que costuma ser diferente do horário de Brasília.
Os horários da B3 mudam ao longo do ano, por exemplo com o horário de verão dos Estados Unidos, que afeta o mercado de referência. Por isso, confirme na página oficial da B3 antes de fixar qualquer horário no robô.
Custos e execução
Spread, corretagem, emolumentos e taxas funcionam de forma diferente em cada mercado, e todos pesam no resultado de um backtest. Um teste que ignora esses custos mostra um desempenho que o robô dificilmente repete na conta real. Veja como configurar o teste com mais realismo no artigo sobre backtest (/blog/como-fazer-backtest-metatrader-5).
Dica: Nenhum robô garante resultado em B3 ou Forex. Alavancagem amplia ganhos e perdas, e testar em conta demo antes de usar dinheiro real continua sendo a etapa mais importante.
O que informar ao programador
- Se a conta é de bolsa (B3) ou de Forex, e a corretora usada.
- Se a conta é netting ou hedging.
- Quais ativos o robô vai operar e em que horários.
- Se o robô pode ter mais de uma posição aberta no mesmo ativo.
- Como você quer limitar a perda: por operação, por dia ou nos dois.
Resumo
- Robô de B3 e robô de Forex compartilham a estratégia, mas o código muda.
- O tipo da conta (netting, bolsa ou hedging) define como as posições funcionam e deve ser lido com ACCOUNT_MARGIN_MODE.
- Contratos futuros têm vencimento; pares de Forex não.
- Tick, lote e preenchimento de ordem devem ser lidos do ativo, nunca fixados no código.
- Horário, custos e execução mudam de um mercado para o outro e entram no backtest.
Quer um robô sob medida para a B3 ou para o Forex?
- Descreva a sua estratégia pelo Termo de Referência do site ou pelo WhatsApp, dizendo o mercado e a corretora.
- Eu analiso as regras e adapto o código ao tipo de conta e ao ativo.
- Você recebe o robô testado em conta demo, com o código-fonte.