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

 

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

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.

Esta parte é dedicada à 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. Para fornecer uma melhor estrutura de apresentação, nós usaremos o formato de arquivo *xml. Os dados do arquivo podem ser lidos por humanos e programas. Além disso, os dados podem ser agrupados em blocos dentro do arquivo e, assim, as informações necessárias podem ser acessadas de maneira mais rápida e fácil.

Nosso programa é um processo de terceiros escrito em C#, ele precisa criar e ler os documentos *xml criados de maneira semelhante aos programas em MQL5. Portanto, o bloco de criação do relatório será implementado como uma DLL que pode ser usada no código MQL5 e C#. Portanto, para desenvolver um código em MQL5, nós precisaremos de uma biblioteca. Primeiro, nós descreveremos o processo de criação da biblioteca, enquanto o próximo artigo fornecerá uma descrição do código em MQL5 que trabalha com a biblioteca criada e gera os parâmetros de otimização. Vamos considerar esses parâmetros no artigo atual.

Estrutura do Relatório e as Métricas Necessárias

Como já mostrado nos artigos anteriores, a MetaTrader 5 pode fazer o download independente do relatório dos passes da otimização, no entanto, ele não fornece tanta informação quanto ao relatório gerado na guia Backtest após a conclusão de um teste com um conjunto específico de parâmetros. Para ter maior escopo no trabalho com os dados de otimização, o relatório deve incluir muitos dos dados exibidos nessa guia, além de permitir a possibilidade de adicionar mais dados personalizados ao relatório. Para esses fins, nós faremos o download de nossos próprios relatórios gerados, em vez daquele padrão. Vamos começar com a definição dos três tipos de dados necessários para o nosso programa:

  • Configurações do testador (as mesmas configurações para todo o relatório)
  • Configurações do robô de negociação (única para cada passe da otimização)
  • Coeficientes que descrevem os resultados da negociação (únicos para cada passe da otimização)

Autor: Andrey Azatskiy

 

Em algum lugar, na descrição do Metatrader-4, vi uma frase que significava que o MQL4 foi criado especificamente para que qualquer dona de casa pudesse descrever sua estratégia e executá-la no terminal. Nem todo mundo aqui é engenheiro de software.

Talvez o MQ algum dia venha a automatizar o processo de otimização diretamente no testador, mas, por enquanto, os entusiastas precisam construir métodos usando ferramentas de terceiros a partir da MQL. Obrigado, Andrey Azatskiy, por seus esforços. Espero que, no final da série de artigos, haja uma breve instrução sobre o uso de seu software para aqueles que não conseguem entender rapidamente o que foi escrito no artigo.

 
Good Beer:

Em algum lugar, na descrição do Metatrader-4, vi uma frase que significava que o MQL4 foi criado especificamente para que qualquer dona de casa pudesse descrever sua estratégia e executá-la no terminal. Nem todo mundo aqui é engenheiro de software.

Talvez o MQ algum dia venha a automatizar o processo de otimização diretamente no testador, mas, por enquanto, os entusiastas precisam construir métodos usando ferramentas de terceiros a partir da MQL. Obrigado, Andrey Azatskiy, por seus esforços. Espero que, no final da série de artigos, haja uma breve instrução sobre o uso de seu software para aqueles que não conseguem entender rapidamente o que foi escrito no artigo.

Havia um artigo sobre otimização progressiva passo a passo usando MQL, sem ferramentas de terceiros, em uma única instância do terminal:

Artigos

Otimização passo a passo no MetaTrader 5 - com suas próprias mãos

Stanislav Korotky, 2017.06.08 15:03

O artigo discute abordagens que permitem emular a otimização walk-forward com bastante precisão usando o testador embutido e as bibliotecas auxiliares implementadas no MQL.

 
Good Beer:

Em algum lugar, na descrição do Metatrader-4, vi uma frase que significava que o MQL4 foi criado especificamente para que qualquer dona de casa pudesse descrever sua estratégia e executá-la no terminal. Nem todo mundo aqui é engenheiro de software.

Talvez o MQ algum dia venha a automatizar o processo de otimização diretamente no testador, mas, por enquanto, os entusiastas precisam construir métodos usando ferramentas de terceiros a partir da MQL. Obrigado, Andrey Azatskiy, por seus esforços. Espero que, no final da série de artigos, haja uma breve instrução sobre o uso de seu software para aqueles que não conseguem entender rapidamente o que foi escrito no artigo.

Planejo escrever mais dois artigos. O segundo artigo explicará em detalhes como conectar esse otimizador avançado a qualquer robô para o qual você tenha o código-fonte, e o último artigo explicará o otimizador avançado em si e um exemplo em vídeo de como executá-lo.

 
Stanislav Korotky:

Havia um artigo sobre otimização progressiva passo a passo usando MQL, sem ferramentas de terceiros, em uma única instância de terminal:


É possível, mas as ferramentas de terceiros também têm suas vantagens. Elas serão discutidas mais adiante.

 
Stanislav Korotky:

Havia um artigo sobre otimização progressiva passo a passo usando MQL, sem ferramentas de terceiros, em uma única instância de terminal:


.....c conectando uma biblioteca paga. Acho que isso funciona com o SQLite?
 
Good Beer:
.....c conectando uma biblioteca paga. Acho que ela é executada no SQLite?

Não há dependências, apenas MQL.

Esse artigo descreve em detalhes duas maneiras de realizar a análise Walk-Forward com o testador padrão, que pode ser implementado de forma simplificada gratuitamente. A biblioteca contém apenas algumas utilidades em formato pronto, como o cálculo de todos os principais indicadores de negociação e a construção de relatórios html "costurados".

 
Stanislav Korotky:

Não há dependências, apenas MQLs.

Esse artigo descreve em detalhes duas maneiras de realizar a análise Walk-Forward com um testador padrão, que você pode implementar de forma simplificada e gratuita. A biblioteca contém apenas algumas utilidades em formato pronto, como o cálculo de todos os principais indicadores de negociação e a construção de relatórios html "costurados".

E realmente. São fornecidas algumas dicas. Desculpe-me, mas não notei em meio à grande quantidade de texto. É suficiente para a compreensão.
 
No futuro, se você discutir o artigo de Stanislav, escreva no tópico dos artigos dele, obrigado.
 

Com relação à otimização, lembro-me de uma frase de Ostap Bender - quando lhe perguntaram "Por que foi introduzido o pagamento na turnê do "Failure"", ele respondeu: "Para que você não falhe demais".

O mesmo acontece com a otimização, se o TC for criado com base em abordagens tradicionais.

O modelo (algoritmo) do robô deve se basear na estrutura elementar (e na dinâmica das mudanças em seus parâmetros) e não nas leituras dos indicadores tradicionais.

Assim, a otimização não se torna uma seleção interminável e incompreensível da dinâmica do mercado (e dos dados históricos), mas um processo mais consciente, em que o número de parâmetros a serem otimizados é reduzido em uma ordem de magnitude.

de parâmetros otimizados é reduzido em uma ordem de grandeza.

É assim que esse problema é resolvido na teoria do equilíbrio de impulso.

 
Aleksandr Masterskikh:

Quanto à otimização, lembro-me de uma frase de Ostap Bender - quando lhe perguntaram "E por que o pagamento foi introduzido na turnê do "Failure", ele respondeu: "Para que você não falhe demais".

O mesmo acontece com a otimização, se o CT for criado com base em abordagens tradicionais.

O modelo (algoritmo) do robô deve se basear na estrutura elementar (e na dinâmica das mudanças em seus parâmetros), e não nas leituras dos indicadores tradicionais.

Assim, a otimização não se torna uma seleção interminável e incompreensível da dinâmica do mercado (e dos dados históricos), mas um processo mais consciente, em que a quantidade de

de parâmetros otimizados é reduzida em uma ordem de grandeza.

É assim que essa questão é resolvida na teoria do equilíbrio de impulso.

Esse tipo de propaganda ostensiva, especialmente em vários tópicos seguidos, não é bem-vinda no fórum, mas é problema seu.