Terminal MT5 atualizado hoje e a janela "Otimização" não aparece durante o teste - página 5
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Por que quebrar um bom e velho algoritmo e substituí-lo por um novo que seja 3 vezes mais lento?
O algoritmo do testador genético não mudou. E as declarações cerca de 3 vezes são absolutamente infundadas.
O método de trabalho de um cache de resultados anteriores mudou. E tornou-se muito melhor e mais completo do que o anterior.
Se você precisar introduzir uma nova abordagem ao método genético, adicione um novo item à guia "otimização",
Criar uma descrição e técnicas para trabalhar com ela.
Dê uma olhada nos links acima - todos estes artigos são de nosso site. O otimizador genético tem sido discutido instantaneamente por muitos anos.
Procure por "testador de estratégia", "otimizador genético" na busca, por favor.
E siga meus repetidos conselhos - a otimização de um único fator de recuperação em genética está contra-indicada. Você simplesmente engana o algoritmo com uma relação"lucro/tração máxima" completamente instável e enganosa (para automatismos), o que facilmente gera valores enormes. Pense em como e por que.
Vamos corrigir o desenho do gráfico de otimização na segunda-feira.
Haverá uma execução parcial de ordens limitadas, dependendo dos volumes que passam pelo mercado?
Você já viu volumes em um copo na história? Isto é irrealista para implementar sem um instantâneo do mercado.
Você já viu volumes em um copo na história? É impossível fazer isso sem um molde do vidro.
Eu não sonharia com isso. Eu gostaria que o limite de compra com preço 90 e lote 10 acionasse parcialmente, se, digamos, houvesse um carrapato de venda com preço 89 e volume 1. Agora é muito triste. O pedido seria acionado se houvesse um tique de compra com o preço 90 e o lote 1... e em volume total.
O algoritmo do testador genético não mudou. As alegações cerca de 3 vezes são absolutamente infundadas.
O que foi alterado foi a forma como funciona o cache dos resultados anteriores. E se tornou radicalmente melhor e mais completo do que o anterior.
Fez alguns testes comparativos sobre as construções novas e antigas do testador.
Aqui estão os resultados. Logs e descrição no post #34.
Aqui está meu teste com as condições sugeridas:
Metatrader 5 constrói 1755:
após o qual o terminal é reiniciado para evitar a influência direta de hot caches na memória
2018.04.30 11:24:15.913 Tester Best result 3254.53 produced at generation 0. Next generation 4 2018.04.30 11:24:16.775 Tester file cache used 19 times 2018.04.30 11:24:16.775 Tester result cache used 216 times 2018.04.30 11:24:16.775 Tester genetic optimization finished on pass 1337 (of 49644595) 2018.04.30 11:24:16.775 Statistics optimization done in 0 minutes 15 seconds 2018.04.30 11:24:16.775 Statistics local 1105 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
teste continua do ponto de parada e não do início como no build 1809, depois das 10496 passagens propostas foram tiradas 3487 e 66+3814 tiradas do cache (66+3814 / 10496 = 36% de cache atingido)
2018.04.30 11:26:27.931 Tester Best result 3363.35 produced at generation 15. Next generation 32 2018.04.30 11:26:28.104 Tester genetic calculation is over 2018.04.30 11:26:28.111 Tester 3422 records written to file cache C:\Users\sys\AppData\Roaming\MetaQuotes\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\tester\cache\Moving Average.EURUSD.M5.1.xml 2018.04.30 11:26:28.539 Tester file cache used 66 times 2018.04.30 11:26:28.539 Tester result cache used 3814 times 2018.04.30 11:26:28.539 Tester genetic optimization finished on pass 8704 (of 49644595) 2018.04.30 11:26:28.550 Statistics optimization done in 0 minutes 25 seconds 2018.04.30 11:26:28.550 Statistics local 3487 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
Metatrader 5 constrói 1809:
após o qual o reinício do terminal é feito para evitar a influência direta de hot caches na memória.
como o teste é iniciado desde o início, das 10240 passagens propostas foi feita limpa 5863 e 4377 foram retiradas do cache (4377 / 10240 = 42% de cache atingido)
Agora as conclusões:
Isto pode ser visto no tempo de passagem plena, são 33 segundos em vez de 38 segundos. E 33 segundos para um número maior de passes.
Se recalcularmos o número de passes por segundo, acontece:
- build 1755 dá 4780 passes / 38 seg = 125 passes por segundo
- build 1809 dá 5549 passes / 33 seg = 168 passes por segundo
Estamos reavaliando o conceito do testador e consertando velhas más decisões.
Como os testes genéticos precisam ser executados várias vezes para cobrir a área de busca mais completamente, nosso novo modelo com visualização das execuções anteriores a partir do cache permite uma melhor compreensão da mecânica do fluxo de trabalho da genética.
O novo modelo para exibir resultados de otimização com todos os dados de caches previamente calculados adicionados à tabela permite ver a imagem de forma mais completa. É possível calcular sua estratégia em pedaços e ver os resultados completos a cada vez, incluindo execuções anteriores.
É por causa das tabelas de resultados realmente grandes fundidas que desativamos a exibição rieltime da lista de resultados e mostramos o resultado cumulativo após a fusão de todos os resultados anteriores.
Meu robô trava durante a inicialização, tanto em tempo de execução quanto em Debug. A compilação é boa.
Há uma classe com membros estáticos no código, provavelmente por causa deles. Tudo estava funcionando bem antes. Mas agora ele relata um erro durante a inicialização global.
Removidos os membros estáticos da classe, ela funciona bem.
Meu robô trava durante a inicialização, tanto em tempo de execução quanto em Debug. A compilação é boa.
Há uma classe com membros estáticos no código, provavelmente por causa deles. Tudo estava funcionando bem antes. Agora ele escreve um erro durante a inicialização global.
Removidos elementos estáticos na classe, lançados normalmente.
Escreva seu pedido ao Service Desk e anexe o Expert Advisor (pode ser um arquivo ex5), por favor.
Tudo isso é ótimo!
Entretanto, favor trazer de volta a aba "Otimização" - é impossível trabalhar sem uma análise operacional! As mesas grandes são lentas - vamos fazer um filtro - mostram os 20 primeiros para cada critério - não é tão intensivo em recursos(?), mas ajudará muito a ver o quadro. E, esses bilhões de passes - quem os faz? São unidades com enormes capacidades - você mesmo está falando sobre a razoabilidade da aplicação da genética, e não existem portmanteaus deste tipo lá. Portanto, mais de 10k passes é uma raridade.
Triste.
Pelo menos foi possível construir uma imagem sobre os dados preliminares, enquanto a otimização está em andamento.
Estamos ocupados com uma grande atualização de desempenho do testador e estamos redesenhando os modos de carga pesada. Grandes melhorias foram feitas e novos métodos de aceleração serão implementados em breve.
A janela da lista de corredores decidiu mostrar no final do erro de cálculo, para não desperdiçar recursos reais na manutenção, reordenação e exibição da lista de corredores em constante mudança.
Houve realmente um enorme desperdício de recursos e lentidão. Especialmente quando estamos falando de centenas de milhares de filas, milhões e dezenas de milhões de passes. Não há nenhum sentido razoável em olhar com seus olhos um monte de dados preliminares.
Estamos realizando testes de otimização e desempenho com 100 milhões de passes completos.
Obviamente, com tais números, está fora de questão reordenar em tempo real e exibir uma tabela de 2-5-10-50 milhões de valores. Há apenas uma opção - reunir tudo de forma rápida e econômica, ordenar tudo de forma rápida e econômica e proporcionar uma visão de qualquer profundidade.
Conte-nos sobre isso, e pronto.