Toile et étiquettes - page 12

 
Andrey Khatimlianskii:

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.
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) :

void BildParabolas() {
   if(Canvas.tester) ChartChanged();
   static uint lastCalc=0;
   uint cur=GetTickCount();
   if (cur-lastCalc<17) return;
...

Et voici une partie du code dans OnCalculate de l'indicateur qui est sur le gif :

static uint lastCalc=0; 
if (Canvas.tester) {
      uint cur=GetTickCount();
      if (cur-lastCalc>17) {
         lastCalc=cur;
         BildParabolas();
         menu.Draw();
      }
   }

 
Dmitry Fedoseev:
il est évident à l'œil nu que kanvas est significativement plus lent


 
Taras Slobodyanik:

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.

 
Nikolai Semko:

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 !

 
Andrey Khatimlianskii:

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.
Voici le maximum :

 
Andrey Khatimlianskii:

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.

 
Nikolai Semko:

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.


Nikolai Semko:

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.

 
Andrey Khatimlianskii:

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.

 
Andrey Khatimlianskii:

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.

 
Ouais... Les gifs animés sont certainement un argument de poids.
Raison: