Trading algorítmico — primeiros passos para o trader de varejo

Última verificação: · Conteúdo atemporal
Aviso de risco · YMYL Este artigo tem fins exclusivamente educacionais e não constitui aconselhamento de investimento. Operar no mercado Forex envolve alto risco de perda de capital — a ESMA informa que entre 74% e 89% das contas de investidores de varejo perdem dinheiro.

O trading algorítmico no varejo é uma simples troca de papéis: o trader define a regra, o computador a executa. "Se a média móvel rápida cruzar a lenta para cima e o ATR das últimas vinte barras estiver subindo, abra uma posição comprada de 1 por cento do capital, com stop 1,5 ATR abaixo." Essa, em essência, é toda a definição. Todo o resto — provedores de VPS, linguagens, frameworks — é andaime. O problema da maioria dos projetos algo de varejo não é o código, e sim a suposição de que a automação compensa uma vantagem que o trader não tem de fato. Não compensa. Ela só vai perder mais rápido e mais barato do que o humano perdia.

O que o trading algorítmico é e o que definitivamente não é

Um algoritmo é duas coisas em uma: uma estratégia definida com precisão e o mecanismo que a dispara sem hesitação emocional. O trader que consegue escrever um conjunto completo de condições de entrada, saída, dimensionamento de posição e gestão de perdas em linguagem inequívoca já fez metade do trabalho; o resto é traduzir esse documento para MQL5, Python ou um simples alerta. Quem não tem essa disciplina começa aprendendo sintaxe e só depois descobre que não há nada concreto para codificar. Todo livro razoável sobre trading sistemático repete o mesmo conselho — operacionalize a estratégia à mão primeiro, automatize depois — e todo curso de fim de semana que vende "um robô por cento e noventa e nove dólares" o ignora. Algo também não é uma fonte mágica de renda passiva: uma estratégia que funciona hoje funciona porque certa regularidade de mercado ainda se mantém, e no momento em que ela desaparece o robô perde com a mesma eficiência que um trader discricionário, só que sem o aviso emocional de que algo está errado.

A escada dos alertas até a automação completa

O caminho natural passa por quatro degraus. O primeiro são os alertas de plataforma no TradingView ou no MetaTrader, que disparam um som ou um e-mail quando a condição de entrada é atendida. O trader ainda clica na ordem, mas é forçado a traduzir a estratégia em uma regra precisa o bastante para que a plataforma consiga expressá-la. Muitos traders de varejo nunca saem desse degrau e não precisam — alertas com disciplina bastam quando o número de sinais por dia é pequeno. O segundo degrau é um Expert Advisor simples em MQL5 para o MetaTrader, em geral um cruzamento de médias móveis com trailing stop ou um rompimento por ATR. Um EA desses chega a duzentas ou quatrocentas linhas e é construído em semanas. O terceiro degrau é um backtester em Python com pandas, NumPy e backtrader; aqui o trader itera dezenas de variantes de estratégia em uma única noite. O quarto degrau, opcional, é a conexão direta com a corretora por REST ou FIX, com Interactive Brokers ou OANDA, aposentando o MetaTrader como camada intermediária. Se você ainda está montando a base manual, a seção de prática e primeiros passos reúne o que vem antes do código.

As habilidades e a escolha da linguagem

A lista é curta. O pensamento estatístico é o que mais importa — entender a diferença entre taxa de acerto, profit factor e expectativa, e saber que uma curva de equity de cinquenta operações ainda não prova nada. Sem isso, até um código limpo produz conclusões do tipo "a estratégia funciona porque as últimas seis operações foram vencedoras", o que é uma hipótese nula, não uma análise. Em segundo vem a paciência para o ciclo de validação: ideia, codificação, backtest, walk-forward, três a seis meses em conta demo e só então capital real. Em terceiro, os fundamentos de programação — variáveis, laços, funções, um pandas DataFrame. Você não precisa ser engenheiro de software; basta conseguir ler o EA de outra pessoa e mudar um parâmetro sem quebrar o resto. A escolha da linguagem depende de uma só coisa: o trader fica dentro do MetaTrader ou sai dele? MQL5 é a linguagem nativa do MT5, a latência de execução se mede em milissegundos de um dígito e o Strategy Tester entrega um backtest decente de imediato. Python é o mundo inteiro além do MetaTrader — pandas e NumPy para processar dados, backtrader ou vectorbt para backtests, clientes REST para Interactive Brokers e OANDA. Vale rever também os conceitos operacionais de métricas de risco antes de confiar em qualquer curva.

Um exemplo ilustrativo — a primeira estratégia, do conceito ao backtest

Tome uma estratégia de cruzamento em EUR/USD no H1: abra uma posição comprada quando a EMA 21 cruzar a SMA 55 de baixo para cima, desde que o ATR das últimas catorze barras esteja acima de sua média de cinquenta períodos. Stop 1,5 ATR abaixo da entrada, take profit 2,5 ATR acima, tamanho da posição de 1 por cento do capital. Passo um: o trader executa quarenta entradas manualmente no MT5 sobre os últimos seis meses de dados, calcula a taxa de acerto e a média das operações vencedoras e perdedoras. Suponha que o resultado seja 38 por cento de taxa de acerto com profit factor 1,4. Passo dois: codifique o EA em MQL5 e rode-o no Strategy Tester ao longo de cinco anos de histórico. O resultado deve convergir para os números manuais ou divergir de forma sistemática — no segundo caso, o trader sabe que ou a regra foi escrita incorretamente, ou alguma parte da execução manual estava sendo interpretada de forma intuitiva. Passo três: o mesmo EA testado em Python com backtrader sobre dados da Dukascopy, incluindo spread e slippage realistas. Passo quatro: walk-forward, se os números forem estáveis. Todos os valores são ilustrativos — mostram a sequência, não uma promessa.

“O maior inimigo de um trader algorítmico é o viés de data-snooping. Modelos que parecem ótimos no backtest muitas vezes falham na operação ao vivo não porque a estratégia esteja errada, mas porque o trader a otimizou sobre os mesmos dados que usou para avaliá-la.” — Ernest P. Chan, 2013

Por que a maioria dos projetos algo de varejo fracassa

As razões são duas e nenhuma tem a ver com habilidade de programação. A primeira é a ausência de uma vantagem de mercado que valha a pena automatizar — o trader escreve um backtester, ajusta os parâmetros aos últimos cinco anos de dados e termina com uma curva de equity mais bonita do que a realidade jamais poderia produzir. Ele vai ao vivo, perde dinheiro, conclui que precisa de "uma estratégia melhor" e repete o ciclo. A segunda razão é a recusa em aceitar o "sua estratégia não tem vantagem, volte à prancheta". A maioria dos traders prefere superotimizar os parâmetros a ouvi-lo — o algoritmo não vai suavizar a mensagem, só repeti-la mais depressa. Do lado da infraestrutura, a realidade é prosaica: um VPS na Vultr ou na Hetzner custa de cinco a vinte euros por mês, MetaTrader e Python são gratuitos, os dados da Dukascopy são gratuitos. A barreira de entrada se mede em dezenas de euros mensais, não em milhares. O gargalo é tempo e pensamento estatístico, não dinheiro. Esse equilíbrio entre custo e disciplina é parte da gestão de risco que sustenta qualquer projeto automatizado. Um complemento prático sobre rodar um EA em VPS está na seção de plataformas e ferramentas da ForexMechanics.

O que fazer agora

  1. Abra um diário e, por uma semana, anote cada entrada que você fizer como uma regra inequívoca na forma "se X e Y, então abra Z" — banindo palavras como "geralmente", "costuma" ou "sinto que". Se ao fim da semana você não conseguir reescrever nenhuma decisão como essa regra, ainda não tem uma estratégia para automatizar, apenas uma coleção de reações.
  2. Baixe o MetaTrader 5 gratuito da sua corretora, abra uma conta demo e configure três alertos no TradingView ou no sistema nativo de alerta do MT5 para a versão mais simples da sua regra — observe por duas semanas se os alertas disparam nos mesmos momentos que você escolheria manualmente.
  3. Na terceira semana, cadastre-se no mql5.com, abra o MetaEditor que vem com o MT5 e escreva o Expert Advisor mais simples possível — um cruzamento de EMA 21 e SMA 55 com trailing stop de 1,5 ATR — apoiado na documentação MQL5 Reference; a meta é um primeiro EA funcional em quarenta a oitenta horas de esforço, não um lucrativo.
  4. Depois de dois meses, instale o Python 3.11 ou mais novo, adicione pandas, NumPy e backtrader com pip install, percorra o Backtrader Quickstart Guide e reimplemente o EA do MQL5 como uma estratégia em backtrader. Compare os resultados de backtest sobre os mesmos dados — discrepâncias acima de alguns por cento indicam uma suposição oculta enterrada em algum lugar.
  5. Só no quinto ou sexto mês você deve colocar o EA em uma conta demo do MetaTrader hospedada em um VPS na Vultr ou na Hetzner. Dê a ele três meses. Se o desempenho na demo bater com o backtest walk-forward, só então considere uma conta real com capital cuja perda não mexa no seu orçamento mensal — quinhentos a dois mil euros na primeira iteração, não mais.
Jarosław Wasiński
Sobre o autor

Jarosław Wasiński

Editor-chefe do MyBank.pl · Analista financeiro e de mercados

Analista e profissional independente com mais de 20 anos de experiência no setor financeiro. Fundador e editor-chefe do portal MyBank.pl, em atividade desde 2004. Análise fundamentalista dos mercados de câmbio e macroeconômicos desde 2007. Escreve a partir da perspectiva dos mercados globais, com atenção ao quadro regulatório europeu (ESMA) e brasileiro (CVM).

Fontes e bibliografia

  1. MetaQuotes MetaTrader 5 — Automated Trading · oficjalny opis automatycznego handlu w MetaTraderze, ścieżek pozyskania robota i miejsca strategy testera w warsztacie www.metatrader5.com ↗
  2. MetaQuotes MQL5 Reference — programming language for algorithmic trading · dokumentacja referencyjna języka MQL5 i pięciu typów aplikacji (EA, indykatory, skrypty, serwisy, biblioteki) www.mql5.com ↗
  3. Backtrader Backtrader Quickstart Guide · podręcznik startowy frameworka backtrader w Pythonie — strategie, indykatory, optymalizacja parametrów www.backtrader.com ↗
  4. BIS BIS Quarterly Review, December 2019 — FX trading rises to $6.6 trillion per day · omówienie elektronicznej egzekucji i roli niebankowych principal trading firms w obrocie walutowym — kontekst dla retail algo www.bis.org ↗

Perguntas frequentes

O que o trading algorítmico de varejo é de verdade — e o que ele definitivamente não é?

O trading algorítmico no varejo significa delegar a camada de execução ao computador: o trader define uma regra como uma condição inequívoca ("se a média móvel de 21 períodos cruzar a de 55 períodos para cima e o ATR das últimas vinte barras estiver subindo, abra uma posição comprada de 1 por cento do capital com um trailing stop de 1,5 ATR"), e o software reconhece essa condição e dispara a ordem sem hesitar, sem checar o Telegram e sem se abalar com a última operação perdedora. O que um algoritmo decididamente não é: um motor mágico de renda passiva em três dimensões ao mesmo tempo. Ele não cria uma vantagem que não existia — se o trader perde operando à mão, o robô perde mais rápido e a um custo menor. Não protege contra uma mudança de regime — se o histórico sobre o qual foi construído era de tendência e o mercado agora está em lateralização, a curva de equity derrete com a mesma eficiência que para um trader discricionário. E não corrige falhas lógicas da própria estratégia — apenas as codifica de forma mais consistente.

Como é a escada realista do clique manual até colocar um robô para rodar?

O primeiro degrau são os alertas de plataforma no TradingView ou no MT5, que disparam um som ou um e-mail quando a condição de entrada é atendida. O trader ainda clica na ordem, mas é forçado a traduzir a estratégia em regras inequívocas. O segundo degrau é um Expert Advisor simples em MQL5 para o MetaTrader, em geral um cruzamento de médias móveis ou um rompimento de consolidação com trailing stop. O terceiro degrau é um backtester em Python com pandas, NumPy e backtrader, que calcula curvas de equity e métricas de risco em uma fração de segundo. O quarto degrau, opcional, é uma conexão direta com a corretora por REST ou FIX, com Interactive Brokers ou OANDA, deixando o MetaTrader para trás. Um prazo realista vai de doze a vinte e quatro meses de trabalho à noite, não um curso de fim de semana no Udemy.

De quais habilidades eu realmente preciso — e como isso difere do mito do "aprenda a programar e fique rico"?

Três coisas importam, nesta ordem. Primeiro, o pensamento estatístico: entender a diferença entre taxa de acerto, profit factor e expectativa, e saber por que uma curva de equity de cinquenta operações não prova nada. Segundo, a paciência para o ciclo de validação: ideia, codificação, backtest, walk-forward, três a seis meses em conta demo e só então uma pequena quantia de capital real. Esse ciclo se estende por meses e a maioria dos traders desiste após duas ou três iterações. Terceiro, os fundamentos de programação: variáveis, laços, funções, estruturas de controle e alguma noção do que faz um pandas DataFrame. Você não precisa ser engenheiro de software — basta conseguir ler o código do EA de outra pessoa e mudar um parâmetro sem quebrar o resto. O mito do "aprenda Python e fique rico" pula a parte mais difícil e menos fotogênica: ter uma vantagem de mercado que valha a pena automatizar. Sem ela, o código é apenas um jeito mais rápido de queimar o depósito.

Por que a maioria dos projetos algo de varejo fracassa — e existe uma condição prévia que melhora as chances?

Os projetos algo não fracassam por bugs de código, ainda que haja muitos no começo. Fracassam porque não há vantagem a automatizar. O trader aprende Python, escreve um backtester, ajusta os parâmetros aos últimos cinco anos de dados e obtém uma curva de equity mais bonita do que qualquer coisa possível na vida real — o clássico curve fit. Ele vai ao vivo, perde dinheiro, conclui que precisa de "uma estratégia melhor" e repete o ciclo. A condição prévia que melhora drasticamente as chances é a existência de uma vantagem antes de escrever a primeira linha de código — uma regra simples o bastante para que, no trading discricionário ou na aritmética pura sobre dados históricos, entregue expectativa positiva em vários regimes de mercado, não apenas no mais recente. A segunda coisa que separa projetos duradouros de tentativas isoladas é a disposição de aceitar uma resposta que diz "sua estratégia não tem vantagem, volte à prancheta" — a maioria dos traders prefere superotimizar os parâmetros a ouvi-la. Um algoritmo não vai suavizar essa mensagem; só vai repeti-la mais depressa.

Aprofunde-se · o guia completo