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

 
Andrey Khatimlianskii: Ocorreu um pensamento. Recálculo completo (e redesenho) ocorre se pré_calculado = 0. Tente inserir uma impressão OnCalculate no início para este caso e veja se as impressões aparecem quando o piscar acontece. Se sim, você precisa descobrir o que está fazendo com que o terminal redefina o contador para 0 (e você pode escrever ao service-desk sobre isso). Caso contrário, é ainda mais uma falha e um simples indicador de teste, condições de reprodução e um pequeno vídeo de demonstração podem ser enviados para o servicedesk.

Você sugeriu uma solução similar acima - inserir impressão na função OnCalculate(), eu adicionei, nada inesperado apareceu no registro, há um processo normal de novas barras entrando e processando. Os balcões não são reiniciados, mas piscam, sim.

 
Andrey Khatimlianskii:

Surgiu um pensamento.

O recálculo completo (e o redesenho) acontece se pré_calculado = 0. Tente inserir uma impressão OnCalculate no início para este caso e veja se as impressões aparecem ao piscar.

Se sim, você precisa descobrir o que está fazendo com que o terminal redefina o contador para 0 (e você pode escrever ao service-desk sobre isso).

Se não, então é ainda mais uma falha e um simples indicador de teste, condições de reprodução e um pequeno vídeo de demonstração podem ser enviados para o servicedesk.

Pequeno retrocesso:

Há algum tempo atrás tentei reescrever o indicador que coleta os ticks para cima e para baixo separadamente em tempo real de mql4 para mql5, mas não funcionou porque o indicador repõe periodicamente os dados já acumulados. Discuti esta questão com o SD e eles me garantiram que o reset vem de pré_calculado sendo reajustado para 0 e todo o histórico é recalculado, e o reset ocorre devido à perda de conexão com o servidor.

As experiências que eu fiz ontem:

Em primeiro lugar, colocar Print() por condição... Eu não esperei por isso e comecei a criar artificialmente a perda da conexão. A impressão() é executada, mas o indicador não pisca.

Também zerei o zero pré-calculado clicando no gráfico e "Atualizar" do menu de contexto, mas o indicador não pisca. Decidi ver como o ChartRedraw afeta o recálculo do indicador, mas o resultado é zero . Não tem nenhum efeito , nem no próprio indicador, nem no indicador de trabalho paralelo com a chamada ChartRedraw.

Tentei encontrar o substituto para o pré_cálculo. Se algum indicador técnico for chamado, o pré-cálculo pode ser substituído pelo BarsCalculated(handle), mas se não... não encontrado. Em caso de tal substituição, quando pré_calculado é zerado, o indicador não é recalculado e não perde seus cálculos.

De qualquer forma, não consegui encontrar nada de útil...

Esta é uma suposição ilusória:

Não pode ser que alguns carrapatos sejam perdidos, então eles são carregados com algum atraso e nesse momento ocorre um piscar de olhos?

 

Este histograma indicador de estoque baseado em carrapatos cintila para qualquer pessoa?

Consegui ver um indicador constante cintilar apenas uma vez (na abertura do mercado) e apenas no painel CTRL+D, os próprios histogramas não mostraram cintilação (provavelmente devido à falta de GPU). Não foi possível a reprodução para gravação de vídeo.


O efeito cambial deve ser observado em um mercado rápido. É necessário esperar que a bolsa de valores comece, então, muito provavelmente, será possível registrar a cintilação. Alternativamente, sugiro colocar o terminal em uma gravação contínua de várias horas. E então recorte a peça onde a cintilação é particularmente perceptível.

 
Não deve ser confundido que reiniciar o contador (ou editar o tick "retroativamente") é o único caso em que o terminal refaz o gráfico. A lógica lá provavelmente leva em conta um monte de outros fatores que não estamos cientes. Eu preguei este problema devido à aleatoriedade da reprodução e à dificuldade de comunicação que geralmente ocorre no balcão de atendimento.
 
Stanislav Korotky: Não se deve confundir que reiniciar o contador é o único caso em que o terminal refaz o gráfico. A lógica ali provavelmente leva em conta um monte de outros fatores dos quais não estamos cientes. Eu preguei este problema devido à aleatoriedade da repetição e às dificuldades de comunicação que normalmente surgem no balcão de atendimento.

Estou chegando à mesma conclusão. Muito provavelmente, este é um assunto interno que eles não anunciarão e nunca saberemos o verdadeiro motivo. E os desenvolvedores expressaram implicitamente sua atitude em relação à questão, mas nunca apareceu uma única vez neste tópico. Embora pudessem ter deixado claro...

 

O indicador ZZ da entrega desapareceu off-line por alguns segundos - portanto, não se trata dos carrapatos.

 
Eugene Myzrov:

Você sugeriu uma solução similar acima - inserir impressão na função OnCalculate(), eu adicionei, nada inesperado apareceu no registro, há um processo normal de entrada e processamento de novas barras. Os contadores não são reiniciados, mas os piscas acontecem.


Eu não li as páginas anteriores, sua pergunta já foi respondida? Se não, aqui está a solução, tente aumentar o número de tampões, você tem o número errado, é por isso que as piscadelas.
 
Roman Vashchilin:

Eu não li as páginas anteriores, sua pergunta já foi respondida? Se não, aqui está a solução, tente aumentar o número de tampões, você tem o número errado, é por isso que está piscando.

O número de amortecedores também está errado na zona padrão?
 
Roman Vashchilin: Eu não li as páginas anteriores, sua pergunta já foi respondida? Se não, aqui está uma solução, tente aumentar o número de tampões, você tem o número errado, é por isso que está piscando.

Por que você acha que "o número errado de amortecedores está de pé, é por isso que está piscando"? Se eu usar 2 amortecedores e 2 matrizes, então eu o especificarei de acordo.

#property   indicator_buffers 2
#property   indicator_plots   2

Por que eu deveria especificar mais buffers do que preciso, ou seja, mais de dois?

 
Eugene Myzrov:

Por que você acha que "o número errado de amortecedores está de pé, é por isso que está piscando"? Se eu usar 2 amortecedores e 2 matrizes, então eu o especificarei de acordo.

Por que eu deveria especificar mais buffers do que preciso, ou seja, mais de dois?


E, se corresponderem, não há necessidade de mudar.
Razão: