Erros, bugs, perguntas - página 969

 
zfs:

Acha que deve verificá-lo ou ter a certeza).

...

Bom, verifique-a já. Tem um problema, por isso deve verificá-lo. )) Normalmente começo a verificar quando preciso de ter a certeza. E nos indicadores após o cálculo principal, o último valor é normalmente actualizado e nunca notei qualquer problema. E ninguém parece ter reparado nisso, excepto você. Foi por isso que me deixou curioso. ))

Vejo uma imagem diferente em computadores diferentes, por isso tenho algo com que a comparar. (De qualquer forma não consigo obter a verdade, por isso tudo o que temos de fazer é resmungar no fórum).

Eu corro um terminal com aplicações pesadas, não é carregado como uma aplicação e é apenas visível como um processo. Se eu atirar a aplicação para um terminal aberto, não será pendurada. Mas ao arrancar pende ou não é carregado como aplicação. Por isso, tenho de desinstalar a aplicação antes de sair. Escrevi ao servicedesk pedindo para poder fechar a aplicação sem fechar o terminal ou limpar pastas.

O que entende por candidatura? Aplica a palavra "aplicação" tanto como algo separado do terminal como do próprio terminal, por isso é difícil de o compreender.

O que significa fechar a aplicação sem fechar o terminal? Não pode remover um Expert Advisor, um indicador ou um guião de um gráfico?

 
tol64:

Bom, verifique-a já. Tem um problema, por isso deve verificá-lo. )) Normalmente começo a verificar quando preciso de ter a certeza. E nos indicadores após o cálculo principal, o último valor é normalmente actualizado e não notei qualquer problema. E ninguém parece ter reparado nisso, excepto você. Foi por isso que me deixou curioso. ))

O que entende por candidatura? Utiliza a palavra "aplicação" tanto como algo separado do terminal como como o próprio terminal, por isso é difícil de o compreender.

O que quer dizer com "fechar a aplicação sem fechar o terminal"? Não pode remover um Expert Advisor, um indicador ou um guião de um gráfico?

Sim, preciso de pensar como obter este resultado. Se eu nem sequer consigo
double iCloseMQL4

Se não o obtiver, verifica-se que as carraças não são saltadas, mas os cálculos são sobrepostos uns aos outros. Mas não é um facto, é mais uma ópera diferente.

As aplicações no meu caso são o indicador mas também o guião e o Expert Advisor. Não posso remover o indicador do terminal até que ele falhe os cálculos, este também foi o caso em 4, ou seja, ele fica pendurado. Não posso carregar o terminal se o indicador estiver pendurado na tabela à saída, apenas apagando ficheiros de pastas. Não posso compilar o indicador, se estiver pendurado no gráfico - pode ficar pendurado novamente. A aplicação está também no gestor de tarefas do próprio terminal. Desculpem a confusão.

Документация по MQL5: Файловые операции / FileDelete
Документация по MQL5: Файловые операции / FileDelete
  • www.mql5.com
Файловые операции / FileDelete - Документация по MQL5
 
zfs:
...

A aplicação no meu caso é o indicador mas também o guião e o Expert Advisor. Não posso remover o indicador do terminal até que ele falhe os cálculos, este também foi o caso em 4, ou seja, ele fica pendurado. Não posso carregar o terminal se o indicador estiver pendurado na tabela à saída, apenas apagando ficheiros de pastas. Não posso compilar o indicador, se estiver pendurado no gráfico - pode ficar pendurado novamente. A aplicação está também no gestor de tarefas do próprio terminal. Desculpem a confusão.

Tente usar IsStopped():

for(int i=0; i<rates_total && !IsStopped(); i++)
   {
    
   }

Quando o tiver experimentado, escreva se foi ou não capaz de parar os cálculos do seu indicador e remover o programa do gráfico. Em geral, seria desejável analisar o código do indicador.

 
tol64:

Tente usar IsStopped():

