Errori, bug, domande - pagina 1710

 
Slawa:

Nella seconda immagine dopo il nome dell'indicatore breve LastData non ci sono gli ultimi dati calcolati. Mentre è sulla prima immagine 244 -363 e sulla terza 247 -409

Questo suggerisce che l'indicatore non è attualmente calcolato. Si sta calcolando e i dati non sono pronti. Lasciate che vi ricordi che gli indicatori sono calcolati in un thread separato, non nel thread principale dell'applicazione, che è responsabile del rendering, tra le altre cose. Gli indicatori sono calcolati per ogni tick in arrivo senza eccezione.

Mentre muovete un grafico con il mouse avete assorbito risorse di calcolo per elaborare i messaggi di sistema dal mouse (aprite Task Manager e vedete come la percentuale di cpu aumenta, a seconda dell'intensità del movimento del mouse). E il tuo indicatore non ha avuto il tempo di ricalcolare. Ecco perché il secondo grafico è vuoto.

È molto più figo di così, purtroppo. L'indicatore è completamente attaccato. Link alla filiale con i dettagli qui sopra.
 
fxsaber:
È molto più figo di così, purtroppo. L'indicatore è completamente attaccato. Link alla filiale con i dettagli qui sopra.
La mancanza di dati recenti accanto al nome breve, così come la mancanza di rendering dell'indicatore, indica chiaramente che al momento del rendering del grafico i dati dell'indicatore non erano ancora pronti, e l'indicatore stesso era in uno stato di calcolo
 
Slawa:
L'assenza di dati recenti accanto al nome breve, così come la mancanza di rendering dell'indicatore, indica chiaramente che al momento del rendering del grafico i dati dell'indicatore non erano ancora pronti, e l'indicatore stesso era in stato di calcolo
Ho fornito un codice sorgente completamente breve. Sarei felice se la sua spiegazione fosse corretta. Ma potete vedere voi stessi, eseguendo l'indicatore, che si tratta di qualcos'altro.
 
Slawa:
L'assenza dell'ultimo dato vicino al nome breve, così come l'assenza del rendering dell'indicatore, mostra ovviamente che al momento del disegno del grafico i dati dell'indicatore non erano ancora pronti, e l'indicatore stesso era in stato di calcolo
Cioè questo può accadere una volta dopo aver disegnato sul grafico, poiché i dati saranno già calcolati, giusto?
 
-Aleks-:
Cioè questo può accadere una volta dopo essere stato tracciato, poiché i dati saranno già contati quando lo si fa di nuovo, giusto?
No. Può succedere più di una volta. Si muove il grafico avanti e indietro con il mouse, e in quel momento arriva un tick.
 
Slawa:
No. Forse più di una volta. Si sposta il grafico con il mouse avanti e indietro, e a quel punto arriva un tick.
Pensavo che i dati già contati nel buffer del grafico non fossero ricalcolati ad ogni tick....
 
Slawa:
No. Forse più di una volta. Si sposta il grafico con il mouse avanti e indietro, e in quel momento arriva un tick.
Nel mio caso lo sfarfallio è anche senza muovere il mouse - nella finestra CTRL+D.
 
Perché non posso aprire un conto demo per un aggiornamento su demo.metaquotes.net:443?
 
-Aleks-:
Pensavo che i dati già contati nel buffer del grafico non fossero ricalcolati su ogni tick....

1. Dipende dall'implementazione dell'indicatore. Se scritto con parsimonia, solo l'ultimo valore viene ricalcolato.

2. Se il grafico è fermo e il numero di barre non è cambiato, allora in caso di collisione viene reso il buffer precedente (cioè non ci sarà il vuoto)

 
fxsaber:
Ho passato tutto il giorno a sistemare le cose, ma niente ha funzionato. Semplificato il codice il più possibile e creato un ramo. Per favore, aiutatemi!
Misurare OnCalculate() usando GetMicrosecondCount(). Stampa questo valore nel log. È meglio ricordare il tempo massimo e stampare solo l'aggiornamento massimo nel log - in questo modo sarà più visibile.