Por que os indicadores (linhas, setas, histogramas) estão cintilando no terminal MT5? - página 8

 
-Aleks-:

Estou falando do indicador padrão ZigZag do MT5.

Não quero nem olhar para o ziguezague padrão, é uma vergonha para o MT5, deixar os desenvolvedores resolverem sua própria criação.

 
Sergey Chalyshev:

Não quero nem olhar para o ziguezague padrão, é uma vergonha para o MT5, deixar os desenvolvedores resolverem sua própria criação.

A parte mais triste é que eles ignoram esta questão.
 
Sergey Chalyshev: Este indicador em particular é defeituoso? Vou analisar isso a meu bel-prazer.

Com relação a este indicador em particular, a falha é assim: os nomes e valores dos dois buffers indicadores desaparecem na janela de dados por algum tempo (1-2 segundos) e depois reaparecem. O indicador, que também cintila no gráfico, ainda não posso citar aqui, porque é o do autor. A única coisa que posso dizer sobre ele é que ele usa o tipo de desenho DRAW_SECTION, ou seja, ele contém a seguinte linha

#property  indicator_type1  DRAW_SECTION


Eu diria que talvez apenas aqueles indicadores que foram criados usando os tipos DRAW_SECTION ou DRAW_ZIGZAG ou seus homólogos coloridos DRAW_COLOR_SECTION ou DRAW_COLOR_ZIGZAG tenham um desenho a descoberto (piscando). Embora o desaparecimento de nomes e valores de buffers indicadores seja típico para outros tipos de construções gráficas da enumeração ENUM_DRAW_TYPE.

 
Também descobriu que as piscadas são acionadas por chamadas CopyTicks/CopyTicksRange.
 
Stanislav Korotky:
Descobri também que as piscadelas são causadas por chamadas CopyTicks/CopyTicksRange.

Novas barras são adicionadas ao histórico - o indicador reconstrói (limpa o buffer, recalcula tudo de novo). Portanto, ela pisca.
Assim que a história estiver totalmente carregada/construída, o piscar vai desaparecer.

 
Taras Slobodyanik:

Novas barras são adicionadas ao histórico - o indicador reconstrói (limpa o buffer, recalcula tudo novamente). Portanto, ela pisca.
Assim que a história estiver totalmente carregada/construída, o piscar vai desaparecer.

Não, a história do bar tem sido carregada há muito tempo.

 
Taras Slobodyanik:

Novas barras são adicionadas ao histórico - o indicador reconstrói (limpa o buffer, recalcula tudo novamente). Portanto, ela pisca.
Assim que a história estiver totalmente carregada/construída, o piscar vai desaparecer.


O MT4 não cintila...

 
Aleksey Vyazmikin:

O MT4 não cintila...

No MT4 é mais simples do que isso. O MT5 tem muitas entidades e novos fios, que são sincronizados de alguma forma complicada, até onde eu entendo. É em tais intervalos que pode ocorrer a cintilação. Em teoria, é claro, o programa não deveria se comportar desta maneira.

 

A cintilação é muito fácil de reproduzir quando o processador está muito carregado.

Executar a otimização em todos os núcleos locais e tentar remover/criar uma dúzia de objetos e fazer ChartRedrow. O efeito "swag" é garantido.

 
Taras Slobodyanik: Novas barras são adicionadas ao histórico - o indicador reconstrói (limpa o buffer, recalcula tudo de novo). Portanto, ela pisca.

Assim que a história estiver totalmente carregada/construída, o piscar vai desaparecer.

Não concordo, a atualização na janela de dados e o piscar das linhas indicadoras também ocorre dentro da barra atual. Além disso, sou partidário de indicadores que só são atualizados quando a barra está fechada, ou seja, o indicador não é desenhado na barra atual. Além disso, não é claro; o histórico está completamente carregado e a barra atual não é processada, enquanto as linhas indicadoras continuam piscando.