Discussão do artigo "Guia prático do MQL5: Controles de sub-janela indicadora - botões" - página 3

 
DC2008:

Ah, que bom. Então está claro para um iniciante por que você usa um cronômetro?

Deveria estar, pois há uma explicação no artigo e uma sugestão de alternativa como lição de casa. )
 
tol64:
Isso deve estar claro, pois o artigo tem uma explicação e oferece uma alternativa como lição de casa. )

Bom. Explique-me pessoalmente: por que preciso de um cronômetro?

 
DC2008:

Certo. Explique-me pessoalmente: por que preciso de um cronômetro?

Está quase no final do artigo. Antes do vídeo.
 
tol64:
O assunto está quase escrito no final do artigo. Antes do vídeo.

O que você acha, eu não li o artigo e não vi onde você escreveu sobre o cronômetro? Prove que suas "receitas" são comestíveis. "Explique-me: por que preciso de um cronômetro?

 
DC2008:

O que você acha, eu não li o artigo e não vi onde você escreveu sobre o cronômetro? Prove que suas "receitas" são comestíveis. "Explique-me: por que preciso de um cronômetro?

Estou citando o artigo:

Finalmente, uma explicação de por que precisamos incluir um cronômetro neste programa. Por exemplo, se houver mais de um programa em execução no gráfico e cada programa precisar rastrear eventos do mouse, quando um deles for removido do gráfico, o rastreamento será desativado na função OnDeinit() para todos os programas. É por isso que é possível, como opção, verificar se o rastreamento de eventos do mouse está ativado a cada segundo.

...

Às vezes, pode ser suficiente definir essa verificação pelo evento com o identificador CHARTEVENT_CHART_CHANGE.

O destaque em vermelho é uma dica para o leitor (iniciante) de que isso pode ser feito de forma diferente. Fiz isso em um cronômetro propositalmente, para que o aluno pudesse fazer pelo menos o mínimo esforço para descobrir algo por conta própria e decidir por si mesmo qual maneira funciona melhor para ele.

 

Em outras palavras, você não consegue explicar por que precisa de um timer. Bem, vamos continuar lendo:

tol64:

Por exemplo, se houver mais de um programa em execução no gráfico e cada um deles precisar rastrear eventos do mouse, quando um deles for removido do gráfico, o rastreamento será desativado na função OnDeinit() para todos os programas.

Você pode provar essa afirmação?

 

E, ao mesmo tempo, se você não se importar, mostre aos "iniciantes" onde e como colocar as funções dos botões.

 
DC2008:

Em outras palavras, você não consegue explicar por que precisa de um timer. Certo, continue lendo:

Isso está ficando ridículo. Aqui está a resposta (duplicada):

E, finalmente, uma explicação de por que precisamos ativar o cronômetro nesse programa. Por exemplo, se houver mais de um programa em execução no gráfico e cada programa precisar rastrear os eventos do mouse, quando um deles for removido do gráfico, o rastreamento será desativado na função OnDeinit() para todos os programas. É por isso que você pode, como opção, verificar se o rastreamento de eventos do mouse está ativado a cada segundo.

Você pode provar essa afirmação?

Claro que sim! Posso responder por qualquer palavra. )) Mas, para ser honesto, se você encontrou uma discrepância, deve fornecer evidências. O artigo, a propósito, foi escrito há seis meses e só agora foi transferido para este site. Não é de excluir que um bug possa ter se formado em algum lugar durante esse período.

É como o Service Desk. Se você encontrou um erro no terminal ou na linguagem MQL, é você quem deve dar um exemplo e uma sequência de ações para reproduzir o erro/incompatibilidade.

Na verdade, você insistiu tanto em verificar se tudo está realmente como está escrito que eu mesmo já verifiquei (novamente). Descobri algo interessante. Não foi anunciado nos anúncios, ou talvez tenha sido, mas não consigo encontrar. Isso realmente não diminui a veracidade da declaração duplicada acima. É realmente tudo verdade. Mas eu ainda estaria interessado em ver uma prova sua. E se você a fornecer, eu a refutarei. Isso seria mais interessante.

Combinado? ))

 
DC2008:

E, ao mesmo tempo, se você não se importar, mostre aos "iniciantes" onde e como colocar as funções de botão.

Neste exemplo, as funções de botão são colocadas na função OnInit(). Mas vamos lidar primeiro com as provas acima. ))
Документация по MQL5: Основы языка / Функции / Функции обработки событий
Документация по MQL5: Основы языка / Функции / Функции обработки событий
  • www.mql5.com
Основы языка / Функции / Функции обработки событий - Документация по MQL5
 
tol64:

Isso está ficando ridículo...

Tudo bem, vamos rir um pouco. O artigo foi escrito por você, "ninguém puxou sua língua".

Portanto, a explicação na forma de citações para o inexplicável é, no mínimo, desrespeitosa com seus leitores. As perguntas devem ser respondidas com exemplos e links para fontes primárias.

Um código confuso e sobrecarregado com funções desnecessárias apenas engana os "iniciantes".

E o fato de que "as funções de botão são colocadas na função OnInit" é muito engraçado!