Erreurs, bugs, questions - page 3127

 
Nikolai Semko #:

Oui, vous avez probablement raison. C'est probablement le cas.
Et pour économiser des ressources, il serait bon de surveiller l'activité de la fenêtre et de ne pas générer de bitmap si la fenêtre n'est pas active.

Cela vaut la peine de vérifier plutôt que de faire des suppositions.

Ce que nous avons découvert :

  • la ressource n'est pas supprimée lors du changement de fenêtre
  • lors du changement de fenêtre, l'événement CHARTEVENT_CHART_CHANGE se produit car la fenêtre est redimensionnée à la taille de la précédente "pas toutes les fenêtres", c'est-à-dire comme si la fenêtre était passée dans ce mode
  • il est raisonnable de surveiller l'activité de la fenêtre (ChartGetInteger(0, CHART_BRING_TO_TOP)) et de désactiver la génération du bitmap (remplir le canevas) pour économiser les ressources du CPU si la fenêtre est inactive.


Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.

Dossiers :
 
Nikolai Semko #:

Ce qui a été découvert :

  • la ressource n'est pas supprimée lors du changement de fenêtre
  • l'événement CHARTEVENT_CHART_CHANGE se produit lors du changement de fenêtre, car la fenêtre est redimensionnée à la taille du précédent "pas toutes les fenêtres", c'est-à-dire comme si la fenêtre était passée dans ce mode :
  • il est raisonnable de surveiller l'activité de la fenêtre (ChartGetInteger(0, CHART_BRING_TO_TOP)) et de désactiver la génération du bitmap (remplir le canevas) pour économiser les ressources du CPU si la fenêtre est inactive.

Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.

C'est donc votre erreur évidente - utiliser la même ressource sur plusieurs graphiques dans plusieurs indicateurs.
vos indicateurs (ou EA) ne fonctionnent pas si la fenêtre n'est pas active - c'est-à-dire que l'utilisateur ne peut pas utiliser plusieurs copies simultanément sur différents graphiques.
 
Taras Slobodyanik #:

votre erreur est donc évidente - utiliser la même ressource dans plusieurs graphiques et dans plusieurs indicateurs.
vos indicateurs (ou EA) ne fonctionnent pas si la fenêtre n'est pas active - c'est-à-dire que l'utilisateur ne peut pas en utiliser plusieurs copies simultanément dans différents graphiques.
C'est quoi cette absurdité, Taras ?
Je ne sais même pas comment répondre.
Étudiez les mathématiques.
Qu'est-ce que cela a à voir avec la performance des indicateurs et la sortie graphique ? Chaque indicateur ou EA possède sa propre ressource graphique.
Regardez la classe CCanvas, comment le nom de la ressource est formé.
 
Nikolai Semko #:
Qu'est-ce que cela a à voir avec la performance des indicateurs et la sortie graphique ? Chaque indicateur ou EA possède sa propre ressource graphique.
Regardez la classe CCanvas, comment le nom de la ressource est formé.

Et lorsque les ressources sont les mêmes, elles sont redessinées pour toutes les copies.

J'ai vérifié votre code en mode "fenêtré" et sur le même graphique - la taille est la même.
Pour le mode "étendu", oui, la taille change, mais c'est un ancien bug, il date de plusieurs années.

Quel est le rapport entre le fonctionnement de l'indicateur et la sortie graphique ?

Je veux dire que si la fenêtre est inactive et que vous recommandez de ne pas rafraîchir le canevas - cela signifie que

ps. et par conséquent - les panneaux ne fonctionneront pas grâce à vos conseils :)

c'est-à-dire que visuellement en mode "fenêtré", les indicateurs (et l'EA) ne se mettront pas à jour.

ps. Cependant, si la vérification se fait uniquement dans OnChartEvent, cela devrait fonctionner, j'ai besoin de vérifier.

 
Taras Slobodyanik #:

Lorsque les ressources sont les mêmes, elles sont redessinées pour toutes les copies.

ils ne sont pas les mêmes

si la fenêtre est inactive, il est recommandé de ne pas mettre à jour le canevas - cela signifie que

c'est-à-dire que visuellement en mode "fenêtré", les indicateurs (et l'EA) ne se mettront pas à jour.

oui, c'était une erreur avec CHART_BRING_TO_TOP
devrait utiliser l'option fxsaber

 
Nikolai Semko #:

Ce qui a été découvert :

  • la ressource n'est pas supprimée lors du changement de fenêtre
  • l'événement CHARTEVENT_CHART_CHANGE se produit lors du changement de fenêtre, car la fenêtre est redimensionnée à la taille du précédent "pas toutes les fenêtres", c'est-à-dire comme si la fenêtre était passée dans ce mode :
  • il est raisonnable de surveiller l'activité de la fenêtre (ChartGetInteger(0, CHART_BRING_TO_TOP)) et de désactiver la génération du bitmap (remplir le canevas) pour économiser les ressources du CPU si la fenêtre est inactive.


Dans l'indicateur de test, le compteur est enregistré dans la ressource kanvas.

Parfait. Maintenant, vous pouvez dire exactement comment les choses fonctionnent, plutôt que de deviner. Sera utile à toute personne travaillant avec CCanvas.

 
Nikolai Semko #:

Ah, ce thème dans le débogage ne fonctionne plus ?
Dommage :((( Il était très utile dans mon travail.


Quelle version avez-vous, bêta ou release ?

 
Mihail Matkovskij #:

Quelle version avez-vous, bêta ou release ?

 
Nikolai Semko #:

Vous êtes probablement en version bêta. Je pensais que cette fonctionnalité avait disparu dans la version bêta. Mais j'ai vérifié le mien (build 3091, version release) et cela ne fonctionne pas non plus.

 
Nikolai Semko # :

Ah, ce thème dans le débogage ne fonctionne plus ?
C'est triste :(( C'était très utile pour mon travail.


Signalé il y a plus de 4 mois. Tout le monde s'en fiche.

Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
Новая версия платформы MetaTrader 5 build 2980: Push-уведомления о торговых операциях
  • 2021.08.18
  • www.mql5.com
В пятницу 18 июня 2021 года будет выпущена обновленная версия платформы MetaTrader 5...
Raison: