Problema dos Terminais Globais - página 2

 

Obrigado, Pensamento Profundo. Vou dar uma olhada nas coisas. Já não tento há algum tempo. Comecei a programar no final dos anos 70, quando não existiam IDES ou depuradores. Os PC's nem sequer existiam. Usamos editores de texto para criar nossos programas e inserimos declarações impressas para "debugar". Eu tenho usado Alertas porque posso vê-los quando acontecem e automaticamente recebo um registro que posso voltar e ver. Ei, isso é melhor do que o tínhamos "no passado" :-)

Você está certo sobre as informações disponíveis. Definitivamente, está faltando. Eu recebo a maior parte das minhas informações entrando no fórum e fazendo perguntas. Eu tento fornecer informações úteis em troca se eu descobrir uma solução para uma questão de programação. Somos todos Devs. Temos que trabalhar juntos aqui. Prazer em conhecê-lo. :-)

 
Anos setenta? Eu tenho TI-57 com (eu acho) 100 passos. Será que conta para desenvolver carreira?
 
Em meu livro, sim. A programação em uma calculadora programável requer algum poder de fogo mental. Definitivamente não é a coisa mais fácil de se fazer no mundo. :-)
 
ProfessorMetal:

Obrigado, Pensamento Profundo. Vou dar uma olhada nas coisas. Já não tento há algum tempo. Comecei a programar no final dos anos 70, quando não existiam IDES ou depuradores. Os PC's nem sequer existiam. Usamos editores de texto para criar nossos programas e inserimos declarações impressas para "debugar". Eu tenho usado Alertas porque posso vê-los quando acontecem e automaticamente recebo um registro que posso voltar e ver. Ei, isso é melhor do que o tínhamos "no passado" :-)

Você está certo sobre as informações disponíveis. Definitivamente, está faltando. Eu recebo a maior parte das minhas informações entrando no fórum e fazendo perguntas. Eu tento fornecer informações úteis em troca se eu descobrir uma solução para uma questão de programação. Somos todos Devs. Temos que trabalhar juntos aqui. Prazer em conhecê-lo. :-)

Hi,

Que informações você está faltando sobre o depurador? Você verificou o arquivo de ajuda do MetaEditor ?

Há um bug conhecido com o build 646, com uma correção disponível.

 

Sim, eu verifiquei o arquivo de Ajuda. Algumas destas informações aparentemente não estavam disponíveis quando o fiz (que estava em build 600 ou mais, se bem me lembro). Não me lembro de ter visto uma aba debug no diálogo Opções naquele ponto. Também não vi nenhuma menção a ela na documentação. Obviamente, a correção 646 não estava disponível na época. Se você quiser, esclareça-me algumas coisas. Eu escrevo e mantenho meu código do projeto (e uma cópia do MetaEditor atual) em uma pasta de diretório dedicada a esse propósito e copio os executáveis para a pasta de instalação apropriada do MT4 para teste (apenas para frente, eu não retrocedo no teste). Faz sentido para mim que o projeto que você está tentando depurar precisa estar na pasta apropriada em sua instalação do MT4 e que você precisa usar o aplicativo MetaEditor de seu aplicativo MT4 em execução e abrir os arquivos mq4, etc. que estão residindo na pasta de instalação ou o depurador não saberá o que você está tentando depurar. O indicador no qual estou trabalhando só tem um único arquivo mq4, então estou assumindo que é isso que precisa ser aberto no MetaEditor. Correto? Essa é a abordagem que tomei desde o início, assumindo que o depurador e o MT4 em execução não poderia saber nada sobre o que eu tinha em meu diretório de desenvolvimento separado.

Provavelmente não chegarei a isso até o início da próxima semana. Estou nos EUA e estive acordado a noite toda trabalhando. Está na hora de eu "acertar o feno", como dizemos aqui nos Estados Unidos. Obrigado por sua resposta e eu definitivamente postarei e lhe informarei o que encontro quando tentar a atual encarnação do depurador. Como já disse anteriormente, sei que o que o MQ está fazendo aqui não é trivial. Terei prazer em ajudar de qualquer maneira que puder.

Tenha um ótimo fim de semana, angevoyageur.

 
ProfessorMetal:

