Milagres com o provador. - página 5

 
Yurich:

Gostaria de perguntar - já o descobriu? Porque não é claro como testar o Expert Advisor. E o mais irritante é que a optimização é feita na nuvem, o dinheiro é retirado, mas não se pode usar o resultado.


Fizemo-lo na altura.

Por favor, escreva para o balcão de serviço. Iremos tratar do seu problema.

 

Saudações!

Tenho este problema ao optimizar em metatester.

Utilizo agentes locais (2pc) e dedicados (4-8pc, vários computadores com 2 ou quatro núcleos) para testes, mas não claud. Os testes são iniciados. O testador faz algumas dúzias de passes e depois os agentes apenas começam a pendurar (o progresso pára = a percentagem de conclusão do passe actual pára). No início, uma por máquina atribuída. Depois os meus locais também são enforcados da mesma forma. Ao mesmo tempo, a carga de CPU permanece (pode ser vista através da aba de processo do gestor de tarefas do windows). Como resultado, quase todos os agentes penduram assim, e talvez um esteja a fazer passes normalmente.

Isto apareceu literalmente há um dia atrás. Antes, tudo estava a funcionar bem. Nem um único soluço. E agora, pouco antes do início do campeonato. E eu estava apenas a testar intensamente a coruja para participar. Que azar!!!! (((

Tentei reinstalar o terminal, mas não ajudou. Os parâmetros da minha máquina: Windows 7 x64, Celeron G530 2.4GHz, 4GB RAM. Foi-me dito que poderia ser devido à adição de agentes em uso (caixas de verificação ao lado de Agentes Locais e Agentes Remotos) já após o início da optimização. Mas também não afectou o resultado. No Antivírus eu activei tudo para o testador. Há muito tempo que não vejo nenhum erro nos registos, apenas nenhum novo registo de passes bem sucedidos a aparecer.

O que pode ser? Por favor, ajude-me a resolver este problema. O que devo fazer?

 
Diesel:

Ajude-me a resolver o meu problema. O que devo fazer?
Observar os registos e verificar o tempo de execução. Talvez alguém esteja a desligar.
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
Renat:
Observar os registos e verificar o tempo de execução. Talvez alguém esteja a pairar.

Renat, obrigado pela sua resposta rápida a situações problemáticas.

Através de tentativas e erros, a causa deste problema está gradualmente a tornar-se mais clara. Após uma longa busca de pânico pela causa deste estranho comportamento do testador, descobri que:

1) o testador começou a trabalhar sem congelar apenas depois de eu ter desactivado todos os serviços do AVG Internet Security Business Edition 2012, embora eu primeiro a) tenha activado tudo para o testador nas regras do serviço de firewall neste AVG - não ajudou; b) tenha desactivado completamente o serviço de firewall - não ajudou. Agora testei o Expert Advisor com anti-vírus completamente desligado. Agora estou a testar o Expert Advisor com o antivírus completamente desligado - sem problemas até agora.

2) Em alguns pares de moedas particulares(eurchf, gbpchf), o testador ainda se pendura regularmente da forma acima descrita, apesar do antivírus completamente desactivado. Tentei executar a optimização com as mesmas condições em máquinas diferentes, mas a situação de pairar foi repetida quase numa imagem de espelho. Um a um, os agentes foram enforcados. Como resultado, a optimização ficou simplesmente parada e carregou todo o processador até ao limite. Gostaria de acrescentar capturas de ecrã e fragmentos dos registos para fundamentar a minha descrição do problema.

1. A aba do testador "Agentes", onde se pode ver o agente pendurado. Na imagem é pouco perceptível, pois não se pode ver como o progresso de outros agentes está constantemente a mudar, e o agente pendurado está no local.


2. O Gestor de Tarefas mostra que o agente suspenso está a utilizar CPU, mas o consumo de memória não sofreu alterações.

3. Fragmento de registo de execução de optimização geral, onde podemos ver a diferença temporal entre o último registo de aprovação bem sucedido e a paragem forçada dos testes pelo utilizador, devido ao congelamento dos agentes.

