O dia em que o Python e o MT5 real divergiram 92-98%
Sumário
- Especificação da estratégia — Rompimento da faixa asiática na sessão de Nova York
- Resultado do Walk-Forward em Python — números impressionantes
- Porém — backtest real de 14 anos no MT5 (USDJPY_NY_BREAKOUT_EA.mq5 v2.0)
- Por que uma divergência tão grande — 5 hipóteses
- 1. Spread e slippage não considerados
- 2. Qualidade dos dados
- 3. Divergência no modelo de execução
- 4. Fragilidade real do TP em dois estágios com ATR
- 5. Impacto negativo do meio-composto CASCADE na conta real
- Lições em nível de mercado
- 1. Backtest/Walk-Forward em Python **não servem de referência para a conta real do MT5**
- 2. Mesmo "hipóteses com racionalidade econômica" exigem validação em conta real
- 3. Reforço da base da regra do CLAUDE.md sobre validação em conta real absolutamente obrigatória
- Decisão do FXEA365
- Recomendação ao mercado — para usuários de backtest em Python
- Links relacionados
O dia em que o Python e o MT5 real divergiram 92-98%
Aqui é o responsável pelo FXEA365.
Neste artigo, exponho integralmente o processo pelo qual, em 2026-05-29, ao comparar a estratégia NY Session Breakout entre o Walk-Forward em Python e o backtest real de 14 anos no MT5, constatei uma divergência de PF de 92-98%.
Este é um dado importante que reprova, em nível de mercado, que "números impressionantes em backtest Python não garantem que a estratégia funcione na conta real do MT5".
Especificação da estratégia — Rompimento da faixa asiática na sessão de Nova York
| Item | Configuração |
|---|---|
| Timeframe | H1 |
| Faixa asiática | 0-4h UTC (formação da faixa no horário asiático) |
| Horário de operação | 15-20h UTC (durante a sessão de Nova York) |
| Entrada | Rompimento da máxima/mínima do horário asiático |
| Saída | SL = ATR × 0.5 / TP1 = ATR × 0.5 (fechamento de 50%) / TP2 = ATR × 7.0 |
| Lote | Risco de 2% (meio-composto CASCADE) |
Uma estratégia com fundamento teórico de vantagem:
- A sessão de Nova York (15-20h UTC) é o horário de maior atividade institucional, com concentração de liquidez
- A faixa asiática é uma referência natural, e seu rompimento para cima ou para baixo é um sinal direcional forte
- A saída em dois estágios (TP1=ATR×0.5/TP2=ATR×7) protege contra rompimentos falsos e captura tendências
Resultado do Walk-Forward em Python — números impressionantes
Entre 2026-05-27 e 28, executei o Walk-Forward (Train 60% / Test 40%) de 9 pares com scripts/gen_h1_ny_walkforward.py:
| Par | PF treino | PF teste | DD teste | WR teste | Consistência | Taxa de sobrevivência OOS |
|---|---|---|---|---|---|---|
| EURUSD | 7.42 | 9.03 | 5.47% | 79.6% | 0.82 | 500/500 |
| GBPUSD | 11.78 | 13.00 | 31.85% | 84.2% | 0.91 | 500/500 |
| XAUUSD | 7.76 | 11.96 | 13.18% | 80.9% | 0.65 | (validação anterior) |
| EURJPY | 9.41 | 7.93 | 7.46% | 79.2% | 0.84 | 500/500 |
| GBPJPY | 9.74 | 8.24 | 12.30% | 79.3% | 0.85 | 500/500 |
| USDJPY | 6.12 | 11.62 | 36.24% | 80.7% | 0.53 | (validação anterior) |
| CADJPY | 7.59 | 5.76 | 32.81% | 75.9% | 0.76 | 499/500 |
| AUDJPY | 8.49 | 6.32 | 27.33% | 74.4% | 0.74 | 351/500 |
| NZDJPY | 9.22 | 6.51 | 15.05% | 70.6% | 0.71 | 500/500 |
Nos 9 pares, PF≥5 × taxa de acerto≥70% × taxa de sobrevivência OOS de 500/500.
Pela prática comum do mercado, esse seria o tipo de resultado que se publicaria no site com frases como "descoberta de uma vantagem genérica dos sonhos!" ou "expansão do lineup para todos os pares no roadmap!".
Porém — backtest real de 14 anos no MT5 (USDJPY_NY_BREAKOUT_EA.mq5 v2.0)
Seguindo a regra do CLAUDE.md de que a validação em conta real é absolutamente obrigatória, revalidei os 4 pares mais fortes no Walk-Forward em Python com backtest real de 14 anos no MT5:
| Par | Walk-Forward Python (teste) | Backtest real 14 anos MT5 | Taxa de divergência | Resultado da conta |
|---|---|---|---|---|
| USDJPY | PF 11.62 / DD 36% | PF 0.77 / DD 99.72% | −93% | -$9,966 (quase perda total) |
| EURUSD | PF 9.03 / DD 5.47% | PF 0.73 / DD 99.84% | −92% | -$9,984 (quase perda total) |
| GBPUSD | PF 13.00 / DD 31.85% | PF 0.21 / DD 101.12% | −98% | -$10,112 (conta quebrada) |
| EURJPY | PF 7.93 / DD 7.46% | PF 0.49 / DD 100.01% | −94% | -$10,001 (conta quebrada) |
Os 4 pares fracassaram, com divergência de PF de 92-98% em relação ao Walk-Forward em Python.
Por que uma divergência tão grande — 5 hipóteses
1. Spread e slippage não considerados
O backtest em Python é calculado com base em fechamento a fechamento. Na conta real, cada execução é degradada por spread (0.5-2 pips) + slippage. A perda acumulada de 1-3 pips por operação se soma ao longo do tempo.
2. Qualidade dos dados
O Python usa dados agregados de M5 para H1 da Dukascopy. A conta real do MT5 usa dados de tick da corretora (movimento de preço muito mais detalhado). Mesmo com o mesmo "candle de H1", a movimentação interna do preço é diferente.
3. Divergência no modelo de execução
O Python assume execução ideal (sempre executa no preço desejado). Na conta real do MT5, há restrições de volume/spread que fazem o preço de execução real divergir do preço desejado. Isso é especialmente evidente em horários de alta volatilidade (como logo após a abertura de Nova York).
4. Fragilidade real do TP em dois estágios com ATR
O design é teoricamente elegante, mas o TP2=ATR×7 raramente é atingido na conta real.
- Backtest em Python: calcula o SL/TP ideal "a posteriori", com base em dados passados
- Conta real: o SL=ATR×0.5 é acionado com frequência, e a tendência não se sustenta até o TP2=ATR×7, resultando em stop-losses sucessivos
5. Impacto negativo do meio-composto CASCADE na conta real
O design que ajusta o lote dinamicamente conforme o saldo acelera o prejuízo em fases de perda:
- Saldo $10K → Risco 2% → Lote 0.2
- Após sequência de perdas, saldo $8K → Risco 2% → Lote 0.16 (redução pequena)
- Após mais perdas, saldo $5K → Risco 2% → Lote 0.10 (a contenção de perdas não é eficaz)
A "mágica dos juros compostos" teórica atua de forma inversa na conta real.
Lições em nível de mercado
1. Backtest/Walk-Forward em Python não servem de referência para a conta real do MT5
- Mesmo "PF≥5 × WR≥70% × taxa de sobrevivência OOS de 500/500" é inútil na conta real
- O julgamento de "robusto" e "resistente a OOS" do Walk-Forward avalia a robustez dentro dos dados do Python, não é um substituto para a conta real
2. Mesmo "hipóteses com racionalidade econômica" exigem validação em conta real
- "Atividade institucional no horário de Nova York" e "rompimento da faixa asiática como sinal direcional" são teoricamente corretos
- Porém, o fracasso total em 14 anos de MT5 real mostra uma grande divergência entre teoria e prática
3. Reforço da base da regra do CLAUDE.md sobre validação em conta real absolutamente obrigatória
- 25 EAs + 4 estratégias NY Session = um total de 29 validações confirma definitivamente que o backtest em Python não é confiável
- Este é um dado que sustenta, em nível de mercado, o eixo de marca do FXEA365 ("não números impressionantes, mas comprovação real")
Decisão do FXEA365
Como as 9 estratégias NY Session fracassaram totalmente na validação em conta real do MT5, a publicação no site está descartada.
Mantemos o lineup atual: apenas os 4 pilares principais EURJPY ASIA / GBPJPY ASIA / BLAZE GOLD / AUDCAD PEACE-CLONE.
O retorno anual total de +35.5% (Risco 5%) está longe de ser impressionante, mas é um número real e confirmado em 14 anos de backtest em conta real.
Recomendação ao mercado — para usuários de backtest em Python
Não estou desqualificando o backtest em Python. Porém, recomendo o seguinte uso:
| Uso correto do backtest em Python | Recomendação |
|---|---|
| Validação inicial de ideias de estratégia (essa direção tem potencial?) | ✅ Recomendado |
| Triagem de faixas de parâmetros (onde vale a pena validar com precisão) | ✅ Recomendado |
| Verificação de robustez via Walk-Forward (checagem de overfitting com separação Train/Test) | ✅ Recomendado |
| Base para números publicados no site | ❌ Proibido (diverge da conta real) |
| Usar "taxa de sobrevivência OOS" como argumento de venda | ❌ Proibido (não substitui a conta real) |
| Decisão de publicação de EA | ❌ Proibido (validação em conta real do MT5 é obrigatória) |
Os números do backtest em Python devem ser tratados apenas como "indicador de triagem inicial". A publicação oficial exige validação em conta real do MT5.
Links relacionados
- EAs principais (validados em conta real):
- ★1 EURJPY ASIA BREAKOUT (PF=1.18 em 14 anos de conta real)
- ★2 GBPJPY ASIA BREAKOUT (PF=1.38 em 14 anos de conta real)
- ★3 BLAZE GOLD v2.30 (PF=1.61 em 7 anos de conta real)
- ★4 AUDCAD PEACE-CLONE (PF=1.36 em 10 anos de conta real)
- Blogs relacionados:
FXEA365 — Disponibilizamos gratuitamente apenas estratégias comprovadas de verdade em 14 anos de backtest real no MT5, não números impressionantes anunciados.
📧 Avisos antes de aumentos de preço + curso gratuito de 5 dias por e-mail
Todos os EAs estão em preço de lançamento e sobem em degraus conforme as vendas. Receba aviso antes de cada aumento, além de um e-mail diário sobre trading algorítmico, leitura de backtests e escolha de corretora.
* Privacidade rigorosamente protegida. Você pode cancelar a inscrição a qualquer momento.