Moeda de bitcoin representando robôs de trading de criptomoedas
Trading

Como criar um robô de trading do zero: da ideia à conta real

Como criar um robô de trading do zero: defina regras, escolha Pine Script, MQL5 ou Python, faça backtest com custos, teste em demo e controle o risco.

Imagem: Boletim Bitcoin

Por Redação Boletim Bitcoin

. Leitura de 6 min.

Para criar um robô de trading do zero, você precisa de cinco coisas: regras objetivas, uma plataforma para programá-las, um backtest honesto com custos, um período em conta demo e um plano de risco que o robô siga sem exceção. A programação é a parte mais fácil; a difícil é provar que a regra funciona fora do histórico em que foi criada.

Em resumo: comece escrevendo a estratégia em português, com números exatos. Programe em Pine Script (mais fácil), MQL5 (MetaTrader 5) ou Python (cripto via API). Teste com taxas, spread e slippage, valide em dados que não usou para ajustar, rode em demo e só depois opere com valores pequenos. Nenhum robô garante lucro.

Passo 1: o que o robô vai fazer, exatamente?

Robô não entende “comprar quando parecer barato”. Ele precisa de respostas para estas perguntas:

PerguntaExemplo de resposta objetiva
Qual ativo e tempo gráfico?BTC/USDT, candles de 4 horas
Quando entra?Média exponencial de 9 cruza acima da de 21 no fechamento do candle
Quando sai com lucro?Cruzamento contrário ou alvo de 2 vezes o risco
Quando sai com perda?Stop 1,5 ATR abaixo da entrada
Quanto arrisca?1% do capital por operação
Quando não opera?Se já houver posição aberta ou perda do dia maior que 3%

Se alguma linha ficar em branco, o robô não está pronto para ser programado. As ideias de entrada costumam vir de indicadores como médias móveis, IFR e Bandas de Bollinger, ou de suporte e resistência. O guia de estratégias de robôs compara tendência, reversão, grid e DCA.

Passo 2: qual plataforma escolher?

Pine Script (TradingView)

  • Curva de aprendizado curta
  • Backtest direto no gráfico
  • Execução real depende de alertas e integrações
  • Bom para validar ideias rápido

MQL5 (MetaTrader 5)

  • Robô roda no terminal e envia ordens à corretora
  • Testador com ticks reais e otimização
  • Linguagem parecida com C++
  • Padrão em forex, ouro e CFDs

Python

  • Liberdade total e muitas bibliotecas
  • Conecta a corretoras cripto via API (ccxt)
  • Você monta backtest, execução e servidor
  • Exige mais disciplina de engenharia

Um caminho comum é prototipar no TradingView e, se a ideia sobreviver aos testes, reescrever em MQL5 ou Python para executar. Cada linguagem tem tutorial próprio aqui: Pine Script, MQL5 Expert Advisor e Python para trading.

Dá para começar sem programar?

Sim. O Assistente MQL5 monta um Expert Advisor combinando módulos de sinal, gestão de capital e trailing stop, e já entrega o código compilável. Em cripto, corretoras oferecem bots de grid e DCA prontos; a BingX é um exemplo, com tutorial no nosso guia de grid bot da BingX. São bons para aprender, mas a lógica fica limitada ao que a ferramenta oferece.

Passo 3: programe a primeira versão

Abaixo, a regra da tabela (sem o stop por ATR, para ficar curta) em Pine Script v6. Repare que custos e tamanho de posição já entram na declaração da estratégia:

//@version=6
strategy("Robô cruzamento EMA", overlay = true, initial_capital = 1000,
     default_qty_type = strategy.percent_of_equity, default_qty_value = 10,
     commission_type = strategy.commission.percent, commission_value = 0.1, slippage = 2)

emaRapida = ta.ema(close, input.int(9, "EMA rápida"))
emaLenta  = ta.ema(close, input.int(21, "EMA lenta"))
plot(emaRapida, "EMA rápida", color.teal)
plot(emaLenta, "EMA lenta", color.orange)

compra = ta.crossover(emaRapida, emaLenta)
venda  = ta.crossunder(emaRapida, emaLenta)

if compra
    strategy.entry("Long", strategy.long)
if venda
    strategy.close("Long")

Na v6, o parâmetro when das funções de ordem foi removido; a condição vai num if, como acima, segundo o guia de migração do TradingView. Por padrão, o simulador executa a ordem a mercado no próximo tick disponível, ou seja, na abertura do candle seguinte ao sinal, conforme a documentação de estratégias. Isso evita o erro clássico de “comprar no fechamento que você só conheceu depois”.

Gráfico de candles em plataforma de negociação MetaTrader 5 Gráfico de candles no MetaTrader 5, plataforma em que robôs escritos em MQL5 enviam ordens direto à corretora. Crédito: Enivid, licença CC BY-SA 4.0, via Wikimedia Commons.

Passo 4: backtest com custos e dados fora da amostra

