Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Acontece que o método de aprimoramento do código do indicador usual não pode resolver globalmente o conflito com EAs em códigos fechados que usam objetos.
Espero que o aprimoramento do Expert Advisor resolva globalmente o conflito com todos os indicadores do painel (que é minha tarefa).
Eu escrevi no tópico MT4 build 1353, talvez os programadores de terminal prestem atenção.
P.S. Fiz alterações nas corujas e os esquis não funcionaram...
Examine todo o código (indicador e Expert Advisor) para descobrir onde e por que ObjectGetXXX, ObjectFind, ObjectsTotal, ObjectName etc. são chamados - eles são síncronos e podem deixar tudo muito lento. Tente se livrar deles, se possível.
Não se esqueça de chamar ChartRedraw()!!!! acima...
Senhores moderadores, estão me atribuindo todo tipo de absurdo e não me permitem responder? Incrível!
Examine todo o código (indicador e EA) para descobrir onde e por que ObjectGetXXX, ObjectFind, ObjectsTotal, ObjectName, etc. são chamados - eles são síncronos e podem tornar tudo muito lento. Tente se livrar deles, se possível.
Não se esqueça de chamar ChartRedraw()!!!! acima...
Você só precisa fazer OnChartEvent() com sabedoria e não reagir a todos os eventos seguidos. Ou eu não sei o que está acontecendo... E por que ficar sentado aqui pensando em um cara que nem sequer se digna a mostrar o código com o problema?
Agora inseri um loop de 1000000 repetições de ObjectFind() e ObjectGet() - tudo está normal.
Senhores moderadores, estão me atribuindo todo tipo de absurdo e não me permitem responder? Incrível!
Você não é o único que foi submetido a essa seletividade.
Você só precisa usar OnChartEvent() com sabedoria e não reagir a todos os eventos seguidos. Ou eu não sei o que é isso.... E por que ficar sentado aqui pensando no cara que nem se dá ao trabalho de mostrar o código com o problema?
Agora inseri um loop de 1000000 repetições de ObjectFind() e ObjectGet() - tudo está normal.
Bem, vou escrever pela quarta vez, não é difícil para mim.
https://www.mql5.com/ru/forum/379526/page9#comment_25865481
Se você abrir o link, encontrará um anexo com o código na parte inferior da postagem. Em seguida, você poderá ler as postagens, por quem e como a discussão foi desenvolvida lá.
O problema não está especificamente no código proposto (você mesmo pode escrever qualquer Expert Advisor com um objeto), mas em um erro global que afeta todos os Expert Advisors com objetos (com uma única exceção) ao trabalhar com a função de alternância de gráfico por meio de um indicador.
Nikolay ofereceu sua solução, mas eu tenho erros com o trabalho desse código, e estou lidando com o problema mais a fundo.
Você só precisa usar OnChartEvent() com sabedoria e não reagir a todos os eventos seguidos. Ou eu não sei o que é isso.... E por que ficar sentado aqui pensando em um cara que nem se dá ao trabalho de mostrar o código com o problema?
Agora inseri um loop de 1000000 repetições de ObjectFind() e ObjectGet() - tudo está normal.
Tenho uma vaga dúvida: você já escreveu algo mais complicado do que um loop?
Bem, vou escrever pela quarta vez, não há problema para mim.
https://www.mql5.com/ru/forum/379526/page9#comment_25865481
Se você abrir o link, encontrará um anexo com o código na parte inferior da postagem. Depois, você poderá ler as postagens, por quem e como a discussão foi desenvolvida lá.
O problema não está especificamente no código proposto (você mesmo pode escrever qualquer Expert Advisor com um objeto), mas em um erro global que afeta todos os Expert Advisors com objetos (com uma única exceção) ao trabalhar com a função de alternância de gráfico por meio de um indicador.
Nikolay ofereceu sua solução, mas eu tenho erros com o trabalho desse código, e estou lidando com o problema mais a fundo.
Aqui estão as alterações:
Consegui me livrar dos terríveis travamentos. E se você pressionar os botões em um ritmo moderado, tudo estará bem.
Mas, se você começar a bater como um pica-pau, terá travamentos novamente, só que eles são diferentes e mais curtos. Não acho que
que você não possa se livrar deles. Talvez isso esteja relacionado à construção do cronograma.
Preciso trabalhar nos botões para que haja posições pressionadas/não pressionadas e introduzir inércia para que o botão não seja pressionado imediatamente.
Um atraso de 0,1 segundo resolveria a situação e o usuário não perceberia.
--
Na verdade, sem um especialista, você pode martelar os botões em um ritmo furioso....
E aqui estamos, eu me livrei completamente dos ganchos.
Pode estar torto, mas o ponto é o principal:
O objetivo é não excluir um objeto ao alternar o gráfico.
Devemos ver o que acontece quando Destroy()... se é possível deixá-lo assim...
Olá a todos!)
Peço desculpas, mas se estivermos falando sobre o mq4, talvez isso possa ser resolvido da seguinte forma :?)
Isso é o que mais pode criar freios:
Por quê?