Programar um gerenciamento de capital progressivo em MQL5 não é só colar um script pronto. O trader que chega ao MetaEditor já tem a conta rodando, mas sente que o risco está “travado” em um valor fixo, enquanto o patrimônio oscila. O objetivo, então, é fazer o algoritmo adaptar o tamanho da posição ao lucro acumulado, aumentando a exposição quando a sequência é favorável e recuando quando a maré vira.
Estrutura básica do algoritmo
- Variável de capital: use
AccountBalance()como base e atualize a cada tick. - Fator de progressão: defina um percentual (ex.: 2 %) que será multiplicado pelo lucro líquido para determinar o próximo lote.
- Limite de risco: imponha um teto máximo de % do capital para evitar “explosões” em séries de perdas.
Como codificar a progressão
Um trecho funcional costuma seguir este fluxo:
| Linha | Descrição |
|---|---|
| 1 | double capital = AccountBalance(); |
| 2 | double lucro = AccountProfit(); |
| 3 | double fator = 0.02; // 2 % |
| 4 | double lote = NormalizeDouble((capital + lucro) * fator / 10000, 2); |
| 5 | lote = MathMin(lote, capital * 0.1 / 10000); // 10 % máximo |
Gestão de risco em cenários adversos
Mesmo com um limite, o algoritmo pode falhar em mercados de alta volatilidade. Se o spread abrir inesperadamente, o cálculo do lote pode gerar ordens que não são aceitas, provocando “rejection”. Uma solução prática: inserir um if (Spread() > maxSpread) antes da submissão.
Exemplo real de aplicação
Um trader de EUR/USD utilizou o script acima em uma conta demo de 5 k. Nos primeiros 10 dias, o capital subiu para 5 k + 300, e o lote passou de 0,01 para 0,03. Quando uma sequência de três perdas chegou, o lote recuou automaticamente para 0,01, preservando o drawdown abaixo de 2 %. O ponto crítico foi a parametrização do fator de progressão: valores acima de 5 % provocaram overshoot e fecharam a conta em menos de duas semanas.
Limitações e armadilhas
- Dependência de
AccountProfit()– em contas com posições múltiplas, o lucro pode ser “engano” se houver posições latentes. - Lag de atualização – o script roda em
OnTick(), mas se o feed estiver lento, o cálculo pode usar dados desatualizados. - Regulamentação – alguns brokers não permitem variações de lote acima de um certo percentual por operação.
FAQ rápido
- Posso usar outro indicador para definir o fator? Sim, muitos combinam o ATR para ajustar o % ao risco de volatilidade.
- E se o capital cair abaixo do lote mínimo? Defina um
if (lote < minLot) lote = minLot;para evitar rejeição. - É seguro em contas reais? Só após testes intensivos em demo; a progressão amplifica erros de modelagem.
Para quem já tem o código base, a próxima etapa é integrar um módulo de monitoramento de drawdown que interrompa a progressão ao atingir um limite pré‑definido. Essa camada extra costuma ser a diferença entre “ganho gradual” e “colapso súbito”.
Primeiros passos após a compra
1. Salve o arquivo .mq5 no diretório MetaTrader5\MQL5\Experts.
2. Reinicie a plataforma para que o compilador reconheça o novo Expert Advisor (EA).
3. Abra o “Testador de Estratégia”, selecione o EA e carregue o histórico do ativo que deseja operar.
Configuração inicial – parâmetros críticos
O EA de gerenciamento de capital progressivo traz três knobs principais:
- LotSizeBase: tamanho da primeira posição (ex.: 0,01).
- RiskPercent: % do capital livre que pode ser arriscado por trade (ex.: 2%).
- Multiplier: fator de crescimento do lote a cada vitória (ex.: 1,5).
Defina esses valores antes de iniciar o back‑test. Valores muito agressivos (ex.: Multiplier > 2) geram alta volatilidade e risco de ruína.
Checklist operacional – antes de colocar em produção
| Item | Condição | Status |
|---|---|---|
| Compilação sem erros | MetaEditor → Compile | ✔ |
| Teste de 10.000 ticks | Resultado: Profit Factor > 1,5 | ⏳ |
| Drawdown máximo ≤ 15% | Verificado no relatório | ⏳ |
| Slippage configurado (≤ 2 pips) | Parâmetro “MaxSlippage” | ✔ |
| Alertas de margem ativados | Notificações no “Terminal” | ✔ |
Rotina recomendada – workflow semanal
Use o modelo abaixo para transformar a execução em hábito produtivo:
- Segunda‑feira: revisar o relatório de performance da semana anterior; ajustar
RiskPercentse o drawdown ultrapassar 12%. - Quarta‑feira: rodar um teste rápido de 5000 ticks em um ativo correlato para validar a robustez do algoritmo.
- Sexta‑feira: fechar posições abertas, registrar o saldo final e atualizar a planilha de capital (campo “Equity”).
Erros comuns e como evitá‑los
- Ignorar o “Equity Stop”. Sempre habilite
EquityStopLevel(ex.: 30% do capital) para impedir perdas catastróficas. - Multiplicador fixo sem adaptação. Use a fórmula
Lot = LotSizeBase * pow(Multiplier, WinsConsecutive)e reinicie o contador após cada perda. - Over‑optimização. Não ajuste parâmetros apenas para melhorar o resultado de um único back‑test; valide em pelo menos três períodos de tempo diferentes.
Mini‑dashboard de progresso (texto)
Atualize diariamente e copie‑cole no seu bloco de notas:
Capital inicial: 10.000 Equity atual : 12.350 Drawdown max : 8.2% Trades vencedores: 27 Trades perdedores: 13 Lot atual : 0,018
⚠️ Dica rápida: se o “Drawdown max” ultrapassar 12% em dois ciclos consecutivos, reduza o
RiskPercentem 0,5 ponto percentual.
Para download da versão completa e documentação oficial, acesse a página do desenvolvedor.
Perfil ideal e limitações do curso “Como programar gerenciamento de capital progressivo em MQL5”
Se você já domina o básico de MQL5 e encara o mercado como um laboratório, este material pode ser a engrenagem que falta ao seu setup. Se, ao contrário, ainda está buscando entender o que é “pip” ou “lot”, a curva de aprendizado será brutal.
Quem realmente deve investir
- Traders quantitativos com conta mínima de 10 k USD, que já operam estratégias automatizadas e precisam de um ajuste fino de alocação de risco.
- Desenvolvedores de EA que buscam migrar de modelos fixos para abordagens dinâmicas, e que tenham familiaridade com arrays e estruturas de controle em MQL5.
- Gestores de fundos ou “prop traders” que precisam justificar cada aumento de margem com métricas objetivas.
Perfis que provavelmente não terão bom aproveitamento
- Iniciantes absolutos em programação; o curso parte de funções avançadas sem tutorial de base.
- Investidores avessos ao risco que preferem “buy‑and‑hold” e jamais mexem em alavancagem.
- Quem procura “a fórmula mágica” para dobrar capital em semanas; a lógica progressiva depende de consistência e de back‑testing robusto.
Limitações práticas
O método assume:
- Execução em servidores VPS com latência < 30 ms; caso contrário, slippage pode destruir a progressão.
- Mercados líquidos (Forex majors, futuros CME). Em ativos de thin volume, o ajuste de lote gera fills incompletos.
- Capitais que permitam aumento de lote em fatores de 1,5 × ou 2 ×; contas sob regulamentos de margem estrita (CFDs de certos brokers) podem acionar chamadas de margem prematuramente.
FAQ contextual
| Pergunta | Resposta |
|---|---|
| Posso usar o script em conta demo? | Sim, mas resultados de demo não refletem custos de swap e slippage reais. |
| É compatível com MetaTrader 5 Mobile? | Não. O código usa funções de eventos que só rodam em desktop/serviço. |
| Existe suporte técnico? | O autor oferece um fórum fechado; não há garantia de resposta imediata. |
Checklist final antes da compra
- Possuo conta ≥ 10 k USD ou equivalente em margem.
- Já programeei ao menos um Expert Advisor funcional.
- Tenho acesso a VPS ou conexão de baixa latência.
- Entendo que o ganho será proporcional ao risco assumido.
Parecer editorial
Em termos de conteúdo técnico, o curso entrega mais do que a maioria dos tutoriais gratuitos. Ele não é um “caminho fácil”, mas oferece um arsenal válido para quem deseja transformar gestão de capital em algoritmo. A expectativa realista: aumento de 10‑20 % no Sharpe ratio após 3‑6 meses de ajuste cuidadoso, **não** retorno explosivo imediato.
Para quem se enquadra nos critérios acima, o investimento vale o risco assumido. Para os demais, o dinheiro seria melhor alocado em cursos de fundamentos de MQL5.



