Discussão do artigo "Guia passo a passo para iniciantes para escrever um Expert Advisor no MQL5" - página 31
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Primeiro, gostaria de dizer que li este artigo e copiei o código porque queria aprender a codificar MQL5. Em segundo lugar, acho que aprendi muito e já escrevi 7 EAs e alguns indicadores. Portanto, sinto que estou no caminho certo para aprender a ponto de poder codificar minhas próprias ideias.
Além disso. Fiquei muito curioso com o testador de estratégias. Primeiro, achei que ele era básico demais e que nunca funcionaria. Isso não é verdade. Ele pode funcionar. No entanto. Para mim, só funcionou para pessoas com muita paciência. Então, eu o testei no USDCAD, no período diário, e otimizei o take profit, o stop loss e o período ADX. A história curta é. Basta colocar o ADX no meio. Acima de 29 e abaixo de 60. Você ficará bem. Obter lucro. O mais alto possível. Entre 300 e 500. Stop loss. Com certeza muito menos. Um número recorrente era 155 ou 30. Depois vem o grande problema. Eu o testei de 2019 até o início de 2025. Ele deu de 75 negociações até cerca de 45 para as configurações ADX mais altas. Dei uma olhada no gráfico de 5 desses testes. Ele fica em torno de 0 até 2024. Depois, todo o ganho ocorre no último ano. O fator de lucro que analisei foi de 1,77 a 2,61. Muitos problemas por toda parte. Todas as posições vendidas foram perdas. 86% das posições compradas foram lucrativas. Muitas negociações tiveram longa duração. Em geral, muito mais de 10 dias. Acho que vi 3440 horas como o maior tempo de permanência. A média foi de 846 horas. Eu achava que o retorno também poderia ser muito alto, mas quem quer se limitar a menos de 20 negociações depois de 6 anos?
Passei dias analisando todas as 33.000 combinações. Agora vou testar mais e reduzir bastante as tarefas. Não preciso de valores ADX acima de 55. O stop loss em 30 é muito baixo, mesmo que eu tenha visto muita lucratividade com ele também. Um último ponto. Li que é possível conectar vários PCs/laptops em uma LAN para aumentar a velocidade. Eu recomendo isso.
Concordo que a validação deve ir além da seleção do melhor resultado de otimização. Outra preocupação que tenho é que o próprio procedimento de validação possa sofrer um excesso de ajuste.
Por exemplo, se alterarmos repetidamente a janela de walk-forward, as premissas do método de Monte Carlo, o intervalo de perturbação dos parâmetros ou as premissas sobre custos de negociação após analisar os resultados, podemos acabar otimizando o próprio processo de validação.
Acho que uma abordagem mais sólida é definir o protocolo de validação antes de analisar os resultados finais fora do conjunto de dados (OOS) e, em seguida, manter um período final totalmente intacto, a ser usado apenas uma vez.
Para EAs adaptativos, também me pergunto se os parâmetros de detecção de regime deveriam ser validados separadamente dos parâmetros de negociação. Alguém já testou essa abordagem?
Esse é um resumo bem detalhado da sua experiência inicial com o Strategy Tester.
Se me permite fazer algumas sugestões:
O Passo 1 deveria, na verdade, ser verificar a qualidade dos dados de tick da sua corretora. Existe um script muito bom que automatiza esse processo em:
Code Base
Auditoria de Ticks – verifique o histórico real de ticks e a qualidade do backtest mês a mês
Ayaz, 05/09/2026 06:13
Informa, mês a mês, se o seu símbolo realmente possui ticks ou apenas barras — para que você saiba qual parte do seu backtest foi executada com base em ticks gerados antes de confiar na curva. O Strategy Tester fornece um único valor de Qualidade do Histórico após o término do teste e nunca indica quais meses apresentaram problemas. Este script faz essa verificação primeiro.A etapa nº 2 deve ser o teste na opção “Cada tick com base em ticks reais” dos dados históricos da sua corretora específica (caso você ainda não esteja fazendo isso). Dependendo das especificações do seu computador, talvez seja necessário fazer isso em partes — especialmente em máquinas mais antigas.
A Etapa 3 deve ser a avaliação do Relatório do Testador que você já iniciou. Preste muita atenção à contagem média de perdas consecutivas e à contagem máxima de perdas consecutivas. Talvez seja recomendável reduzir o tamanho da sua posição depois que a contagem de perdas consecutivas em tempo real exceder a contagem média de perdas consecutivas (uma explicação completa está publicada no meu mural do Perfil). Preste atenção também aos períodos (horas, dias e meses) em que seu EA é lucrativo. Os horários de entrada nas negociações não são suportados nativamente, por isso criei um utilitário que gera um relatório auxiliar (https://www.mql5.com/en/blogs/post/774010). Talvez seja interessante implementar um filtro de horário de negociação (https://www.mql5.com/en/blogs/post/770147).
Como observação adicional, há muitos traders posicionais (de longo prazo) lucrativos. Se suas metas pessoais estiverem alinhadas com esse estilo de negociação, eu não me preocuparia muito com a frequência das negociações. Na minha opinião, é muito mais fácil criar uma estratégia LFT lucrativa do que uma estratégia HFT ou mesmo uma estratégia MFT.