Perché gli indicatori (linee, frecce, istogrammi) lampeggiano nel terminale MT5? - pagina 8

 
-Aleks-:

Sto parlando dell'indicatore standard ZigZag di MT5.

Non voglio nemmeno guardare lo zigzag standard, è una vergogna per MT5, lascia che gli sviluppatori risolvano la loro creazione.

 
Sergey Chalyshev:

Non voglio nemmeno guardare lo zigzag standard, è una vergogna per MT5, lascia che gli sviluppatori risolvano la loro creazione.

La cosa più triste è che ignorano questo problema.
 
Sergey Chalyshev: Questo particolare indicatore è un glitch? Lo esaminerò a mio piacimento.

Per quanto riguarda questo particolare indicatore, il glitch si presenta così: i nomi e i valori dei due buffer dell'indicatore scompaiono nella finestra dei dati per qualche tempo (1-2 secondi) e poi riappaiono. L'indicatore, che sfarfalla anche sul grafico, non posso ancora citarlo qui, perché è dell'autore. L'unica cosa che posso dire è che usa il tipo di disegno DRAW_SECTION, cioè contiene la seguente linea

#property  indicator_type1  DRAW_SECTION


Direi che forse solo gli indicatori che sono stati creati usando i tipi DRAW_SECTION o DRAW_ZIGZAG o le loro controparti colorate DRAW_COLOR_SECTION o DRAW_COLOR_ZIGZAG hanno un overdrawing (lampeggiamento). Anche se la scomparsa dei nomi e dei valori dei buffer indicatori è tipica per altri tipi di costruzioni grafiche dell'enumerazione ENUM_DRAW_TYPE.

 
Ho anche scoperto che i lampeggi sono innescati dalle chiamate CopyTicks/CopyTicksRange.
 
Stanislav Korotky:
Ho anche scoperto che i lampeggi sono causati dalle chiamate CopyTicks/CopyTicksRange.

Nuove barre vengono aggiunte alla storia - l'indicatore si ricostruisce (cancella il buffer, ricalcola tutto da capo). Quindi lampeggia.
Non appena la storia è completamente caricata/costruita, il lampeggiamento scomparirà.

 
Taras Slobodyanik:

Nuove barre vengono aggiunte alla storia - l'indicatore si ricostruisce (cancella il buffer, ricalcola tutto di nuovo). Quindi lampeggia.
Non appena la storia è completamente caricata/costruita, il lampeggiamento scomparirà.

No, la storia del bar è stata caricata per molto tempo.

 
Taras Slobodyanik:

Nuove barre vengono aggiunte alla storia - l'indicatore si ricostruisce (cancella il buffer, ricalcola tutto di nuovo). Quindi lampeggia.
Non appena la storia è completamente caricata/costruita, il lampeggiamento scomparirà.


MT4 non sfarfalla...

 
Aleksey Vyazmikin:

MT4 non sfarfalla...

In MT4 è più semplice di così. MT5 ha un sacco di entità e nuovi thread, che sono sincronizzati in qualche modo complicato, per quanto ho capito. È in questi intervalli che può verificarsi lo sfarfallio. In teoria, naturalmente, il programma non dovrebbe comportarsi così.

 

Il flicker si riproduce molto facilmente quando il processore è molto carico.

Esegui l'ottimizzazione su tutti i core locali e prova a rimuovere/creare una dozzina di oggetti e fare ChartRedrow. L'effetto swag è assicurato.

 
Taras Slobodyanik: Nuove barre vengono aggiunte alla storia - l'indicatore si ricostruisce (cancella il buffer, ricalcola tutto di nuovo). Quindi lampeggia.

Non appena la storia è completamente caricata/costruita, il lampeggiamento scomparirà.

Non sono d'accordo, l'aggiornamento nella finestra dei dati e il lampeggiamento delle linee dell'indicatore avviene anche all'interno della barra corrente. Inoltre, sono un sostenitore degli indicatori che si aggiornano solo quando la barra è chiusa, cioè l'indicatore non è disegnato sulla barra corrente. Inoltre, non è chiaro; la storia è completamente caricata e la barra corrente non viene elaborata, mentre le linee dell'indicatore continuano a lampeggiare.