Artigos sobre como testar estratégias na linguagem MQL5

icon

Saiba como desenvolver, escrever e testar uma estratégia de negociação, como encontrar os parâmetros ideais do sistema e como analisar os resultados obtidos. A plataforma MetaTrader dispõe de inúmeras funcionalidades para que os desenvolvedores de robôs de negociação testem suas ideias de negociação com rapidez e precisão. Aprenda nestes artigos como testar robôs multimoedas e como usar os recursos da MQL5 Cloud Network para otimização.

É importante os desenvolvedores de sistemas de negociação automatizados começarem por aprender os princípios básicos de como testar e gerar algoritmos de ticks dentro do Testador de Estratégias.

Novo artigo
recentes | melhores
Arranquemos o lucro até o último pip
Arranquemos o lucro até o último pip

Arranquemos o lucro até o último pip

Este artigo tenta combinar teoria com prática no campo da negociação algorítmica. A maior parte da conversa sobre a criação de sistemas de negociação está associada ao uso de barras históricas de preços e vários indicadores. Este é um campo bem desgastado que não tocaremos. As barras são uma entidade completamente artificial, por isso, vamos dar algo mais próximo a protoinformações - ticks.
Estudo de técnicas de análise de velas (Parte II): Busca automática de novos padrões
Estudo de técnicas de análise de velas (Parte II): Busca automática de novos padrões

Estudo de técnicas de análise de velas (Parte II): Busca automática de novos padrões

No artigo anterior, nós analisamos 14 padrões selecionados de uma grande variedade de formações de velas existentes. É impossível analisar todos os padrões um por um, portanto, outra solução foi encontrada. O novo sistema busca e testa novos padrões de velas com base nos tipos de velas conhecidos.
Otimizando uma estratégia usando o gráfico do saldo e comparando os resultados com o critério "Balance + max Sharpe Ratio"
Otimizando uma estratégia usando o gráfico do saldo e comparando os resultados com o critério "Balance + max Sharpe Ratio"

Otimizando uma estratégia usando o gráfico do saldo e comparando os resultados com o critério "Balance + max Sharpe Ratio"

Neste artigo, nós ainda consideramos um outro critério personalizado de otimização de uma estratégia de negociação com base na análise do gráfico de saldo. A regressão linear é calculada usando a função da biblioteca ALGLIB.
preview
Aplicação prática de redes neurais no trading. Embarquemos na prática

Aplicação prática de redes neurais no trading. Embarquemos na prática

Este artigo apresenta uma descrição e instruções para o uso prático de módulos de redes neurais (MRN) na plataforma Matlab. Também aborda os principais aspectos para construção de um sistema de negociação usando o MRN. Para realizar uma apresentação concisa deste artigo, tive que modernizá-lo um pouco de forma a combinar várias funções da MRN num programa.
preview
Otimização Walk Forward Contínua (Parte 7): Vinculação da parte lógica do Otimizador Automático com a parte gráfica e o controle do mesmo no programa

Otimização Walk Forward Contínua (Parte 7): Vinculação da parte lógica do Otimizador Automático com a parte gráfica e o controle do mesmo no programa

Este artigo descreve a vinculação da parte gráfica do programa do otimizador automático com a sua parte lógica. Ele considera o processo de inicialização da otimização, pelo clique de um botão até o redirecionamento da tarefa ao gerenciador de otimização.
Guia prático do MQL5: Analisando propriedades de posição no testador de estratégias do MetaTrader 5
Guia prático do MQL5: Analisando propriedades de posição no testador de estratégias do MetaTrader 5

Guia prático do MQL5: Analisando propriedades de posição no testador de estratégias do MetaTrader 5

Apresentaremos uma versão modificada do Expert Advisor a partir fo artigo anterior "Guia prático do MQL5: Propriedades de posição no painel de informações personalizado". Alguns dos assuntos que abordaremos incluem a obtenção de dados das barras, verificação de eventos de uma nova barra no símbolo atual, inclusão de uma classe de negociação da Biblioteca padrão a um arquivo, criação de uma função para buscar por sinais de negociação e uma função para execução das operações de negócio, assim como determinar os eventos de negócio na função OnTrade().
Usando indicadores para otimização RealTime de EAs
Usando indicadores para otimização RealTime de EAs

Usando indicadores para otimização RealTime de EAs

Não é segredo que o sucesso de qualquer robô de negociação depende da seleção correta de parâmetros (otimização). Mas os parâmetros que são ótimos para um intervalo de tempo nem sempre são os melhores em outros períodos. Muitas vezes, os EAs que são lucrativos nos testes se revelam não lucrativos em tempo real. Nesse momento, surge a necessidade de estar otimizando continuamente, o que se torna uma rotina, porém, sempre há alguém que procura maneiras de automatizar o trabalho. Nesse artigo, proponho uma abordagem não padrão para resolver esse problema.
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados
Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados

Guia Prático do MQL5: Teste de estresse de uma estratégia de negociação utilizando os símbolos personalizados

O artigo considera uma abordagem para o teste de estresse de uma estratégia de negociação usando os símbolos personalizados. Uma classe de símbolo personalizada é criada para essa finalidade. Esta classe é utilizada para receber os dados de ticks de fontes de terceiros, bem como realizar alterações das propriedades do símbolo. Com base nos resultados do trabalho realizado, nós consideraremos várias opções para alterar as condições de negociação, sob as quais uma estratégia de negociação está sendo testada.
preview
Otimização Walk Forward Contínua (Parte 1): Trabalhando com os Relatórios de Otimização

Otimização Walk Forward Contínua (Parte 1): Trabalhando com os Relatórios de Otimização

O primeiro artigo é dedicado à criação de um kit de ferramentas para trabalhar com os relatórios de otimização, importá-los da plataforma e para filtrar e classificar os dados obtidos. A MetaTrader 5 permite baixar os resultados da otimização, no entanto, nosso objetivo é adicionar nossos próprios dados ao relatório de otimização.
preview
Símbolos personalizados: Fundamentos práticos

Símbolos personalizados: Fundamentos práticos

O artigo é dedicado à geração programática de símbolos personalizados que são usados para demonstrar alguns métodos populares de exibição de cotações. Ele descreve uma variante sugerida da adaptação minimamente invasiva de Expert Advisors para negociar um símbolo real a partir de um gráfico de símbolo personalizado e derivado. Os códigos-fonte em MQL estão anexados a este artigo.
Colorindo os resultados da otimização de estratégias de negociação
Colorindo os resultados da otimização de estratégias de negociação

Colorindo os resultados da otimização de estratégias de negociação

Neste artigo nós vamos realizar um experimento: nós vamos colorir os resultados da otimização. A cor é determinada por três parâmetros: os níveis de vermelho, verde e azul (RGB). Existem outros métodos de codificação de cores, que também usam três parâmetros. Assim, três parâmetros de teste podem ser convertidos em uma cor, que representa visualmente os valores. Leia este artigo para descobrir se essa representação pode ser útil.
Otimização separada de uma estratégia em condições de tendência e lateralizada
Otimização separada de uma estratégia em condições de tendência e lateralizada

Otimização separada de uma estratégia em condições de tendência e lateralizada

O artigo considera a aplicação do método de otimização separada durante várias condições de mercado. A otimização separada significa definir os parâmetros ideais do sistema de negociação, otimizando para uma tendência de alta e tendência de baixa separadamente. Para reduzir o efeito de sinais falsos e melhorar a lucratividade, os sistemas são flexíveis, o que significa que eles têm um conjunto específico de configurações ou dados de entrada, o que se justifica porque o comportamento do mercado está em constante alteração.
Encontrando erros e registrando
Encontrando erros e registrando

Encontrando erros e registrando

O MetaEditor 5 possui o recurso de depuração Mas, quando você escreve seus programas MQL5, geralmente você deseja exibir não apenas valores individuais, mas todas as mensagens que aparecem durante o trabalho online e teste. Quando o conteúdo do arquivo de registro tem um tamanho grande, é óbvio automatizar a recuperação rápida e fácil da mensagem requerida. Neste artigo consideraremos várias maneiras de encontrar erros em programas do MQL5 e métodos de registro. Além disso, simplificaremos o logging em arquivos e conheceremos um programa simples LogMon para visualizações confortáveis dos registros.
Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste
Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste

Dicas para o trader: indicadores de saldo, drawdown, carregamento e ticks durante o teste

Como tornar o teste mais claro? A resposta é simples: no testador, você precisa usar um ou mais indicadores, a saber: os indicadores de ticks, saldo e eqüidade, drawdown e carga de depósito. Isso permitirá monitorar visualmente quer a natureza dos ticks, quer as alterações de saldo e eqüidade, quer o drawdown e a carga de depósito.
Usando a função TesterWithdrawal() para Modelar as Retiradas de Lucro
Usando a função TesterWithdrawal() para Modelar as Retiradas de Lucro

Usando a função TesterWithdrawal() para Modelar as Retiradas de Lucro

Este artigo descreve a utilização da função TesterWithDrawal() para estimar riscos nos sistemas de negócio que implicam na remoção de uma determinada parte dos ativos durante sua operação. Além disso, ele descreve o efeito desta função no algoritmo de cálculo do rebaixamento de igualdade no Strategy tester. Esta função é útil quando otimizar parâmetros de seus Expert Advisors.
Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte II. Otimização e previsão
Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte II. Otimização e previsão

Uso Prático das Redes Neurais de Kohonen na Negociação Algorítmica. Parte II. Otimização e previsão

Com base nas ferramentas universais projetadas para trabalhar com as redes de Kohonen, nós construímos o sistema de análise e seleção dos parâmetros ótimos do EA e consideramos a previsão das séries temporais. Na Parte I, nós corrigimos e melhoramos as classes das redes neurais publicamente disponíveis, adicionando os algoritmos necessários. Agora é hora de colocá-los em prática.
Gerenciando otimizações (Parte 2): Cirando a lógica do aplicativo e objetos chave
Gerenciando otimizações (Parte 2): Cirando a lógica do aplicativo e objetos chave

Gerenciando otimizações (Parte 2): Cirando a lógica do aplicativo e objetos chave

Este artigo é uma continuação da publicação anterior sobre a criação de uma interface gráfica para gerenciar otimizações. Nele, abordaremos a lógica do robô para o complemento a ser criado. Criaremos um wrapper que permitirá iniciar o terminal MetaTrader 5 como um processo gerenciado através do C#. Também consideraremos o trabalho com arquivos de configuração. Dividiremos a lógica do programa em duas partes, a primeira descreverá os métodos chamados após pressionar uma tecla específica e a segunda, a parte da inicialização e do gerenciamento de otimizações.
Visualização dos resultados de otimização pelo critério selecionado
Visualização dos resultados de otimização pelo critério selecionado

Visualização dos resultados de otimização pelo critério selecionado

No artigo, continuamos a desenvolver o aplicativo MQL para trabalhar com resultados de otimização que foi iniciado em artigos anteriores. Desta vez, veremos um exemplo em que podemos gerar uma tabela de melhores resultados após a otimização de parâmetros, especificando através da interface gráfica outro critério.
Trabalhemos com os resultados da otimização através da interface gráfica do usuário
Trabalhemos com os resultados da otimização através da interface gráfica do usuário

Trabalhemos com os resultados da otimização através da interface gráfica do usuário

Continuamos a desenvolver o tópico sobre o processamento e análise de resultados de otimização. Desta vez, a tarefa é selecionar os 100 melhores resultados de otimização e exibi-los na tabela da GUI. Vamos fazer com que o usuário, selecionando uma série na tabela de resultados de otimização, receba um gráfico multissímbolo de saldo e rebaixamento, em gráficos separados.
Visualizando a otimização de uma estratégia de negociação na MetaTrader 5
Visualizando a otimização de uma estratégia de negociação na MetaTrader 5

Visualizando a otimização de uma estratégia de negociação na MetaTrader 5

O artigo implementa um aplicativo MQL com uma interface gráfica para a visualização estendida do processo de otimização. A interface gráfica utiliza a última versão da biblioteca EasyAndFast. Muitos usuários podem questionar-se sobre a necessidade de utilizar interfaces gráficas em aplicativos MQL. Este artigo demonstra um dos vários casos em que eles podem ser úteis para os traders.
Criação de Consultores Multiespecializados com base em Modelos de Comércio
Criação de Consultores Multiespecializados com base em Modelos de Comércio

Criação de Consultores Multiespecializados com base em Modelos de Comércio

Usar a abordagem orientada a objeto no MQL5 simplifica a criação de Expert Advisors de várias moedas/vários sistemas/vários períodos de tempo. Imagine seu único EA comercializar simultaneamente em várias dezenas de estratégias comerciais, em todos os instrumentos disponíveis, e em todos os possíveis prazos! Além disso, a EA é facilmente testada no dispositivo de teste e, para todas as estratégias, incluídas na sua composição, existe um ou vários sistemas de trabalho de gestão de dinheiro.
preview
Força bruta para encontrar padrões (Parte IV): funcionalidade mínima

Força bruta para encontrar padrões (Parte IV): funcionalidade mínima

Neste artigo, mostrarei uma versão aprimorada da abordagem de força bruta, com base nos objetivos definidos no artigo anterior, e tentarei cobrir este tópico da forma mais ampla possível usando os EAs e as configurações obtidas por meio desse método. Também deixarei que a comunidade experimente a nova versão do programa.
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas
Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

Modelando séries temporais usando símbolos personalizados de acordo com as leis de distribuição especificadas

O artigo fornece uma visão geral das capacidades do terminal para criar e trabalhar com símbolos personalizados, oferece opções para modelar um histórico de negociação usando símbolos personalizados, tendências e vários padrões gráficos.
preview
Combinatória e teoria da probabilidade para negociação (Parte I): fundamentos

Combinatória e teoria da probabilidade para negociação (Parte I): fundamentos

Nesta série de artigos, procuraremos uma aplicação prática da teoria da probabilidade para descrever o processo de negociação e precificação. No primeiro artigo, conheceremos os fundamentos da combinatória e da teoria da probabilidade, e analisaremos o primeiro exemplo de aplicação de fractais no âmbito desta última.
preview
Otimização Walk Forward Contínua (Parte 2): Mecanismo para a criação de um relatório de otimização para qualquer robô

Otimização Walk Forward Contínua (Parte 2): Mecanismo para a criação de um relatório de otimização para qualquer robô

O primeiro artigo da série Otimização Walk Forward descreveu a criação de uma DLL a ser usada em nosso otimizador automático. Essa continuação é inteiramente dedicada à linguagem MQL5.
Otimização Controlada: Recozimento Simulado
Otimização Controlada: Recozimento Simulado

Otimização Controlada: Recozimento Simulado

O Testador de Estratégia da plataforma de negociação MetaTrader 5 fornece apenas duas opções de otimização: otimização completa dos parâmetros e o algoritmo genético. Este artigo propõe um novo método para otimizar as estratégias de negociação — Recozimento Simulado (Simulated Annealing). Será introduzido o algoritmo do método, sua implementação e integração em qualquer Expert Advisor. O algoritmo desenvolvido é testado no EA Moving Average (Média Móvel).
preview
Técnicas úteis e exóticas para a negociação automatizada

Técnicas úteis e exóticas para a negociação automatizada

Neste artigo, eu demonstrarei algumas técnicas muito interessantes e úteis para a negociação automatizada. Algumas delas podem ser familiares para você. Eu tentarei cobrir os métodos mais interessantes e explicarei por que vale a pena usá-los. Além disso, eu mostrarei o que essas técnicas podem fazer na prática. Nós criaremos Expert Advisors e testaremos todas as técnicas descritas usando as cotações históricas.
preview
Otimização Walk Forward Contínua (Parte 3): Método de Adaptação de um Robô ao Otimizador Automático

Otimização Walk Forward Contínua (Parte 3): Método de Adaptação de um Robô ao Otimizador Automático

A terceira parte serve como uma ponte entre as duas partes anteriores: Ele descreve o mecanismo de interação com a DLL considerada no primeiro artigo e os objetos para download de relatórios, descritos no segundo artigo. Nós analisaremos o processo de criação de um wrapper para uma classe que é importada da DLL e que forma um arquivo XML com o histórico de negociação. Nós também consideraremos um método para interagir com este wrapper.
Guia prático do MQL5: Consultor Especialista multi-moeda - Abordagem simples, organizada e rápida"
Guia prático do MQL5: Consultor Especialista multi-moeda - Abordagem simples, organizada e rápida"

Guia prático do MQL5: Consultor Especialista multi-moeda - Abordagem simples, organizada e rápida"

Este artigo descreverá uma implementação de uma abordagem simples, adequada para um Consultor Especialista multi-moeda. Isso significa que você será capaz de montar o Consultor Especialista para testes/negócios sob condições idênticas, mas com parâmetros diferentes para cada símbolo. Como um exemplo, criaremos um padrão para dois símbolos, mas de forma a ser capaz de somar símbolos adicionais, se necessário, fazendo pequenas alterações ao código.
preview
Desenvolvendo um sistema de Replay — Simulação de mercado (Parte 01): Primeiros experimentos (I)

Desenvolvendo um sistema de Replay — Simulação de mercado (Parte 01): Primeiros experimentos (I)

Que tal criar um sistema para estudar o mercado quando ele está fechado, ou mesmo simular situações de mercado. Aqui vamos iniciar uma nova sequencia de artigos, a fim de tratar deste tema.
Rede em nuvem do MQL5: Você ainda está calculando?
Rede em nuvem do MQL5: Você ainda está calculando?

Rede em nuvem do MQL5: Você ainda está calculando?

Logo fará um ano e meio desde que a Rede em nuvem do MQL5 foi inaugurada. Esse evento inovador nos conduziu para uma era de negócios algorítmicos - agora com poucos cliques, negociadores podem ter centenas e milhares de núcleos de computação a sua disposição para a otimização de suas estratégias de negócios.
LifeHack para traders: um back-test bem, e quatro melhor
LifeHack para traders: um back-test bem, e quatro melhor

LifeHack para traders: um back-test bem, e quatro melhor

Antes do primeiro teste único, na mente de cada trader surge a mesma pergunta: "Qual dos quatro modos devo usar?" Cada um dos modos oferecidos tem suas vantagens e características, por isso tornamos o trabalho mais fácil, que dizer, executamos todos os modos usando apenas um botão! Este artigo mostra como ver simultaneamente todos os quatro gráficos de teste com ajuda da Win API e um magic pequeno.
Avaliação de sistemas de negócio - A efetividade de entrada, saída e negócios em geral
Avaliação de sistemas de negócio - A efetividade de entrada, saída e negócios em geral

Avaliação de sistemas de negócio - A efetividade de entrada, saída e negócios em geral

Existem várias medidas que permitem determinar a eficácia e rentabilidade de um sistema de negócio. No entanto, os negociantes estão sempre prontos para colocar qualquer sistema em um novo teste de impacto. O artigo diz como as estatísticas baseadas em medidas de efetividade podem ser usadas para a plataforma MetaTrader 5. Ele inclui a classe para transformação da interpretação das estatísticas através de negócios para aquele que não contradiz a descrição dada no livro "Statistika dlya traderov" ("Statistics for Traders") por S.V. Bulashev. Ele também inclui um exemplo de uma função de personalização para otimização.
LifeHack para traders: otimização "silenciosa" ou traço da distribuição de negociações
LifeHack para traders: otimização "silenciosa" ou traço da distribuição de negociações

LifeHack para traders: otimização "silenciosa" ou traço da distribuição de negociações

Análise do histórico de negociação e construção de gráficos HTML de distribuição de resultados de negociação, dependendo do momento da entrada no mercado. Os gráficos são exibidos em três seções, isto é: por horas, dias, semanas e meses.
preview
Otimização Walk Forward contínua (parte 6): Lógica e estrutura do otimizador automático

Otimização Walk Forward contínua (parte 6): Lógica e estrutura do otimizador automático

Anteriormente, nós consideramos a criação da otimização walk forward automática. Desta vez, nós prosseguiremos para a estrutura interna da ferramenta de otimização automática. O artigo será útil para todos aqueles que desejam continuar trabalhando com o projeto criado e modificá-lo, bem como para aqueles que desejam entender a lógica do programa. O artigo atual contém diagramas UML que apresentam a estrutura interna do projeto e os relacionamentos entre seus objetos. Ele também descreve o processo de início da otimização, mas não contém a descrição do processo de implementação do otimizador.
Guia prático do MQL5: Desenvolvendo um Consultor Especialista multi-moeda com um número ilimitado de parâmetros
Guia prático do MQL5: Desenvolvendo um Consultor Especialista multi-moeda com um número ilimitado de parâmetros

Guia prático do MQL5: Desenvolvendo um Consultor Especialista multi-moeda com um número ilimitado de parâmetros

Neste artigo, criaremos um padrão que utiliza um único conjunto de parâmetros para otimização do sistema de negociação, enquanto permite um número ilimitado de parâmetros. A lista de símbolos será criada no arquivo de texto padrão (*.txt). Os parâmetros de entrada para cada símbolo também serão armazenados nos arquivos. Desta forma poderemos ser capazes de contornar a restrição do terminal sobre o número de parâmetros de entrada de um Expert Advisor.
Guia prático do MQL5: Desenvolvendo uma estrutura para um sistema de negócios baseado na estratégia de tela tripla
Guia prático do MQL5: Desenvolvendo uma estrutura para um sistema de negócios baseado na estratégia de tela tripla

Guia prático do MQL5: Desenvolvendo uma estrutura para um sistema de negócios baseado na estratégia de tela tripla

Nesse artigo, desenvolveremos uma estrutura para um sistema de negócios baseado na estratégia de tela tripla no MQL5. O Consultor Especialista não será desenvolvido do zero. Ao invés disso, simplesmente modificaremos o programa do artigo anterior "Guia prático do MQL5: Usando indicadores para definir condições de negócios em Consultores Especialistas" que já servem substancialmente ao nosso propósito. Então o artigo também demonstrará como você pode modificar facilmente padrões de programas já prontos.
preview
Otimização Walk Forward Contínua (parte 5): Panorama do Projeto Otimizador Automático e Criação da Interface Gráfica

Otimização Walk Forward Contínua (parte 5): Panorama do Projeto Otimizador Automático e Criação da Interface Gráfica

Este artigo fornece uma descrição mais detalhada da otimização walk-forward na plataforma MetaTrader 5. Nos artigos anteriores, nós consideramos os métodos para gerar e filtrar o relatório de otimização e começar a analisar a estrutura interna do aplicativo responsável pelo processo de otimização. O Otimizador Automático é implementado como uma aplicação em C# e possui sua própria interface gráfica. O quinto artigo é dedicado à criação dessa interface gráfica.
preview
Abordagem de força bruta para encontrar padrões

Abordagem de força bruta para encontrar padrões

Neste artigo, procuraremos padrões no mercado, criaremos Expert Advisors com base neles e verificaremos quanto tempo esses padrões permanecem funcionais.
preview
Força bruta para encontrar padrões (Parte III): novos horizontes

Força bruta para encontrar padrões (Parte III): novos horizontes

Este artigo dá continuidade ao tópico sobre força bruta, trazendo novos recursos de análise de mercado para o algoritmo do meu programa e acelerando, assim, a velocidade da análise e a qualidade dos resultados finais, o que fornece a visão da mais alta qualidade de padrões globais dentro da estrutura desta abordagem.