Planos de desenvolvimento para o MetaTrader 5 Strategy Tester

 

Não se deixe intimidar pelo estado de meia-tigela do testador nos betas. Nós estendemos de propósito todas as versões intermediárias no betas para obter os resultados mais rapidamente.


Como estamos reformando o testador de estratégia:

  1. Para facilitar a compreensão dos novatos, estamos introduzindo um novo visual na página inicial do testador, onde você pode ver as opções de estudo:




  2. É dada grande ênfase ao armazenamento de todos os resultados de testes anteriores, onde uma pesquisa fácil permitirá que você volte a ver os testes anteriores

    Uma caixa de busca torna fácil encontrar resultados passados, além do download direto de um arquivo.

  3. Dentre os testes anteriores, faremos comparações






  4. É provável que acrescentemos novas opções de otimização

  5. Vamos expandir drasticamente as configurações detalhadas dos testes com comissões, condições de acionamento dos pedidos, deslizamentos, etc.

    Por enquanto, nas versões beta, ativamos o modo de teste em pips que reduz consideravelmente a quantidade de modelagem e acelera os testes.

    Introduziremos o conjunto completo de configurações um pouco mais tarde.

  6. Reescreveremos os mecanismos de preparação de dados de origem para reduzir os custos de sincronização de agentes

    A aceleração será especialmente notável nos agentes locais, onde não teremos que bombear grandes quantidades de dados e não teremos múltiplas cópias de dados históricos.

  7. Novo mecanismo de visualização 3D e exibição dos resultados dos testes em janelas completas

  8. Reforma da rede de cluster, com controle mais detalhado sobre as condições de cada especialista, para que você possa selecionar individualmente um grupo de agentes

    O objetivo é acelerar ao máximo as tarefas, de modo que não haja atrasos devido a agentes inadequados ou lentos.


Além disso, a própria linguagem MQL5 está sendo desenvolvida ativamente, incluímos escopos, suporte expandido de modelos, trabalho com classes criadas implicitamente e assim por diante.

O mais provável é que em breve inclua novas características:

  • Bancos de dados SQLite
  • Extensão da biblioteca gráfica, incluindo 3D


Mais tarde passaremos à tarefa revolucionária de incluir módulos no idioma.

Estas são bibliotecas C++ recompiladas no formato EX5 e disponíveis para uso direto a partir do código MQL5. Ou seja, começaremos a trabalhar na recompilação das bibliotecas opsorcedoras, quando suas chamadas de baixo nível/perigosas forem totalmente mapeadas para nosso tempo de execução seguro e os invólucros seguros forem feitos para o código MQL5.

Desta forma, planejamos aumentar a funcionalidade da linguagem sem comprometer a segurança. Os conjuntos de módulos estão disponíveis somente para nós, o que proporciona um certo nível de segurança para as soluções resultantes.

Este mecanismo já funciona.

Por exemplo, algumas das funcionalidades do ambiente MQL5 há muito foram incorporadas nativamente no código EX5 durante a compilação, o que proporciona uma otimização muito boa a nível de compilação.

 

Renat Fatkhullin:

Vamos expandir drasticamente as configurações de testes detalhados com comissões, condições de acionamento de pedidos, deslizamentos, etc.

Esta adição seria uma das primeiras a ser vista.

 

Comparar corridas é uma coisa ótima.

Há também uma necessidade dos dias de barba que as soluções de terceiros se tornaram populares: combinar múltiplas corridas em uma só.

Isto é, vários TCs são executados "simultaneamente", mas sua história geral e sua equidade são construídas.

 

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Bibliotecas: MultiTester

fxsaber, 2019.07.22 01:54

Um testador se torna um debulhador muito forte quando dotado da capacidade de automatizar.

Se os desenvolvedores incluírem na MQL as funções internas de gerenciamento do Testador(definir data/símbolo/modo, executar melhor execução única, salvar relatório, etc.). ), ela se tornará cem vezes mais forte do que todos os concorrentes potenciais. E passará de um brinquedo sério a uma ferramenta de pesquisa sem precedentes, já que se tornará uma verdadeira debulhadora informática.

Mas duvido que o faça. Se alguém pode ajudar a automatizar o destacado, isso seria ótimo.


TesterSetInfo, TesterGetInfo.

 
fxsaber:

Há também uma necessidade dos tempos de barba que as soluções de terceiros se tornaram populares: combinar vários passes em um só.

Isto é, vários TCs são executados "simultaneamente", mas sua história geral e sua equidade são construídas.

Apoio a um colega. Tenho que implementá-la de lado, mas, por outro lado, como pode ser organizada no testador? Hm, acrescente algum atributo a tal passe como "Portfolio #". - talvez assim?

 
Aleksey Vyazmikin:

Apoio a um colega. Tem que implementar isto de lado, mas por outro lado, como você organiza isto no testador? Um, acrescente algum tipo de atributo a tal passe como "Portfolio #". - talvez assim?

Designar manualmente agentes para cada programa a ser testado ao mesmo tempo.
Por exemplo, temos 8 agentes, sendo 4 deles designados a um especialista e 4 a outro. Como resultado, apenas dois programas de mql podem ser testados simultaneamente.
Ou cada especialista será designado a 2 agentes, e então os mesmos 8 agentes já estarão testando 4 programas, etc.

Ou, alocar automaticamente agentes, como uma raça, o primeiro a levar o agente, o primeiro a levar o agente.
Um agente completou uma tarefa, espera novamente até ser retirado da fila de tarefas, etc.
Assim, o número de programas testados simultaneamente aumenta.

Cada programa sendo testado ao mesmo tempo, aloca automaticamente seu próprio ambiente de teste virtual.
E cada teste é executado por si só ao mesmo tempo, após a conclusão de todos os passes, os resultados de cada programa são resumidos e os valores médios são calculados.
As estatísticas gerais são exibidas.

 
Roman:

Atribuímos manualmente agentes a cada programa que está sendo testado ao mesmo tempo.
Por exemplo, temos 8 agentes e 4 são designados a um Expert Advisor, e 4 a outro. Como resultado, apenas dois programas de mql podem ser testados simultaneamente.
Ou, atribuir automaticamente agentes, como uma raça, de modo que quem recebe o agente primeiro, recebe o mesmo.
O agente completou uma tarefa e está esperando para ser retomado da fila de tarefas, etc.
Assim, o número de programas testados simultaneamente aumenta.

Cada programa a ser testado ao mesmo tempo, alocou automaticamente seu próprio ambiente de teste virtual.
E cada teste é executado por si só ao mesmo tempo, após a conclusão de todos os passes, o resultado de cada programa é resumido, e as estatísticas gerais são exibidas.

Minha variante é mais simples e funcional, ela permite que você teste quantos EAs e suas configurações forem necessários, sem qualquer confusão desnecessária. Sua variante requer um gerente para distribuir tarefas... Você precisa adicionar um gerente de testes de portfólio formado por um usuário e onde são indicados o Expert Advisor e o conjunto / configurações do mesmo, bem como o ID do portfólio - para que você possa então comparar diferentes portfólios, então ele será universal e funcional.

 
Aleksey Vyazmikin:

Minha variante é mais simples e funcional, ela permite que você teste quantos EAs e suas configurações forem necessários, sem nenhuma confusão desnecessária. Sua variante requer um gerente para distribuir tarefas... Precisamos adicionar um gerente para testes de portfólio, que é formado por um usuário e onde são indicados o Expert Advisor e o conjunto / configurações para ele, bem como o ID do portfólio - para que possamos então comparar os diferentes portfólios, neste caso, ele será universal e funcional.

Temos, portanto, duas abordagens.
Ou testar cada programa sequencialmente, e depois gerar os resultados pelo número da carteira, para estatísticas gerais.
Ou testar cada programa simultaneamente no modo multi-tarefa, e imediatamente exibir estatísticas gerais para estes conjuntos.
A única diferença está nas etapas iniciais de configuração, ou na geração manual de estatísticas gerais após o teste.
E possivelmente na velocidade geral de execução dos testes.

p.s. MetaCotações - às vezes, os sonhos se tornam realidade.

 

Renat, por favor acrescente outra opção, MQ Old, à escolha do estilo ME. Aquela que estava lá antes. É uma coisa pequena para você, mas para muitos usuários isso vai poupar muitos nervos.

Não quero me acostumar a um novo estilo... Estou muito feliz com o antigo.

Obrigado.

 

O que é um teste de estresse?

(ou seja, que funcionalidade está envolvida)

 

Ótimas notícias!

Isto encorajará a mudança para o MT5.

Afinal, todos estarão reescrevendo programas para o mt5, a fim de testá-los lá.