Problema dos Terminais Globais - página 3

 

Oi, Pensamento Profundo

Eu tentei isso e sempre que tentei, o MT4 trancou tudo. Eu não estava sentado em um ponto de parada quando tentei carregar o modelo, no entanto. Vou tentar colocar um ponto de parada no início do OnStart() e ver o que acontece. A IDE deve ser parada independentemente do tipo de aplicação quando você estiver sentado em um ponto de parada. Eu apenas tentei - não funcionou. Quando o depurador atinge um ponto de parada, o terminal é congelado. A tentativa de fazer qualquer coisa o bloqueia. Eu noto que você está usando gráficos off-line. Eu não estou usando. Essa pode ser a diferença - se você estiver rodando o MT4. Obrigado pelo conselho - valeu a pena tentar. Agora eu tenho um problema maior. Meu depurador parou de funcionar. Devo ter feito algo, mas não tenho certeza do quê. Ah - a vida e os tempos de um programador. :-)

 

Não há problema.

Mas não, os gráficos offline não têm efeito sobre a economia de modelos (pelo menos com as últimas construções, como houve um bug há algumas semanas, também).

Sim, o terminal congela durante a depuração. O debugger prende a linha principal da IDE, onde todos os indicadores normalmente rodam. Ele descongela por um tempo depois de deixar seu método de evento (OnStart, OnInit), e fica vivo até que você o pare em um ponto de parada novamente.

 
ProfessorMetal:

Oi, Pensamento Profundo

Eu tentei isso e sempre que tentei, o MT4 trancou tudo. Eu não estava sentado em um ponto de parada quando tentei carregar o modelo, no entanto. Vou tentar colocar um ponto de parada no início do OnStart() e ver o que acontece. A IDE deve ser parada independentemente do tipo de aplicação quando você estiver sentado em um ponto de parada. Eu apenas tentei - não funcionou. Quando o depurador atinge um ponto de parada, o terminal é congelado. A tentativa de fazer qualquer coisa o bloqueia. Eu noto que você está usando gráficos off-line. Eu não estou usando. Essa pode ser a diferença - se você estiver rodando o MT4. Obrigado pelo conselho - valeu a pena tentar. Agora eu tenho um problema maior. Meu depurador parou de funcionar. Devo ter feito algo, mas não tenho certeza do quê. Ah - a vida e os tempos de um programador. :-)

Desculpe, mas eu não tenho nenhum problema com o depurador. Ele usa o debug.tpl que salvei e não trava.

Portanto, posso sugerir duas coisas, ou postar aqui como reproduzir seu problema, para que possamos tentar ajudar. Ou escreva para o ServiceDesk de Metaquotes.

 

Mais uma vez obrigado, DeepThought. Eu realmente não pensei que os gráficos tivessem algo a ver com isso, mas achei que valia a pena mencioná-lo, só por precaução. Se você olhou meu perfil, você terá visto que sou um desenvolvedor altamente experiente. Aprendi da maneira difícil que o que você acha que não é um problema muitas vezes acaba sendo um problema. Vale sempre a pena fazer uma pergunta, mesmo que você ache que é discutível. No entanto, acho que estou entendendo mal seu posto anterior. Se o terminal estiver congelado quando o depurador atingir um ponto de parada, não há como carregar um modelo para o gráfico em que você está. Obviamente, eu entendi mal algo que você estava tentando me dizer.

angevoyageur,

Eu não posso postar nada mais do que já tenho. Não há etapas A, B, C que estão causando isto. É agir como se estivesse tentando encontrar um modelo de depuração e falhando e assim não abrindo um gráfico. O registro parece confirmar isso. Se eu apagar o debug.tpl, o depurador abrirá um gráfico. Eu mesmo ainda tenho que configurar o gráfico, mas isso é melhor do que não ter nenhum debugging. Isto está começando a parecer um problema para a mesa de serviço. Não sei por que estou vendo isto e você e o DeepThought não estão. Eu cheguei ao ponto de reinstalar o MT4 e a situação persiste. Também pode ser que haja algo errado com meu código que está causando o travamento quando ele tenta carregar o modelo. Vou seguir esse ângulo antes de levá-lo para o Service Desk. Agora mesmo, preciso me espatifar e descansar um pouco. Estou muito cansado para me concentrar. Obrigado novamente por sua ajuda.

 
Oh, vejo agora seu ponto perdido. A palavra é que o modelo debug.tpl carrega automaticamente se o gráfico for aberto pelo depurador - o mesmo acontece para o padrão.tpl com qualquer gráfico comum, tester.tpl com um Strategy tester, offline.tpl com gráfico offline, e além do Strategy tester, <ea_name>.tpl carrega de preferência.
 

Para ser honesto, eu nunca usei o depurador. Basta usar as funções de impressão. Dessa forma, posso depurar mais rápido. É claro que uso conta demo, mas está se tornando teste para frente em vez de teste para trás.

Muitas pessoas gostam de testes para trás, mas eu gosto de testes para frente. Qual é o objetivo de otimizar os dados do histórico?

Eu faço a otimização com dados reais ao vivo. Devido a isso, minha EA se tornou 100% estável e pode lidar com a maioria dos erros sem que eu faça nada.

É claro que levei muitos meses para fazer isso, mas valeu a pena.

 
ProfessorMetal:

Mais uma vez obrigado, DeepThought. Eu realmente não pensei que os gráficos tivessem algo a ver com isso, mas achei que valia a pena mencioná-lo, só por precaução. Se você olhou meu perfil, você terá visto que sou um desenvolvedor altamente experiente. Aprendi da maneira difícil que o que você acha que não é um problema muitas vezes acaba sendo um problema. Vale sempre a pena fazer uma pergunta, mesmo que você ache que é discutível. No entanto, acho que estou entendendo mal seu posto anterior. Se o terminal estiver congelado quando o depurador atingir um ponto de parada, não há como carregar um modelo para o gráfico em que você está. Obviamente, eu entendi mal algo que você estava tentando me dizer.

angevoyageur,

Eu não posso postar nada mais do que já tenho. Não há etapas A, B, C que estão causando isto. É agir como se estivesse tentando encontrar um modelo de depuração e falhando e assim não abrindo um gráfico. O registro parece confirmar isso. Se eu apagar o debug.tpl, o depurador abrirá um gráfico. Eu mesmo ainda tenho que configurar o gráfico, mas isso é melhor do que não ter nenhum debugging. Isto está começando a parecer um problema para a mesa de serviço. Não sei por que estou vendo isto e você e o DeepThought não estão. Cheguei ao ponto de reinstalar o MT4 e a situação persiste. Também pode ser que haja algo errado com meu código que está causando o travamento quando ele tenta carregar o modelo. Vou seguir esse ângulo antes de levá-lo para o Service Desk. Agora mesmo, preciso me espatifar e descansar um pouco. Estou muito cansado para me concentrar. Obrigado novamente por sua ajuda.

Você pode tentar com um modelo muito simples? Talvez esteja relacionado com o próprio modelo? Se estiver trabalhando com um modelo simples (por exemplo, um castiçal de exibição), então vá passo a passo adicionando 1 coisa de cada vez em seu modelo.

Se não estiver funcionando desde o início, é definitivamente algo para o ServiceDesk.

 

DeepThought,

"A palavra é que o modelo debug.tpl é carregado automaticamente se o gráfico for aberto pelo depurador" Uma questão pode ser algo que mencionei anteriormente. A instalação do MT4 não tem o diretório de perfis/templates que a documentação diz que deveria ter. É por isso que eu mesmo o adicionei e depois salvei meu modelo de depuração para ele. Tentei disparar o depurador tanto com o MT4 funcionando como também com ele desligado e deixar que o depurador iniciasse tudo com os mesmos resultados. Vi um par de coisas estranhas com ambas as abordagens. O log às vezes relatará um erro de unitização 2, indicando que meu indie está recompilando quando eu inicio o depurador. Isso não faz sentido. Eu tentei iniciar o depurador tanto com o MT4 rodando como simplesmente deixando o próprio depurador iniciar tudo com os mesmos resultados. Isto só acontece se eu tiver a pasta de perfis/template no lugar com o debug.tpl nele. Se eu me livrar disso, o depurador traz um gráfico que tem o indie que estou tentando testar e nada mais. Quanto a ter o depurador em funcionamento e depois tentar carregar um modelo, o depurador se desliga instantaneamente quando seleciono o modelo e estou olhando para o gráfico como se eu tivesse iniciado o MT4 com um perfil contendo o gráfico com minha configuração.

deysmacro, eu concordo.

O teste de volta é inútil. Como você, eu só avanço o teste. Demora muito tempo, mas você obtém uma imagem muito mais precisa do que sua aplicação vai fazer. Se eu vou criar uma ferramenta para meu uso pessoal ou para venda comercial, vou julgar sua eficiência aplicando-a ao que o mercado está fazendo AGORA, não ao que fez há cinco anos. Para mim, isso é a única coisa que faz sentido.

Boa sugestão, angevoyageur. Eu mesmo deveria ter pensado nisso. Ainda não estou totalmente certo de que o índio em que estou trabalhando seja irrepreensível nisto. Calculo os pontos de entrada e saída com base nos MA's e ocasionalmente obtenho zero divisórias. Os registros sugerem que esse não é o problema, mas quem sabe. Uma razão que eu não acho que seja esse o problema é que quando eu tenho o diretório e a estrutura de arquivos configurados de acordo com a documentação é que o registro mostra que os indies e a EA são carregados com sucesso e depois imediatamente desinicializados sem dar uma razão para isso. Tenho Alertas nas funções OnInit()e OnDeinit() e nenhuma delas é executada, o que sugere que o que quer que esteja explodindo está fazendo isso antes mesmo que qualquer coisa tenha a chance de ser executada. Vou continuar ligando isto e postar sobre o que encontrar. Pode ser que eu tenha que entregar isto para o ServiceDesk. Como eu disse anteriormente, porém, tenho uma solução, por mais dolorosa que possa ser. :-)

 
ProfessorMetal:

DeepThought,

A instalação do MT4 não tem o diretório de perfis/templates que a documentação diz que deveria ter. É por isso que eu mesmo o adicionei e depois salvei meu modelo de depuração para ele.


Nenhuma das minas tem isso no diretório de instalação. Não importa.
 
DeepThought:

Nenhuma das minas tem isso no diretório de instalação. Não importa.

:-)