Quando o tiver experimentado, escreva se conseguiu ou não parar os cálculos do seu indicador e remover o programa do gráfico. De um modo geral, é desejável analisar o código do indicador.

Nos indicadores, a bandeira de paragem não é colocada.
 
uncleVic:
Nos indicadores a bandeira de paragem não é colocada.

Depois, parece que a descrição na Ajuda precisa de ser complementada/especificada:

//---

Verifica o encerramento forçado de um programa mql5.

Valor devolvido

Retorna verdadeiro, se a variável do sistema _StopFlag contiver um valor diferente de 0. Um valor diferente de zero é escrito em _StopFlag, se um comando para desligar o programa mql5 tiver sido recebido. Neste caso, o programa deve ser terminado o mais cedo possível, caso contrário o programa será concluído à força a partir do exterior após 3 segundos.

//---

...Ou acrescentar também a possibilidade de rescisão forçada nos indicadores.

Muitos indicadores no CodeBase utilizam esta função, e acontece que ela não funciona em indicadores. ))

 
tol64:

Depois, parece que a descrição na Ajuda precisa de ser complementada/especificada:

//---

//---

...ou acrescentar também a possibilidade de rescisão forçada nos indicadores.

Muitos indicadores em CodeBase utilizam esta função, mas parece que não funciona em indicadores. ))

IsStoped em indicadores tem sido discutido no fórum. Ainda não compreendo que o IsStoped esteja presente nos indicadores por defeito, mas a administração diz que não é necessário.
 
paladin800:
IsStoped em indicadores tem sido discutido no fórum. Ainda é um mistério para mim que o IsStoped esteja presente nos indicadores padrão, mas a administração diz para não o fazer.
Sim, eu lembro-me. Tive um caso recentemente quando, depois de entrar num laço eterno e apagar um indicador de um gráfico, IsStopped() não ajudou e o laço eterno teve de ser parado fechando o terminal.
 
tol64:
Sim, eu lembro-me. Tive um caso recentemente quando, depois de entrar no laço perpétuo e apagar o indicador do gráfico IsStopped() não ajudou e o laço perpétuo teve de ser parado fechando o terminal.

IsStopped() usado para ajudar a combater o looping - isso é certo. Desde há algum tempo que o "loop perpétuo" não é curado peloIsStopped() e, de facto, temos de apagar o processo terminal a fim de restaurar a operação. Embora o indicador do tipo seja eliminado do gráfico sem qualquer problema, mas o gráfico fica pendurado.

Por diversão, pode tentar um indicador com um laço especial. A propósito, como se supõe que em tal caso, OnDeinit() não funciona.

Arquivos anexados:
test.mq5  1 kb
 
tol64:

Depois, parece que a descrição na Ajuda precisa de ser complementada/especificada:

//---

//---

...ou acrescentar também a possibilidade de rescisão forçada nos indicadores.

Muitos indicadores em CodeBase utilizam esta função, mas parece que não funciona em indicadores. ))

Acho que isso é apenas o início da história.

Não compreendo as razões da divisão em indicadores e consultores especializados, como se o compilador não compreendesse o que lá têm. Também não compreendo a razão de tal restrição. Eu costumava ter comércio indicador em 4. Mas na sua forma pura, se eu chamar um comando comercial, o indicador fica pendurado e eu tenho de o contornar através da biblioteca.

 

Boa tarde querido MQ!

Há algumas questões:

1. tem funcionado recentemente que haverá um API para Alert's. Talvez já tenha aparecido, como aprender sobre isso?

2. tudo é feito em relação ao insecto com a palavra-chave isto... Nenhuma ponta de ferramenta com nomes de funções de classe é afixada depois dela. Mais uma vez, quando é que isto será corrigido, como é que o saberemos prontamente?

Obrigado pelo seu trabalho!

Документация по MQL5: Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this
Документация по MQL5: Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this
  • www.mql5.com
Основы языка / Типы данных / Ссылки. Модификатор & и ключевое слово this - Документация по MQL5