Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Ah, bene, allora è del tutto normale.
Ho anche un canvas sulla mia gif, ed è il pannello che consuma meno risorse, perché non devo ridisegnarlo così spesso e catturare il momento in cui arriva una nuova barra.
Grande! Tutto sta volando!
E a bassa velocità, si aggiorna senza saltare un colpo.Ho trovato i file giusti. Non è chiaro dove, dove e quando guardare i numeri, ma anche senza questo si può vedere che la tela è molto più lenta, e non è solo una tela invece di una bava, ma una tela invece di un mucchio di etichette.
Esegui l'esperto CanvasVsLabels.mq5, seleziona il tipo di visualizzazioneoutType, abilita limit_fps, imposta, nIterazioni, è 10000 di default. Questo è sufficiente, non è necessario cambiarlo. Allora i risultati saranno simili a quelli presentati qui: https://www.mql5.com/ru/forum/364640/page11#comment_21301589.
Ora per i risultati. Min delay,Mid delay eMax delay sono i ritardi minimo, medio e massimo, rispettivamente, per una corsa. Totale, è il tempo totale per il numero totale di passagginIterazioni.
Ancora una volta, ecco una tabella con irisultati del confronto
Esattamente le stesse misure possono essere prese nel tester, dato che l'esaminatore è progettato per farlo. Ma non li ho ancora fatti. Lo farò quando avrò del tempo libero. Ho intenzione di sperimentare una visualizzazione di molti BitmabLabels in futuro.
Forum sul trading, sistemi di trading automatico e test di strategia
Tela vs Etichette
fxsaber, 2021.03.13 19:26
Sono l'unico con questo tipo di risultato?
Toglie il 15-20%. A quanto pare, la mia scheda video è troppo lenta.
Risulta che ResourceReadImage è molto lento. Mi sono sbarazzato di esso - ho avuto zero carico.
Ancora una volta pubblico la tabella di confronto, ma questa volta con gli istogrammi.
Confronto dei valori di ritardo medio per passaggio
Che per qualche motivo non erano paragonabili al tempo totale di esecuzione (Totale)...
Confronto del tempo di esecuzione totale
Le misurazioni hanno mostrato che la visualizzazione basata su Canvas con FPS limitati (Canvas unlimited FPS) è leggermente più lenta nelle prestazioni rispetto alla visualizzazione basata su Labels con FPS limitati(Labels unlimited FPS). Ma in generale sono entrambi adatti per la visualizzazione di informazioni da processi altamente caricati.
Come eseguire l'Expert Advisor per prendere le misure
L'Expert Advisor può prendere le misure nel tester visivo esattamente allo stesso modo. Tuttavia, l'intervallo di date dovrebbe essere impostato nelle impostazioni del tester in modo da avere almeno tante barre nella storia quanto il valore del parametro di inputnIterations.
Maggiori informazioni, così come le fonti, possono essere trovate nella descrizione della libreria Chart Display:https://www.mql5.com/ru/code/33898
Biblioteca appositamente modificata per le misurazioni:https://www.mql5.com/ru/code/download/33898/chartdisplay.mqh
Esperto universale per la misurazione:https://www.mql5.com/ru/code/download/33898/canvasvslabels.mq5
Per maggiori dettagli vedere KB: https://www.mql5.com/ru/code/33898
Vorrei aggiungere altre misurazioni corrette, fatte con il nuovo Expert Advisor nel primo post di questo thread. Poiché quelle misure, che ci sono al momento, non sono corrette. Ma il primo messaggio, purtroppo, non può più essere modificato. Chiedo ai moderatori di aggiungere più misure corrette all'inizio, e di segnare quelle che ci sono ora come irrilevanti.
Si è scoperto che ResourceReadImage è molto lento. Me ne sono sbarazzato - carico zero.
In esecuzione esperto CanvasVsLabels.mq5...
Qual è il punto? Non voglio scavare nel codice in questo momento. Come vengono calcolati questi valori? Se testate nel tester, dovreste misurare il tempo totale impiegato nell'esecuzione e nient'altro, ma non le prestazioni dei singoli frammenti di codice. Nel caso estremo, non contare l'inite. E qui, senza misurare, si può vedere che kanvas è più lento. Non so, forse ho una specie di anomalia...
Davvero?
Con la chiamata era circa il 15% di carico, senza - zero.
Qual è il punto? Non voglio scavare nel codice in questo momento. Come vengono calcolate queste cifre? Se testate nel tester in questo modo, dovreste misurare il tempo totale speso nell'esecuzione e nient'altro, e non le prestazioni di frammenti di codice separati. Nel caso estremo, non contare l'inite. E qui, senza misurare, si può vedere che kanvas è più lento. Non so, forse ho una specie di anomalia...
Non voglio scavare nel codice. Nemmeno io voglio credere alla mia parola. :) Non so come spiegartelo. Raccontandovi dall'inizio alla fine come ho scritto tutto il codice... Sarebbe un articolo intero. :)
E non c'è proprio nulla da capire su come un esperto fa le misurazioni.
Il totale è calcolato alla fine del ciclo e min, mid e max nel corpo del ciclo, dopo display.push, display.setText e display.update. Niente di complicato, se ti siedi e guardi bene tutto, puoi arrivare almeno al codice sorgente di Kanvas e Labels. A proposito, non c'è niente di complicato neanche lì. Tranne i metodi che disegnano curve di Bezier e simili in Kanvas.E qui, senza misure, si può vedere che il kanvas è più lento. Non so, forse ho una specie di anomalia...
Devi dirmi a quali parametri di input Kanvas è lento. Se limit_fps: false, allora è ovvio... :)
Si è scoperto che ResourceReadImage è molto lento. Me ne sono sbarazzato e ho avuto zero carico.
Se leggete da una risorsa salvata in fase di compilazione, dovete farlo una volta sola.
Le risorse sono compresse al momento della compilazione.