Uma vez que não existem erros óbvios no registo, concluí que este problema ocorre devido a bugs no código do Expert Advisor que apareceram desta forma em pares de moedas específicos. Por conseguinte, não há razão para afirmar que o provador não está a funcionar correctamente.

Conclusões, pedidos, recomendações:

1) Gostaria que o Testador de Estratégia fosse capaz de trabalhar com o anti-vírus incluído. Contudo, esta é mais uma questão para os criadores de um determinado antivírus, do que para si. Nesse caso, seria óptimo se em tais situações (se o agente desligar devido à verificação de tráfego ou ao seu trabalho por antivírus) aparecesse um aviso no estado do agente suspenso, tal como "crash by antivírus" ou "check firewall".

2) Dada a ocorrência de situações semelhantes, em que um agente pendura durante um passe devido a um código EA "mau", é também útil avisar o utilizador sobre isto na barra de estado desse agente. Estas podem ser mensagens como "ciclo infinito", "má execução" ou algo semelhante;

3) Além disso, uma excelente característica do testador seria o tratamento de tais situações (reiniciar o agente, identificar parâmetros correspondentes a uma determinada geração do algoritmo de optimização genética que causou a suspensão e geração de novas gerações, tendo em conta parâmetros inaceitáveis), retomar o processo de optimização sem reiniciar primeiro todo o processo (isto poupa muito tempo e esforço), informar o utilizador sobre as razões da suspensão do agente e sugerir possíveis formas de eliminar essas razões.

Isto é provavelmente tudo. Obrigado pela vossa atenção e compreensão. Espero que os meus comentários sejam úteis.

 
Diesel:

Renat, obrigado pela sua resposta rápida a situações problemáticas.

Através de tentativas e erros, a causa deste problema está gradualmente a tornar-se mais clara. Após uma longa busca de pânico pela causa deste estranho comportamento do testador, descobri que:

1) o testador começou a trabalhar sem congelar apenas depois de eu ter desactivado todos os serviços do AVG Internet Security Business Edition 2012, embora eu primeiro a) tenha activado tudo para o testador nas regras do serviço de firewall neste AVG - não ajudou; b) tenha desactivado completamente o serviço de firewall - não ajudou. Agora testei o Expert Advisor com o anti-vírus desligado completamente. Agora estou a testar o Expert Advisor com o antivírus completamente desligado - sem problemas até agora.

Não é por causa dos antivírus. Bloqueará completamente ou permitirá completamente a ligação. Não é culpa sua no seu caso.


2) Em alguns pares de moedas particulares(eurchf, gbpchf), o testador ainda se pendura regularmente da forma acima descrita, apesar do antivírus completamente desactivado. Tentei executar a optimização com as mesmas condições em máquinas diferentes, mas a situação de pairar foi repetida quase numa imagem de espelho. Um a um, os agentes foram enforcados. Como resultado, a optimização ficou simplesmente parada e carregou todo o processador até ao limite. Gostaria de acrescentar capturas de ecrã e fragmentos dos registos para fundamentar a minha descrição do problema.

1. O separador "Agentes" do testador, que mostra um agente suspenso. Na imagem é pouco perceptível, pois não se vê como o progresso de outros agentes está constantemente a mudar, e o agente está pendurado no lugar.

Vejam os registos locais dos agentes que falham. Tudo está escrito nestes registos.


2. O Gestor de Tarefas mostra que o agente pendurado está a usar CPU, mas o consumo de memória não muda.

Talvez o perito seja realmente enforcado, é preciso olhar para os registos, tentar uma única execução com parâmetros de entrada enforcados. Nalguns casos, os parâmetros de entrada são tais que toda a lógica do Expert Advisor falha e tem tendência para fazer loop.


3. Um fragmento de um registo geral de optimização do desempenho mostrando uma diferença de tempo entre o último registo de uma corrida bem sucedida e uma paragem forçada dos testes pelo utilizador devido a agentes pendurados.

Uma vez que não existem erros óbvios no registo, concluí que este problema ocorre devido a bugs no código do Expert Advisor que apareceram desta forma em pares de moedas específicos. Por conseguinte, não há razão para fazer alegações sobre o desempenho do provador.

Veja os registos locais dos agentes, não o terminal.
 

O tempo está a esgotar-se - temos de trabalhar depressa.

10. Premir o botão "STOP" para iniciar o teste - botão diz "STOP

11. observar o gráfico - o resultado é fraco -.

12. prima o botão de paragem... e o botão cai, diz "START".

20. Mudo o calendário para o próximo padrão 4...

30 GOTO 10

Na 4ª passagem, o testador cai. O sistema funciona.

8(!) meta-testers in task manager (1 core-two threads)... inlive... que acabam por matar o task manager (!)

A MT fecha normalmente, assim como o editor. A única maneira de matar tudo o resto era usar três teclas para chamar a segunda instância do gestor de tarefas...

Depois de derrubar os meta-testers - tudo é desbloqueado...

 
Renat:
Não é o antivírus. Ou bloqueia completamente ou permite completamente as ligações. Não é culpa sua no seu caso.


Veja os registos locais dos agentes que estão a pairar. Tudo está escrito nestes registos.


Talvez o Expert Advisor esteja realmente congelado - é preciso olhar para os registos, tentar executar uma única execução com parâmetros de entrada congelados. Nalguns casos, os parâmetros de entrada são tais que toda a lógica do Expert Advisor falha e tem tendência para fazer loop.


Veja os registos locais dos agentes, não o terminal.

Penso ter encontrado o problema.

Ao testar a EA para o Campeonato no período "Ano passado", o Conselheiro Especialista não realizou uma única transacção, apesar de se tratar de uma EA de múltiplas moedas que corre em 10 pares. Após análise dos registos, verificou-se que o histórico em que a EA foi testada não estava completo. Pode vê-lo no fragmento dos troncos.

Depois de carregar o histórico completo dos pares de moedas do servidor MetaQuotes-Demo o Expert Advisor começou a negociar. Imediatamente corri o Consultor Especialista no par de moedas gbpchf para testes e obtive resultados aceitáveis sem soluços! Aparentemente, a história incompleta foi a causa de todos os meus problemas. Eu estava a pensar numa direcção completamente diferente.

Mas ao testar o par de moedas eurchf, os soluços continuaram. Após uma análise visual do gráfico deste par, é evidente que no período de 18.04.2012-02.09.2012 o preço tem sido muito baixo. Muito provavelmente, durante os testes alguns parâmetros, que estavam a funcionar bem no início do ano, falharam completamente, ou até causaram o congelamento do agente durante este período de "calmaria". Precisamos de escolher com mais cuidado os períodos de optimização.

Peço desculpa pela minha falta de atenção e pânico prematuro. Agradecimentos especiais pela vossa ajuda nesta matéria.

 
Diesel:

EURCHF

No período 18.04.2012-02.09.2012, o preço mostrou uma actividade muito baixa.

Naturalmente, o Swiss Centrobank indexou o franco ao euro e, se a memória não me falha, isto aconteceu no início do ano. De qualquer modo, desde então, a volatilidade naurcha diminuiu.
 

Milagres do testador ou do terminal?

O Conselheiro Especialista ficou "preso" no Campeonato, estabelece ordens de compra quando sai por uma paragem. E de acordo com os resultados do testador, o Expert Advisor deveria ter feito apenas duas transacções e estava à espera do sinal dos indicadores.


 
Crucian:

Milagres do testador ou do terminal?

O Conselheiro Especialista ficou "preso" no Campeonato, estabelece ordens de compra quando sai por uma paragem. E de acordo com os resultados do testador, o Expert Advisor deveria ter feito apenas duas transacções e estava à espera do sinal dos indicadores.


É mais um verdadeiro milagre de execução. No testador, o Expert Advisor e o servidor comercial (teste) são um-para-um. No testador existe apenas um Expert Advisor (sem vizinhos perturbadores) e todas as execuções são síncronas.

Na vida real o seu Expert Advisor está no mesmo computador com 4 dúzias de outros Expert Advisors, que também trabalham como o seu. Na vida real, o servidor comercial está a trabalhar não só com a sua EA, mas também com milhares de outros. Na vida real, a execução é assíncrona.

Já realizou um teste da sua EA no modo "atraso de execução aleatória"?

Razão: