![MQL5 - Langage des stratégies de trading intégré au terminal client MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Comment puis-je limiter le taux de rafraîchissement des kanvas dans le visualiseur de manière humaine ?
De sorte qu'à faible vitesse, l'image est mise à jour en temps réel et qu'à vitesse élevée, le test n'est pas ralenti ?
Actuellement, le canevas (s'il est mis à jour à chaque tick) ralentit vraiment toute la visualisation (le profilage montre 80-90% du temps de rendu). Je me suis entortillé avec la pause configurable en secondes, mais c'est une béquille, limitant la fonctionnalité (les mises à jour d'images sont rares, même à vitesse lente).
À quoi se lier pour qu'il ne se rafraîchisse pas trop souvent ? GetMicroseconds ?
Quelles sont les fonctions à ignorer ?
Andrey, j'en ai déjà parlé ici il y a plus d'un an.
Cela fonctionne très bien.
![](https://c.mql5.com/3/350/ZZP__1.gif)
Voici une vidéo en direct (juste deux kanvases) :
Je dois juste ajouter que dans le testeur, l'événement CHARTEVENT_CHART_CHANGE ne fonctionne pas,
J'inclus donc ce qui suit dans le bloc de formation du canevas (lorsque j'utilise iCanvas) :
Et voici une partie du code dans OnCalculate de l'indicateur qui est sur le gif :
il est évident à l'œil nu que kanvas est significativement plus lent
Dans le testeur MT5, la minuterie fonctionne, vous pouvez la régler sur 60 secondes et elle se mettra à jour une fois par minute à l'heure du testeur).
A propos de la béquille de pause que j'ai écrite, ça ne marche pas.
Andrei, j'en ai parlé ici il y a plus d'un an.
Cela fonctionne très bien.
Voici une vidéo en direct (juste deux kanvases) :
Il semble un peu lent, quant à la vitesse maximale.
Merci, je vais essayer via GetTickCount !
Il semble un peu lent pour la vitesse maximale.
Merci, je vais essayer via GetTickCount !
Non, ce n'est pas le maximum. C'est très sensible devant le maximum.
![](https://c.mql5.com/3/350/ZZP3.gif)
Voici le maximum :
Il semble un peu lent pour la vitesse maximale.
Merci, je vais essayer d'utiliser GetTickCount !
De plus, pour éviter tout biais par rapport au graphique lui-même, nous devrions essayer d'expérimenter avec OBJ_BITMAP au lieu deOBJ_BITMAP_LABEL. Pour se lier au temps et au prix au lieu des coordonnées XY.
Je veux tous l'essayer, mais je ne peux pas le faire. Dans ce cas, nous devrons rendre le canevas plus grand que la taille de la fenêtre et modifier la logique de contrôle. Le code peut présenter un avantage significatif en termes de vitesse, car il ne doit pas redessiner l'ensemble du canevas, mais seulement une partie plus petite, si l'échelle verticale reste la même. Dans tous les cas, il ne sera pas gênant de voir le kanvas déséquilibré par rapport au graphique principal lors de déplacements rapides.
Non, ce n'est pas le maximum. C'est très sensible devant le maximum.
C'est le maximum :
C'est "tous les tics" ? ! Si oui, refroidissez. Je vais vérifier.
De plus, pour qu'il n'y ait pas de biais par rapport au graphique lui-même, nous devrions essayer d'expérimenter avec OBJ_BITMAP au lieu deOBJ_BITMAP_LABEL. Pour se lier au temps et au prix au lieu des coordonnées XY.
Je veux tous l'essayer, mais je ne peux pas le faire. Dans ce cas, nous devrions faire en sorte que le canevas soit plus grand que la taille de la fenêtre et modifier la logique de contrôle. Peut-être y aura-t-il un gain de vitesse. Quoi qu'il en soit, la toile déséquilibrée et le tableau principal ne briseront pas l'œil lorsque le mouvement est rapide.
J'ai un panneau simple. Aucun lien avec le graphique.
J'ai un tableau de bord régulier. Il n'y a pas de lien vers le tableau.
Ah, bien, c'est parfait alors.
J'ai aussi un seul canevas sur mon hypha, et c'est le panneau qui consomme le moins de ressources, car je n'ai pas à le redessiner aussi souvent et à saisir le moment où une nouvelle barre arrive.
C'est "tous les tics" ? ! Si oui, refroidissez. Je vais vérifier.
Non, c'était un OHLC minute sur 3 minutes. Mais j'ai vérifié toutes les tiques. L'image est presque la même. Parce que le redessin du kanvas dans ce cas n'est pas lié aux ticks, mais seulement au temps réel (pas au temps du testeur). En d'autres termes, plus la vitesse est élevée, plus la densité d'images est faible. Mais à l'œil, la différence n'est pas visible.