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

 
Non so se aiuterà, ma ho risolto questo problema in questo modo: nel codice dove il ciclo tipo for(int i=rates_total-prev_calculate; i>=0;i--) ha sostituito rates_total-prev_calculate con un valore numerico di 1500 e il flicker si è fermato!
 
Dmitry Melnichenko: Non so se aiuta, ma ho risolto il problema in questo modo: ho sostituito rates_total-prev_calculate con il valore numerico 1500 nel codice dove il ciclo è come for (int i=rates_total-prev_calculate; i>=0;i--) e il flickering si è fermato!

Strano, facendo questo hai appena limitato il numero di barre da elaborare nel ciclo di 1500, cioè noti che se limiti nettamente il numero di barre (di un ordine di grandezza, o anche di 2 ordini di grandezza) da elaborare, allora il flicker scompare. Forse c'è qualcosa, dovrò controllare.

Allora la funzione OnCalculate() del primo esempio in questo thread sarebbe come questa:

//+------------------------------------------------------------------+
//| Custom indicator iteration function
//+------------------------------------------------------------------+
int OnCalculate (const int rates_total,      // размер входных таймсерий 
                 const int prev_calculated,  // обработано баров на предыдущем вызове 
                 const datetime& time[],     // Time 
                 const double&   open[],     // Open 
                 const double&   high[],     // High 
                 const double&   low [],     // Low 
                 const double&   close[],    // Close 
                 const long& tick_volume[],  // Tick Volume 
                 const long& real_volume[],  // Real Volume 
                 const int&  spread[])       // Spread 
{
// int N=rates_total-prev_calculated; if (N>MAX_PERIOD) N-=MAX_PERIOD;

   for (int i=1500; i>0 && !IsStopped(); i--) {
      double ma_fast=getMA(ma_fast_handle, i);
      double ma_slow=getMA(ma_slow_handle, i);;
      aom=ma_fast-ma_slow;
      if (aom>last_aom) {aUP[i]=aom; aDN[i]=EMPTY_VALUE;}
      else              {aDN[i]=aom; aUP[i]=EMPTY_VALUE;}
      last_aom=aom;
   }
   aUP[0]=EMPTY_VALUE; aDN[0]=EMPTY_VALUE;
   return(rates_total);
}

Ma non risolve il problema nel suo complesso, se abbiamo bisogno di visualizzare l'indicatore su tutta la serie di barre.

 

A quanto pare il terminale non invia la conferma al broker che la cronologia delle quotazioni è cambiata. (forse l'antivirus fa resistenza).

Ma il broker (il server del broker) manda e manda, "dobbiamo cambiare la storia delle quotazioni".

Oppure il tuo computer è troppo debole perché MT5 abbia il tempo di cambiare la cronologia delle quotazioni prima che il broker invii le nuove quotazioni.

 
Sergey Chalyshev:

A quanto pare il terminale non invia la conferma al broker che la cronologia delle quotazioni è cambiata. (forse l'antivirus fa resistenza).

Ma il broker (il server del broker) manda e manda, "devi cambiare la cronologia delle quotazioni".

Oppure il tuo computer è troppo debole per cambiare la cronologia delle quotazioni prima che il broker invii la nuova cronologia delle quotazioni.

ZZ sfarfalla anche nei fine settimana.
 
-Aleks-:

ZZ sfarfalla anche nei fine settimana.

Dipende dal broker e dalle impostazioni del suo server. Il server demo MQL, per esempio, riscrive la storia dopo 3 ore.

Forse mi sbaglio, speriamo che gli sviluppatori della piattaforma arrivino e spieghino.


 
Sergey Chalyshev:

Dipende dal broker e dalle impostazioni del suo server. Il server demo MQL, per esempio, riscrive la storia dopo 3 ore.

Forse mi sbaglio, speriamo che gli sviluppatori della piattaforma arrivino e spieghino.

Ho un broker chiamato Otkritie - non un conto demo.

Gli sviluppatori sono silenziosi come partigiani.

 
-Aleks-:

Ho un broker chiamato Otkritie - non un conto demo.

Gli sviluppatori sono silenziosi come un partigiano.


ChartRedraw

Fa sì che il grafico specificato venga forzatamente ridisegnato.

È nel codice?

 
Sergey Chalyshev:

ChartRedraw

Provoca il ridisegno forzato del grafico specificato.

Ce n'è uno nel codice?

No.
 
-Aleks-:

No.

Questo particolare indicatore è un glitch? Lo esaminerò a mio piacimento.

 
Sergey Chalyshev:

Questo particolare indicatore è un glitch? Lo esaminerò a mio piacimento.

Sto parlando dell'indicatore standard ZigZag di MT5.
Motivazione: