Sugiro a coleta de estatísticas sobre o desempenho de diferentes processadores a fim de estimar sua eficiência para que o testador de estratégia trabalhe em modo de otimização.
Boa iniciativa, eu a apoio.
Recebo um aviso ao fazer a compilação:
implicit conversion from 'number' to 'string' Tree_Brut_TestPL.mq5 2567 16
É suposto ser assim?
Cordão:
if(FrameAdd(Test_P,1,0,stat_values)==false)
Sugiro a coleta de estatísticas sobre o desempenho de vários processadores para estimar sua eficácia para o Testador de Estratégia no modo de otimização.
Para ser mais objetivo, sugiro usar um Expert Advisor que roda no modo"Computação Matemática", o que permite minimizar o uso do disco rígido e da memória de seu computador. Se possível, especificar o nome do processador, placa-mãe e freqüência da RAM.
O Expert Advisor tem apenas um parâmetro que deve ser otimizado (na verdade, não é nada e os dados são idênticos para todos os agentes - para ser objetivo), especificar o número de passes igual ao número de fios e selecionar os agentes pelo número de núcleos do processador (sem hipertreinamento!).
Espero que os dados coletados ajudem as pessoas a escolher um hardware para otimização que seja razoável não tomar da primeira ordem, pelo menos tem sido assim ultimamente, mas algumas coisas podem ter mudado.
O próprio Expert Advisor é um recorte de uma EA real que eu uso em uma tarefa semelhante para selecionar folhas de uma árvore de decisão, ou seja, é uma verdadeira tarefa MoD e se houver alguma idéia de como acelerar o código eu estaria muito interessado em ouvi-las. Existem apenas 1000 folhas no código, na realidade já existem mais de 70.000, portanto são colocadas em uma função para uma expectativa aceitável de tempo de compilação.
Boa iniciativa, eu a apoio.
Ela dá um aviso ao compilar:
É assim que deve ser?
Linha:
Corrigido e relançado!
Teste-o.
Durante que período e em que prazo? A ferramenta é importante?
No modo deCálculo Matemático não importa, não são gerados carrapatos lá!
O que há por aí? O cepo do final de 2000 não está mais decolando? :D
Experimente seu processador e poste seus resultados - veja se ele decola ou apenas rola!
Será que um cavalo velho estraga o sulco?
Resultados:
2019.08.09 23:22:07.472 Tester set "Custom max" as optimization criterion for mathematical calculations 2019.08.09 23:22:07.540 Experts optimization frame expert Tree_Brut_TestPL (EURUSD.m,H1) processing started 2019.08.09 23:22:07.592 Tester cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt' deleted 2019.08.09 23:22:07.623 Tester Experts\Tree_Brut_TestPL.ex5 math calculations test means no history and no symbol info for EURUSD.m 2019.08.09 23:22:07.623 Tester complete optimization started 2019.08.09 23:22:07.648 Core 1 agent process started on 127.0.0.1:3008 2019.08.09 23:22:07.650 Core 2 agent process started on 127.0.0.1:3009 2019.08.09 23:22:07.652 Core 3 agent process started on 127.0.0.1:3010 2019.08.09 23:22:07.654 Core 4 agent process started on 127.0.0.1:3011 2019.08.09 23:22:07.657 Core 5 agent process started on 127.0.0.1:3012 2019.08.09 23:22:07.659 Core 6 agent process started on 127.0.0.1:3013 2019.08.09 23:22:07.662 Core 7 agent process started on 127.0.0.1:3014 2019.08.09 23:22:07.664 Core 8 agent process started on 127.0.0.1:3015 2019.08.09 23:22:07.972 Core 1 connecting to 127.0.0.1:3008 2019.08.09 23:22:07.973 Core 1 connected 2019.08.09 23:22:07.983 Core 1 authorized (agent build 2097) 2019.08.09 23:22:07.997 Core 1 common synchronization completed 2019.08.09 23:22:08.035 Core 3 connecting to 127.0.0.1:3010 2019.08.09 23:22:08.036 Core 3 connected 2019.08.09 23:22:08.046 Core 3 authorized (agent build 2097) 2019.08.09 23:22:08.056 Core 2 connecting to 127.0.0.1:3009 2019.08.09 23:22:08.057 Core 2 connected 2019.08.09 23:22:08.059 Core 3 common synchronization completed 2019.08.09 23:22:08.067 Core 5 connecting to 127.0.0.1:3012 2019.08.09 23:22:08.068 Core 5 connected 2019.08.09 23:22:08.068 Core 2 authorized (agent build 2097) 2019.08.09 23:22:08.082 Core 2 common synchronization completed 2019.08.09 23:22:08.083 Core 5 authorized (agent build 2097) 2019.08.09 23:22:08.103 Core 7 connecting to 127.0.0.1:3014 2019.08.09 23:22:08.104 Core 7 connected 2019.08.09 23:22:08.119 Core 7 authorized (agent build 2097) 2019.08.09 23:22:08.125 Core 5 common synchronization completed 2019.08.09 23:22:08.140 Core 7 common synchronization completed 2019.08.09 23:22:08.150 Core 4 connecting to 127.0.0.1:3011 2019.08.09 23:22:08.151 Core 4 connected 2019.08.09 23:22:08.151 Core 8 connecting to 127.0.0.1:3015 2019.08.09 23:22:08.151 Core 8 connected 2019.08.09 23:22:08.162 Core 8 authorized (agent build 2097) 2019.08.09 23:22:08.164 Core 4 authorized (agent build 2097) 2019.08.09 23:22:08.184 Core 6 connecting to 127.0.0.1:3013 2019.08.09 23:22:08.185 Core 6 connected 2019.08.09 23:22:08.208 Core 6 authorized (agent build 2097) 2019.08.09 23:22:08.228 Core 4 common synchronization completed 2019.08.09 23:22:08.240 Core 6 common synchronization completed 2019.08.09 23:22:08.250 Core 8 common synchronization completed 2019.08.09 23:24:45.931 Tester optimization finished, total passes 8 2019.08.09 23:24:45.941 Statistics optimization done in 2 minutes 38 seconds 2019.08.09 23:24:45.941 Statistics shortest pass 0:02:35.945, longest pass 0:02:37.669, average pass 0:02:37.006 2019.08.09 23:24:45.941 Statistics 8000 frames (3.14 Mb total, 412 bytes per frame) received 2019.08.09 23:24:45.941 Statistics local 8 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%) 2019.08.09 23:24:45.988 Tester 8 new records saved to cache file 'tester\cache\Tree_Brut_TestPL.30.DFF2DB61B8A3751199D61AD0A0F226D3.opt'
Versão terminal:
2019.08.09 23:20:35.776 Terminal MetaTrader 5 x64 build 2085 started (MetaQuotes Software Corp.) 2019.08.09 23:20:35.778 Terminal Windows 10 (build 17763) x64, IE 11, UAC, AMD FX-8300 Eight-Core Processor , Memory: 17102 / 24574 Mb, Disk: 2407 / 2441 Gb, GMT+2
Será que um cavalo velho estraga o sulco?
Resultados:
Versão terminal:
Parece que você tem 8 agentes envolvidos e precisa de 4, porque a FPU em FX tem apenas 4 e 8 ALUs, e é a FPU que é carregada durante a otimização. Porque assim - não é claro - pergunta aos desenvolvedores, porque o código é construído em grande parte sobre a comparação, mas aparentemente o consumo de cálculo de ponto flutuante prevalece ou vezes mais lento, então acontece que é necessário definir o número de coprocessadores, então 1 passe será mais rápido e o tempo médio permanecerá o mesmo.
Parece que você tem 8 agentes envolvidos e precisa de 4, já que a FPU em FX é apenas 4 e 8 APUs, e é a FPU que é carregada durante a otimização. Por que é tão - não é claro - pergunta aos desenvolvedores, porque o código é baseado principalmente na comparação, mas aparentemente o consumo de cálculo de ponto flutuante prevalece ou é vezes mais lento, de modo que se torna necessário colocar exatamente o número de coprocessadores, então 1 passe será mais rápido e o tempo médio permanecerá aproximadamente o mesmo.
Por favor, esclareça. Desabilito 4 agentes e defino o parâmetro a ser otimizado para que eu tenha 4 passes de otimização ou 8 passes?
8 passes 4 agentes, tipo de análogo ao hypertrading - de acordo com o número de fios.
Ligue o"Diário de Otimização Completo" para ver o tempo de cada passe.- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Você concorda com a política do site e com os termos de uso
Sugiro a coleta de estatísticas sobre o desempenho de vários processadores para estimar sua eficácia para o Testador de Estratégia no modo de otimização.
Para ser mais objetivo, sugiro usar um Expert Advisor que roda no modo"Computação Matemática", o que permite minimizar o uso do disco rígido e da memória de seu computador. Se possível, especificar o nome do processador, placa-mãe e freqüência da RAM.
O Expert Advisor tem apenas um parâmetro que deve ser otimizado (na verdade, não é nada e os dados são idênticos para todos os agentes - para ser objetivo), especificar o número de passes igual ao número de fios e selecionar os agentes pelo número de núcleos do processador (sem hipertreinamento!).
Espero que os dados coletados ajudem as pessoas a escolher um hardware para otimização que seja razoável não tomar da primeira ordem, pelo menos tem sido assim ultimamente, mas algo pode mudar.
O Expert Advisor em si é um recorte de EA real que uso em uma tarefa semelhante para selecionar folhas de uma árvore de decisão, ou seja, é uma verdadeira tarefa MoD e se houver alguma idéia de como acelerar o código, eu ficaria feliz em ouvi-las. Existem apenas 1000 folhas no código, na realidade já existem mais de 70.000, portanto são colocadas em função de um tempo de espera aceitável para o resultado da compilação.
No registro do Strategy Tester através do menu de contexto, marque a opção "Full Optimisation Log" (Registro Completo de Otimização).Acrescentado: Neste tópico, descobriu-se que o tamanho do arquivo em alguns (isto deve ser descoberto) processadores afeta o desempenho do sistema como um todo, embora o código estruturalmente não mude muito. Portanto, peço a todos que testem dois testadores.
Exemplo de configurações do testador - símbolo, período e cronograma não são importantes - as outras configurações são relevantes. A captura de tela mostra outra EA, mas as configurações estão corretas
Até agora, temos a seguinte classificação onde o tempo médio em segundos foi utilizado - as duas últimas duas colunas e a última coluna mostra o número de passes do processador em 1 hora.
A tabela é filtrada pela última coluna, como a opção EA mais pesada em termos de consumo de recursos computacionais.