O backtest responde se a regra teria funcionado no passado. Três regras de ouro:

  1. Inclua todos os custos. Taxa da corretora, spread e slippage (diferença entre o preço esperado e o executado). Se o robô ganha 0,25% bruto por operação e paga 0,30% de custos, ele perde.
  2. Separe in-sample e out-of-sample. Ajuste parâmetros em, por exemplo, 2019 a 2023 e teste uma única vez em 2024 a 2026. Se o resultado desabar, é sinal de overfitting.
  3. Faça walk-forward. Otimize numa janela, teste na seguinte, avance. O testador do MetaTrader 5 tem a opção “Forward”, que reserva 1/2, 1/3 ou 1/4 do período para esse teste, e permite simular atraso de execução, segundo a ajuda oficial do testador.
Atenção: testar centenas de combinações de parâmetros até achar a curva perfeita quase sempre produz um robô que falha ao vivo. Poucos parâmetros, faixas amplas que funcionam e lógica que você consegue explicar são sinais de robustez.

Passo 5: conta demo e execução real

Mesmo um backtest bom esconde problemas que só aparecem ao vivo: ordem rejeitada por lote mínimo, desconexão, horário de rolagem com spread alto, diferença entre preço do gráfico e preço da corretora. Por isso:

  • Rode em demo por algumas semanas e compare cada operação com o que o backtest faria.
  • Use um servidor (VPS) se o robô precisar ficar ligado 24 horas, como em cripto.
  • Registre tudo em log: sinal, preço pedido, preço executado, motivo da saída.
  • Tenha um “botão de desligar”: limite de perda diária e número máximo de ordens.

Se o robô operar cripto por API, proteja as chaves: permissão só de leitura e negociação, nunca de saque, e lista de IPs autorizados. O passo a passo está em API de corretora cripto.

Passo 6: tamanho de posição e controle de risco

Roteiro de risco do robô

  1. Risco por operaçãoDefina um percentual fixo, como 0,5% a 1% do capital.
  2. Lote pelo stopCalcule a quantidade a partir da distância do stop, não por palpite.
  3. Limite diárioDesligue o robô se a perda do dia passar de um teto, como 3%.
  4. Drawdown máximoSe a queda do capital passar do pior caso do backtest, pare e reavalie.

Exemplo: com US$ 1.000 e risco de 1%, a perda máxima por operação é US$ 10. Se o stop fica 2% abaixo da entrada, a posição é de US$ 500 (10 ÷ 0,02). A lógica completa, com tabelas de drawdown, está em gestão de risco no trading. Fuja de lógicas de martingale, que dobram a posição após perdas: elas parecem funcionar até a sequência ruim que zera a conta.

Para ver um robô sendo montado na prática com Python conectado ao MetaTrader 5, o vídeo abaixo mostra o processo do início ao fim.

Checklist antes de ligar o robô com dinheiro real

  • Regras escritas, sem ambiguidade.
  • Backtest com custos e vários anos, incluindo alta, queda e lateralização.
  • Resultado out-of-sample coerente com o in-sample.
  • Semanas de demo com execução parecida com a simulada.
  • Tamanho de posição por risco, stop sempre ativo, limite diário.
  • Chaves de API sem permissão de saque.
  • Capital que você pode perder, sem alavancagem excessiva.

Criar o robô é um projeto de engenharia e de estatística ao mesmo tempo. Quem trata o código como a parte principal costuma descobrir, ao vivo, que o teste era otimista demais. Para entender o contexto geral, veja também o que é trading algorítmico.

Conteúdo informativo, não é recomendação de investimento.

Perguntas frequentes

Como criar um robô de trading?

Escreva regras objetivas de entrada, saída e tamanho de posição, programe em uma plataforma (Pine Script, MQL5 ou Python), faça backtest com custos, valide em dados fora da amostra, rode em conta demo e só então opere com pouco dinheiro.

Qual a melhor linguagem para criar robô trader?

Depende do mercado. Pine Script é a mais fácil para prototipar no TradingView. MQL5 executa ordens direto no MetaTrader 5 (forex e CFDs). Python é a mais flexível para cripto via API e para pesquisa com dados.

Dá para criar robô de trading sem programar?

Sim, com limitações. O Assistente MQL5 gera Expert Advisors a partir de módulos prontos, e corretoras cripto oferecem bots de grid e DCA configuráveis. Para estratégias próprias, programar dá mais controle.

Quanto tempo de teste é preciso antes de usar dinheiro real?

Não há prazo mágico. Um roteiro prudente é backtest com vários anos e diferentes regimes de mercado, validação out-of-sample e algumas semanas em conta demo comparando o resultado com o esperado.

Referências

  1. TradingView: Pine Script docs, Strategies
  2. TradingView: Pine Script docs, migração para a v6
  3. MetaTrader 5: Assistente MQL5
  4. MetaTrader 5: teste de estratégias (modos de tick, forward, atrasos)
  5. MQL5 Reference: CTrade
  6. CCXT Manual
  7. Investopedia: Slippage
  • robô de trading
  • robô trader
  • trading algorítmico
  • backtest
  • Pine Script
  • MQL5
  • Python

Este conteúdo é informativo e não é recomendação de investimento. Encontrou um erro? Escreva para contato@boletimbitcoin.com.

Leia também