64 bit MT5 constrói 858 fechando...

 

Hi,

Meu corretor lançou ontem sua versão de 64 bits do build 858 do MT5 e depois de atualizar do build 842 (que tem funcionado bem) para esta nova versão, o MT5 se fecha esporadicamente (ou seja, congela e fica sem resposta). A única maneira de fechar o MT5 após isto ter ocorrido é matando-o através do Task Manager.

Esta questão ficou evidente tanto na minha máquina demo MT5 (windows 7) quanto na minha máquina VPS ao vivo MT5 (Windows Server 2008r2). Ambas as máquinas já rodavam o MT5 842 sem nenhum problema.

Nada mudou: a configuração do MT5 - os mesmos Especialistas etc. que eram usados no build 842 estão agora sendo executados nas duas instalações do build 858.

Há várias semanas, eu também liguei uma máquina de 32 bits para testar o build 858 (por algum motivo, minha avaria lançou a versão de 32 bits do build 858 há algumas semanas e a versão de 64 bits apenas ontem), com a qual eu não tive nenhum problema. Desde então, transferi minha negociação ao vivo para a plataforma de 32 bits e não tive nenhum problema até agora. A versão demo de 64 bits que estou rodando caiu mais uma vez esta tarde.

Ah, e não há nada nos logs que indique que o MT5 tenha tido problemas.

De qualquer forma, tendo estes problemas?

 
Suponho que você reportou este problema ao Service Desk ?
 
angevoyageur:
Suponho que você reportou este problema ao Service Desk ?
Ah, não - estava com pressa e me escapou completamente da cabeça! Obrigado pelo lembrete - vai fazer isso agora...
 

Situação atual desta edição - problemas de travamento ocorrem tanto com o build 858 quanto com a nova versão atualmente disponível no site da MetaQuotes - build 868. Os problemas de travamento ocorrem tanto em plataformas de 32 e 64 bits. Atualmente tenho um relatório de problemas rodando tanto com a MetaQuotes como com meu corretor.

Há mais alguém por aí tendo problemas de travamento com builds mais novos do que o build 842? Estou executando uma série de especialistas tão suspeitos que o MT5 pode precisar ser razoavelmente "carregado" para que esses problemas de travamento ocorram.

Eu também reinstalei o MT5 em várias máquinas diferentes e instâncias VPS (basicamente para descartar qualquer problema na máquina). E como estas instalações foram instalações novas, não vejo que corrompi minha instalação do MT5 de alguma forma. Eu também recompilei meus especialistas com os novos compiladores e isso também não fez diferença.

Para que conste, estou rodando exatamente os mesmos Especialistas nas mesmas máquinas que estive no ano passado (em várias construções do MT5) e NUNCA tive um caso em que o MT5 tivesse sido trancado (eu tinha ficado realmente impressionado com a estabilidade do MT5 até agora). Foi somente quando atualizei meu MT5 sem problemas - construí 842 instalações para construir 858 instalações, que estes problemas começaram a ocorrer.

 
cowil:

Situação atual desta edição - problemas de travamento ocorrem tanto com o build 858 quanto com a nova versão atualmente disponível no site da MetaQuotes - build 868. Os problemas de travamento ocorrem tanto em plataformas de 32 e 64 bits. Atualmente tenho um relatório de problemas rodando tanto com a MetaQuotes quanto com meu corretor.

Há mais alguém por aí tendo problemas de travamento com builds mais novos do que o build 842? Estou executando uma série de especialistas tão suspeitos que o MT5 pode precisar ser razoavelmente "carregado" para que esses problemas de travamento ocorram.

Eu também reinstalei o MT5 em várias máquinas diferentes e instâncias VPS (basicamente para descartar qualquer problema na máquina). E como estas instalações foram instalações novas, não consigo ver que corrompi minha instalação do MT5 de alguma forma. Eu também recompilei meus especialistas com os novos compiladores e isso também não fez diferença.

Para que conste, estou rodando exatamente os mesmos Especialistas nas mesmas máquinas que estive no ano passado (em várias construções do MT5) e NUNCA tive um caso em que o MT5 tivesse sido trancado (eu tinha ficado realmente impressionado com a estabilidade do MT5 até agora). Foi somente quando atualizei meu MT5 sem problemas - construí 842 instalações para construir 858 instalações, que estes problemas começaram a ocorrer.

Encontrei um bug na função Bars() com estes build 858/868. Este bug desacelera consideravelmente a execução do código. Talvez você também tenha este problema.
Documentation on MQL5: Timeseries and Indicators Access / Bars
Documentation on MQL5: Timeseries and Indicators Access / Bars
  • www.mql5.com
