O problema
Queria testar estratégias de day trade com regras objetivas, sem decidir no impulso, e ver o que cada uma faz de verdade. Para isso precisava de um robô que seguisse as regras à risca e de um painel para acompanhar sem mexer no código.
Como eu fiz
- Robô em Python conectado ao terminal MetaTrader 5 pela biblioteca oficial.
- Estratégias em módulos independentes, cada um com identificador, agenda e limite de risco próprios, gerenciados por um supervisor.
- Decisão só com candle fechado, para o backtest não olhar o futuro.
- Gestão de risco: perda e ganho máximos por dia, número máximo de operações, pausa depois de perdas e stop sempre enviado junto com a ordem.
- Três travas independentes antes de liberar conta real. O padrão é simulação.
- Backtest com custo e slippage, mais análise de sensibilidade com 27 variações para evitar sobreajuste.
- Painel web servido só em 127.0.0.1: dashboard com resultado, taxa de acerto, drawdown e curva; tela de configurações que valida o YAML, faz backup e grava de forma atômica.
- Testes automatizados com unittest cobrindo estratégias, configuração, supervisor e interface.
Telas
Telas com dados de conta demo.
O que aprendi
Backtest não é aprovação. Vários setups que pareciam bons no papel não tinham vantagem quando coloquei custo real. Aprendi a medir antes de confiar.