Discussão do artigo "Guia prático do MQL5: Salvando resultados de otimização de um Expert Advisor baseado em critérios especificados"

 

Novo artigo Guia prático do MQL5: Salvando resultados de otimização de um Expert Advisor baseado em critérios especificados foi publicado:

Continuamos as séries de artigos sobre a programação do MQL5. Desta vez, veremos como obter resultados de cada etapa de otimização durante a otimização do parâmetro do Expert Advisor. A implementação será feita de modo a garantir que, se forem atingidas as condições especificadas nos parâmetros externos, os valores das etapas correspondentes serão gravados em um arquivo. Além dos valores de teste, também salvaremos os parâmetros que levaram a tais resultados.


Para ter acesso aos dados do curso de otimização, você pode usar funções especiais do MQL5: OnTesterInit(), OnTester(), OnTesterPass() e OnTesterDeinit(). Vamos dar uma olhada rápida em cada uma delas:

  • OnTesterInit() - esta função é usada para determinar o início da otimização.
  • OnTester() - esta função é responsável por adicionar os tão chamados períodos após cada etapa da otimização. A definição de períodos será dada mais adiante.
  • OnTesterPass() - esta função recebe períodos após cada etapa de otimização.
  • OnTesterDeinit() - esta função gera o evento do final da otimização do parâmetro do Expert Advisor.

Agora devemos definir um período. O período é uma espécie de estrutura de dados de uma única etapa de otimização. Durante a otimização, os períodos são salvos no arquivo *.mqd criado na pasta MetaTrader 5/MQL5/Files/Tester. Os dados (períodos) deste arquivo podem ser acessados tanto durante a otimização "sem parar" quanto após sua conclusão. Por exemplo, o artigo "Visualize uma estratégia no verificador do MetaTrader 5" ilustra como podemos visualizar o processo de otimização "sem parar" e depois ver os resultados após a otimização.

Autor: Anatoli Kazharski

 

Bastante curioso e, principalmente, muito procurado, eu também gostaria de saber a porcentagem de negociações lucrativas, inclusive por sua direção....

É possível retrabalhá-lo para o MT4?

 
-Aleks-:

Muito curioso e, o mais importante, em termos de demanda, eu também gostaria de saber a porcentagem de negociações lucrativas, inclusive no contexto de sua direção...

É possível modificá-lo para o MT4?

Você pode adicionar qualquer indicador: https://www.mql5.com/pt/docs/constants/environment_state/statistics, fazendo pequenas alterações por conta própria.

Para o MT4, há esta variante: Técnica de otimização (teste) e alguns critérios para selecionar os parâmetros de trabalho do Expert Advisor

Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Статистика тестирования
Документация по MQL5: Стандартные константы, перечисления и структуры / Состояние окружения / Статистика тестирования
  • www.mql5.com
Стандартные константы, перечисления и структуры / Состояние окружения / Статистика тестирования - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
tol64:

Você pode adicionar qualquer indicador: https://www.mql5.com/pt/docs/constants/environment_state/statistics, fazendo pequenas alterações por conta própria.

Para o MT4, há esta opção: Técnicas de otimização (teste) e alguns critérios para selecionar os parâmetros de trabalho do Expert Advisor

Sim, eu li o artigo sobre o MT4, mas esses dados não são suficientes para mim, e não há outras maneiras de obter mais informações semelhantes às do MT5?

 
-Aleks-:

Sim, eu li o artigo sobre o MT4, mas esses dados não são suficientes para mim, e não há outras maneiras de obter mais informações semelhantes às do MT5?

Infelizmente, não sei lhe dizer (talvez outra pessoa possa lhe dar uma resposta). Finalmente, mudei para o MT5 e me oriento apenas pelas possibilidades desse terminal.
 
tyvm. Excelente artigo.
 
Uau, isso é ótimo
 

Como comecei a trabalhar com o MT5, voltei ao seu artigo.

E o que estou querendo saber é se é possível ordenar o relatório pelo número da passagem, em vez de como está agora, pela ordem de chegada do quadro da passagem?

Isso é conveniente para comparar dois relatórios (especialmente sem filtros) com configurações diferentes - de acordo com minha experiência de trabalho com relatórios no MT4.

Na verdade, isso pode ser feito se você souber quantas passagens haverá no total, então você pode gravar as informações em uma matriz e, no final, descarregá-las em um arquivo, mas como calcular o número de passagens?

Outra opção, que é menos bonita, é o pós-processamento do arquivo, ou seja, organizar os dados após o processamento, mas como fazer isso de forma mais eficiente e universal também é uma questão.

 
Aleksey Vyazmikin:

...

Na verdade, isso pode ser feito se você souber quantos passes haverá, então poderá gravar as informações em uma matriz e, no final, descarregá-las em um arquivo, mas como calcular o número de passes?

...

Para adicionar dados à matriz, você não precisa saber inicialmente quantos passes haverá.

 
Anatoli Kazharski:

Para adicionar dados a uma matriz, você não precisa saber inicialmente quantas passagens haverá.


Não sou programador e isso é difícil para mim - passei metade de um dia removendo filtros desnecessários do seu exemplo....

 
Aleksey Vyazmikin:

Não sou programador e isso é difícil para mim - gastei metade de um dia para descartar filtros desnecessários para mim de seu exemplo....

Não pretendo voltar a esse tópico tão cedo.

Tente formular seu problema com mais precisão e publique-o aqui. Talvez alguém sugira uma solução.