Timeseries and Indicators Access / Bars - Documentation on MQL5
 
angevoyageur:
Eu encontrei um bug na função Bars() com estes build 858/868. Este bug desacelera consideravelmente a execução do código. Talvez você também tenha este problema.

Olá - obrigado pela sua contribuição.

Eu não uso a função Bars() em meu código, mas acho um pouco preocupante que um bug sério tenha se infiltrado em uma função tão comumente usada - especialmente porque não estava lá antes... Talvez uma função relacionada que eu use, chame o mesmo código subjacente que a função Bars() chama?

Como você conseguiu detectar isso e depois isolá-lo? O tempo que a função Bars() estava levando para completar sua função, extraordinariamente longo? Se sim, de que tipo de tempo você está falando - 100's de milissegundos?

Tentando conseguir ou MetaQuotes ou meu corretor para me fornecer um build 842 ou uma versão anterior no Mo, mas sem sucesso ainda...

 
cowil:

Olá - obrigado pela sua contribuição.

Eu não uso a função Bars() em meu código, mas acho um pouco preocupante que um bug sério tenha se infiltrado em uma função tão comumente usada - especialmente porque não estava lá antes... Talvez uma função relacionada que eu use, chame o mesmo código subjacente que a função Bars() chama?

Como você conseguiu detectar isso e depois isolá-lo? O tempo que a função Bars() estava levando para completar sua função, extraordinariamente longo? Se sim, de que tipo de tempo você está falando - 100's de milissegundos?

Tentando conseguir ou MetaQuotes ou meu corretor para me fornecer um build 842 ou uma versão anterior no Mo, mas sem sucesso ainda...

Primeiramente observei que um EA não atualiza as informações exibidas no gráfico em cada tick. Então comecei a depurar o código e descobri que o OnTick() manipulador de eventos não é chamado em cada tick, o que significa que o OnTick para um tick anterior ainda está em execução.

Do que eu uso o perfilador para analisar o que está ocorrendo no OnTick() e descobri que é a função Bars() que leva muitos segundos para ser executada. Depois de verificar a função Bars() com código muito simples para confirmar que é um bug em MT5/mql5. O mesmo código está funcionando sem problemas com o build 842.

O Profiler é uma ferramenta fantástica, tão fácil de usar e poderosa.

 
angevoyageur:

Primeiramente observei que um EA não atualiza as informações exibidas no gráfico em cada tick. Então comecei a depurar o código e descobri que o OnTick() manipulador de eventos não é chamado em cada tick, o que significa que o OnTick para um tick anterior ainda está em execução.

Do que eu uso o perfilador para analisar o que está ocorrendo no OnTick() e descobri que é a função Bars() que leva muitos segundos para ser executada. Depois de verificar a função Bars() com código muito simples para confirmar que é um bug em MT5/mql5. O mesmo código está funcionando sem problemas com o build 842.

O Profiler é uma ferramenta fantástica, tão fácil de usar e poderosa.

Em primeiro lugar, obrigado heaps pela informação - muito apreciado! :)

Caramba, SEGUNDO você diz...? Isso definitivamente é um assunto sério. Acho que talvez eu faça o mesmo e veja o que meu especialista está fazendo. Eu dirijo o mesmo Expert em 8 gráficos diferentes, então odeio pensar o que poderia estar acontecendo se esses tipos de atrasos estivessem ocorrendo dentro de cada Expert.

E nenhuma alegria da MetaQuotes re: tentar construir o 842 ou mais cedo. Citação"Não, nós não temos um link para o build 842. Nós não armazenamos versões antigas em nenhum lugar". Inacreditável... :( Quando você diz que tem um build 842 lá, presumo que seja uma versão já instalada e não uma versão instalável?

 
cowil:

Em primeiro lugar, obrigado heaps para a informação - muito apreciado! :)

Caramba, SEGUNDO você diz...? Isso definitivamente é um assunto sério. Acho que talvez eu faça o mesmo e veja o que meu especialista está fazendo. Eu dirijo o mesmo Expert em 8 gráficos diferentes, então odeio pensar o que poderia estar acontecendo se esses tipos de atrasos estivessem ocorrendo dentro de cada Expert.

E nenhuma alegria da MetaQuotes re: tentar construir o 842 ou mais cedo. Citação"Não, nós não temos um link para o build 842. Nós não armazenamos versões antigas em nenhum lugar". Inacreditável... :( Quando você diz que tem um build 842 ali, presumo que seja uma versão já instalada e não uma versão instalável?

Sim, já instalada a partir de um corretor (veja seu PM).
 

Bem, meu próprio corretor também não poderia me fornecer uma versão mais antiga. Por incrível que pareça, nem meu (grande) corretor, nem a grande empresa de software que realmente desenvolve o software (ou seja, MetaQuotes) poderia me fornecer uma única construção anterior do MT5. Inacreditável!!

PORTANTO, PARA QUALQUER PESSOA QUE LEIA ESTE POST, A ATUALIZAÇÃO É BASICAMENTE UMA VIA DE SENTIDO ÚNICO! POR INCRÍVEL QUE PAREÇA, NÃO HÁ CONSTRUÇÕES ANTERIORES DISPONÍVEIS PARA VOLTAR NO CASO DE UM LANÇAMENTO PROBLEMÁTICO DO MT5!!!! SOKE DAMN TESTE TUDO O QUE VOCÊ TESTE TUDO ANTES DE COMPROMETER UMA NOVA LIBERTAÇÃO, ESPECIALMENTE AO VIVO (ou seja, usando dinheiro real) MEIO AMBIENTE!!!

Se você se descuidou como eu desta vez (ou seja, NÃO testou tudo completamente antes de se comprometer com um novo lançamento), está tendo os mesmos problemas ou problemas similares que eu e esgotou todas as outras opções, aqui está o hack que usei que funcionou para mim. Isto não significa que funcionará para você e eu aconselharia qualquer um a fazer isto somente quando você (a) estiver completamente ferrado (como eu estava) e (b) souber um pouco sobre computadores:

1. Encontre alguém que ainda tenha uma instalação do build 842 em funcionamento.

2. Peça-lhes que façam uma cópia de toda a estrutura do diretório de instalação do MT5 e a coloquem em um diretório temporário em seu computador.

3. 3. Peça a eles para então percorrer os diretórios ../bases/xxx/history/<SymbolPair> (da instalação MT5 copiada em seu diretório temporário) e apagar o conteúdo completo de cada diretório (Esta etapa basicamente remove os dados do histórico daquele corretor em particular).

4. Uma vez que os dados do histórico tenham sido removidos, peça-lhes para zipar toda a estrutura do diretório de instalação em seu diretório temporário e enviá-los a você (eu usei a caixa suspensa para isso).

5. Em seu próprio computador, instale o build 858/868 (isto assegura que as configurações de registro apropriadas estejam definidas).

6. Descompacte toda a instalação do MT5 recebido, em um diretório temp em seu computador e renomeie o diretório de instalação do MT5 recebido (em seu diretório temp), para o nome do diretório de instalação que você usou na instalação 858/868 acima.

7. Elimine a estrutura do diretório de instalação do MT5 858/868 e substitua-o por aquele que você tem atualmente em seu diretório temp.

8. É provável que os arquivos no diretório MT5 substituído sejam todos marcados como Read-Only. Marque-os para Leitura/Escrita.

8. Acione o MT5. Agora você deve ter uma versão funcional do 842. Naturalmente, agora você precisará configurar o nome do servidor de seu corretor (se sua instalação recebida do 842 foi configurada para usar outro corretor que não o seu), login e senha na aba "Ferramentas" -> "Opções" -> "Servidor".

Mais uma vez, quero enfatizar que este é um hack de último recurso que não é endossado por mim e certamente não será endossado nem pela MQ nem por seu corretor. Entretanto, tempos desesperados às vezes exigem medidas desesperadas. Se você estiver precisando de um build 842 instalação drop-boxed para você, por favor, me avise.

 
angevoyageur:
Sim, já instalado por um corretor (veja seu PM).

Hi,

Tentei vários corretores para uma construção 842, mas os que encontrei já haviam sido atualizados. No final, o hack acima me colocou em funcionamento novamente - desde então (dedos cruzados) minha instalação do MT5 não sofreu mais nenhum acidente.

Uma coisa que notei imediatamente foi que o build 842 parecia funcionar muito mais eficientemente do que os dois builds mais novos (ou seja, menos uso de processador), então suspeito que uma variação do problema que você estava experimentando com a função Bars() pode estar ocorrendo com outra função que eu faço uso dentro de meus especialistas. É hora de tirar o Profiler e começar a executar meus próprios testes que eu penso. E se eu descobrir qual é o problema, a MetaQuotes pode muito bem me pagar os 300 Euros que perdi (devido a esta construção problemática) por esse conhecimento! :)

De qualquer forma, obrigado novamente por toda a sua ajuda - muito apreciado!