Discussão do artigo "Testador de estratégia personalizada com base em cálculos matemáticos rápido" - página 3

 
fxsaber:

Você não me entendeu bem. Você está sugerindo que o TS para teste deve ser escrito em sua API de negociação especificamente para essa finalidade. E isso equivale a usar outras soluções de teste.

Bem, você ignorou o ponto com símbolos personalizados, bem como a comparação de velocidades em números.

Não tudo de uma vez. A comparação de velocidade estará definitivamente em outra parte.

 
fxsaber:

Por meio dos modelos. Publiquei algo parecido com isso na seção Comprar mais.

E sem modelos, é uma união muito versátil. Não, sem modelos, com certeza. Simplesmente não é meu estilo.
 
fxsaber:

Dessa forma, se FrameNext não for chamado pelo menos em um OnTesterPass, todos os OnTesterPass+FrameNext subsequentes receberão o passe anterior em vez do que veio.

Como o artigo é um tutorial, não faria mal nenhum implementar essa nuance no código na forma dos mesmos comentários.

Por que ele não deveria ser chamado? A nota é compreensível, mas parece um pouco arrastada, mas vou pensar um pouco sobre isso.
 
Vasiliy Sokolov:
E sem modelos, ele é muito versátil. Não, sem modelos, com certeza. Simplesmente não é meu estilo.

Quase metade do seu código é ocupada por operações de bytes. E elas dependem muito da tarefa. Acho que você pode escrever um código muito mais universal e conciso. Mas o chefe é o chefe.

 
fxsaber:

Você não me entendeu bem. Você está sugerindo que o TS para teste deve ser escrito em sua API de negociação especificamente para essa finalidade. E isso equivale a usar outras soluções de teste.

Teoricamente, é possível usar uma única API. A única API abstrata que temos agora é a CStrategy. Seu suporte pode ser implementado em um testador matemático. Mas mesmo que implementemos o suporte de coisas básicas, é uma tarefa muito difícil. Portanto, sim, agora e em um futuro próximo, a API é diferente, portanto, o TC terá de ser escrito duas vezes. No entanto, não é muito correto comparar com testadores de terceiros, porque todos os cálculos ocorrem na infraestrutura do MetaTrader e o bloco de análise é o mesmo. Ou seja, você sempre pode executar o TS em um testador padrão ou mesmo em uma demonstração e comparar o relatório com o do testador de matriz. Talvez na próxima parte eu integre os relatórios com o testador MT padrão.
 

Vasiliy Sokolov:
Теоретически возможно использовать единое API. Единственное абстрактное API, которое сейчас имеется это CStrategy. Вот его поддержку и можно реализовать в математическом тестере.

Então, será uma solução apenas para você. Se for implementado, então o MQ4/5 ou o SB será o último recurso.

Mas, mesmo que seja para dar suporte a coisas básicas, essa é uma tarefa muito difícil. Então, sim, agora e em um futuro próximo, a API é diferente, portanto, o TC terá que ser escrito duas vezes.

É isso que é ruim. Escrever o TC em uma API, depois reescrevê-lo em outra e procurar discrepâncias.

No entanto, não é muito correto comparar com testadores de terceiros, porque todos os cálculos ocorrem na infraestrutura do MetaTrader e o bloco de análise é o mesmo. Ou seja, você sempre pode executar o TS em um testador padrão ou mesmo em uma demonstração e comparar o relatório com o do testador de matriz. Talvez na próxima parte eu integre os relatórios ao testador MT padrão.

A infraestrutura de MT aqui é Agents e GUI de configuração de parâmetros. Em geral, isso é duvidoso.


O testador MT é legal porque a maioria dos Expert Advisors de combate pode ser testada em um ambiente de negociação virtual sem nenhuma alteração.

 

Foi feito um trabalho extraordinário! Minhas observações são as seguintes.

O modo de cálculos mat. não é adequado para resolver a tarefa em questão por vários motivos.

No próprio artigo, logo após listar suas vantagens, incluindo a ausência de preparação de dados de série temporal, ele inicia sua própria implementação da mesma funcionalidade! :)
Como não há comparação da velocidade do ciclo obtido com o modo incorporado "At opening prices", não fica claro se há algum ganho pelo menos para uma estratégia tão primitiva.

Outra API de negociação foi mencionada por fxsaber, e eu concordo plenamente com ele. A solução deve ser universal, caso contrário, corre o risco de não ser reivindicada, mas não testada. Bem, a necessidade de reescrever os indicadores (inclusive os padrão) para testar a ideia de forma simples coloca um ponto negativo nessa abordagem.

Os "planos futuros" incluem mais movimento para os "Preços de abertura" padrão, portanto, não está claro qual é o valor desse testador, exceto para demonstração e treinamento.


O tópico de gerenciamento de quadros e otimização é muito mais interessante e merece uma elaboração mais detalhada e um agrupamento em funções universais convenientes.
O Analyzer também é interessante como alternativa aos relatórios padrão e ao processo de otimização padrão em geral (refiro-me ao pós-processamento de todos os passes devido à presença de seu próprio cache).

Na minha opinião, é nessa direção que a série de artigos deve continuar.

Obrigado por seu trabalho!

 

Embora o Natal já tenha passado, gostaria que seu testador de estratégia pudesse ler e processar dados de ticks locais no formato ASCII.
Os dados de ticks aumentaram para cerca de 400 GB em um USB-HD externo usando o TickDownloader gratuito comigo - que eu gostaria de usar - outros provavelmente também - para não depender de diferentes corretoras. Possivelmente também com a possibilidade de usar vários símbolos ao mesmo tempo (arbitragem, cesta, ...).
Isso também seria interessante para o MT4, pois ele não pode fazer isso!

Embora o Natal já tenha passado, eu gostaria que seu testador de estratégia pudesse ler e processar os dados de ticks locais no formato ASCII.
Os dados de ticks aumentaram para ~400 GB em um USB-HD externo usando o https://strategyquant.com/tickdownloader# gratuito comigo - que eu gostaria de usar - outros provavelmente também - para não depender de diferentes corretoras. Possivelmente também com a possibilidade de usar vários símbolos ao mesmo tempo (arbitragem, cestas,...).
Isso também seria interessante para o MT4, porque ele não pode fazer isso!

(pelo google translate)

Calli

PA: De qualquer forma, obrigado por essa abordagem interessante!

Tick Downloader
  • strategyquant.com
What is Data Tick Downloader? Tick Downloader is a freeware tool that allows to download quickly historical tick data from Dukascopy.
 

Obrigado pelo artigo interessante.

Acho que o testador precisa de funções de negociação padrão - abrir/fechar/TP/SL, que poderiam ser facilmente adicionadas a qualquer Expert Advisor e obter resultados aproximados sem esforços excessivos.

Com relação aos indicadores, mais uma vez é necessário implementar a possibilidade de carregar indicadores de um arquivo/arquivos e fazê-lo de modo que os agentes mantenham esse arquivo e não o transfiram permanentemente (se ele não estiver disponível). Dessa forma, é necessário implementar na inicialização a troca do identificador do indicador para a matriz do arquivo com os cálculos prontos do indicador. E, se um grande número dessas matrizes funcionar com rapidez suficiente, isso é realmente muito bom.

O próprio modo"Cálculos matemáticos" provavelmente deve ser considerado como um análogo reduzido do script, que é necessário para qualquer cálculo não relacionado a indicadores.

Caro Vasily, você pode me dizer se existe um mecanismo para criar um feedback dos Expert Advisors durante a otimização, quando, de acordo com os resultados da análise de otimização, é possível continuar a otimização de acordo com outros critérios sem intervenção manual? Algum análogo do GA em termos de controle dos parâmetros de otimização.

 

Parabéns!

seu artigo é realmente excelente! realmente para profissionais ;-))

Por que você não pensa em permitir que os indicadores padrão funcionem no símbolo personalizado importado como matriz?

é realmente muito demorado e difícil reescrever os indicadores para que funcionem em uma matriz

também desenvolvi sozinho o código para fazer negociações virtuais e gostaria de usá-lo também com indicadores virtuais, com sintaxe semelhante à do mql5 original

Obrigado