Sim, eu verifiquei o arquivo de Ajuda. Algumas destas informações aparentemente não estavam disponíveis quando o fiz (que estava em build 600 ou mais, se bem me lembro). Não me lembro de ter visto uma aba debug no diálogo Opções naquele ponto. Também não vi nenhuma menção a ela na documentação. Obviamente, a correção 646 não estava disponível na época. Se você quiser, esclareça-me algumas coisas. Eu escrevo e mantenho meu código do projeto (e uma cópia do MetaEditor atual) em uma pasta de diretório dedicada a esse propósito e copio os executáveis para a pasta de instalação apropriada do MT4 para teste (apenas para frente, eu não retrocedo no teste). Faz sentido para mim que o projeto que você está tentando depurar precisa estar na pasta apropriada em sua instalação do MT4 e que você precisa usar o aplicativo MetaEditor de seu aplicativo MT4 em execução e abrir os arquivos mq4, etc. que estão residindo na pasta de instalação ou o depurador não saberá o que você está tentando depurar. O indicador no qual estou trabalhando só tem um único arquivo mq4, então estou assumindo que é isso que precisa ser aberto no MetaEditor. Correto? Essa é a abordagem que tomei desde o início, assumindo que o depurador e o MT4 em execução não poderia saber nada sobre o que eu tinha em meu diretório de desenvolvimento separado.

Provavelmente não chegarei a isso até o início da próxima semana. Estou nos EUA e estive acordado a noite toda trabalhando. Está na hora de eu "acertar o feno", como dizemos aqui nos Estados Unidos. Obrigado por sua resposta e eu definitivamente postarei e lhe informarei o que encontro quando tentar a atual encarnação do depurador. Como já disse anteriormente, sei que o que o MQ está fazendo aqui não é trivial. Terei prazer em ajudar de qualquer maneira que puder.

Tenha um ótimo fim de semana, angevoyageur.

Seja bem-vindo. Informe-me sobre qualquer problema que você possa encontrar ao usar o depurador. Eu ajudarei se puder, pois funciona muito bem para mim.

Se você estiver mantendo seu arquivo fora da pasta de dados MT4, é melhor manter tudo em um único arquivo e depois copiá-lo na pasta certa ao depurar.

 

Ei, angevoyageur

Isto pode merecer uma linha própria, mas aqui vai - quando eu começo o depurador, eu realmente preciso ter o gráfico que ele traz definido de acordo com minhas especificações. Tenho um indicador de que já terminei, bem como algumas outras coisas que quero no gráfico. Além disso, preciso que o gráfico seja ajustado para certas especificações, como a exibição de castiçais, zoom para um determinado ponto, etc. Preciso ter isso para que eu possa me concentrar no início do indicador que estou desenvolvendo e observar o que ele faz. Na situação atual, ou a execução explodiu por mim e fez coisas que eu perdi, invalidando assim minha execução de teste ou se eu tentar configurar tudo bloqueia e acabo tendo que usar o Gerente de Tarefas para fechar e tentar novamente.

O gráfico de preços que a janela de depuração traz para cima está completamente fora do lado direito do gráfico, o que resulta na exibição de indicadores comerciais que eu não consigo ver. Como resultado, eu não sei o que acabou de acontecer ou por quê. A documentação da MQL5 diz que existe um arquivo de debug.tpl na pasta profile/templates que, presumo, permitiria que você configure este tipo de coisa para que sua janela de debug fosse configurada da maneira que você precisa. Minha instalação do MT4 não tem tal pasta e criar uma e salvar um arquivo de modelo nela não funcionou. Não pensei que funcionasse, mas tentei de qualquer forma.

Existe uma solução para isto que simplesmente não estou encontrando ou a versão atual do MQL4 simplesmente não tem esta funcionalidade? Outra coisa que seria muito legal seria ter um popup de ponta de ferramenta que lhe daria o valor de uma variável no mouseover.

Não quero ser chato, mas você disse que se eu encontrasse alguma coisa ... :-)

 
ProfessorMetal:

Ei, angevoyageur

Isto pode merecer uma linha própria, mas aqui vai - quando eu começo o depurador, eu realmente preciso ter o gráfico que ele traz definido de acordo com minhas especificações. Tenho um indicador de que já terminei, bem como algumas outras coisas que quero no gráfico. Além disso, preciso que o gráfico seja ajustado para certas especificações, como a exibição de castiçais, zoom para um determinado ponto, etc. Preciso ter isso para que eu possa me concentrar no início do indicador que estou desenvolvendo e observar o que ele faz. Na situação atual, ou a execução explodiu por mim e fez coisas que eu perdi, invalidando assim minha execução de teste ou se eu tentar configurar tudo bloqueia e acabo tendo que usar o Gerente de Tarefas para fechar e tentar novamente.

O gráfico de preços que a janela de depuração traz para cima está completamente fora do lado direito do gráfico, o que resulta na exibição de indicadores comerciais que eu não consigo ver. Como resultado, eu não sei o que acabou de acontecer ou por quê. A documentação da MQL5 diz que existe um arquivo de debug.tpl na pasta profile/templates que, presumo, permitiria que você configure este tipo de coisa para que sua janela de debug fosse configurada da maneira que você precisa. Minha instalação do MT4 não tem tal pasta e criar uma e salvar um arquivo de modelo nela não funcionou. Não pensei que funcionasse, mas tentei de qualquer forma.

Existe uma solução para isto que simplesmente não estou encontrando ou a versão atual do MQL4 simplesmente não tem esta funcionalidade? Outra coisa que seria muito legal seria ter um popup de ponta de ferramenta que lhe daria o valor de uma variável no mouseover.

Não quero ser chato, mas você disse que se eu encontrasse alguma coisa ... :-)

Ah ah. Você não lê o arquivo de ajuda, está tudo lá. No MetaEditor, menu Ajuda, tópicos de Ajuda, procure por "Debugging".

Você tem que definir as opções de depuração para Symbol/Timeframe que você precisa executar. Você pode usar um modelo de debug.tpl para definir o gráfico como você quiser.

 

Eu li o arquivo de Ajuda. Foi aí que obtive as informações que citei. Além disso, as opções de depuração para o Símbolo e o período de tempo estão definidos para onde eu os quero. Isto é o que diz a documentação e, até onde posso encontrar, tudo o que diz sobre o assunto.

Presetting

Before you start the program debugging, it's necessary to check its parameters in the "Debugging" tab of the MetaEditor options window. In this window you can specify a symbol and a chart period, in which the debugging of applications will be performed. Such a chart will be temporarily created each time when debugging is started, and it will be deleted after the debugging completion.

The "debug.tpl" template located in the /profiles/templates folder of the client terminal is applied to a chart created for debugging.
 

Como eu disse, a instalação do MT4 não tem este diretório, então eu o criei, configurei um gráfico do jeito que eu queria e o salvei lá como debug.tpl. Aqui está como deveria ser:

Configuração do gráfico A

Como você pode ver, eu tenho um EA e dois indicadores no gráfico. Todas as coisas da Moving Average na janela principal são os indie em que estou trabalhando. O que está na parte inferior do gráfico é aquele que eu já criei. Isto é o que salvei como debug.tpl. O debugger não o usa. Ele abre uma janela do gráfico e o diálogo de propriedades do meu indicador MA e exibe o indicador na janela principal. A janela é ampliada e o preço é exibido como barras. Posso configurar tudo manualmente, mas isso significa ter que configurar tudo cada vez que faço uma execução de depuração e também é muito provável que eu vá perder alguma coisa porque a execução do código foi acionada enquanto eu estava configurando o gráfico de volta.

Como eu disse, parece que esta funcionalidade não está implementada no MQL4.

 

Oi Jeff,

enquanto você está sentado em um ponto de parada em um depurador, a IDE parece estar parada (não tenho bem certeza sobre EAs e scripts, mas acredito que os indicadores estejam). Portanto, os indicadores no modelo não devem interferir.

Não se preocupe com a localização física do arquivo do modelo. Use o botão direito do mouse sobre o gráfico que você deseja usar como modelo para depuração:

Como você pode ver, eu tenho vários modelos para depuração já salvos, então eu geralmente escolho carregar, por exemplo, Debug-1, depois Save template e sobrescrevo o Debug.tpl

Eu o vi chorando por ajuda antes, mas você pediu explicitamente ao moderador, então eu estava esperando por sua resposta qualificada.