Caractéristiques du langage mql5, subtilités et techniques - page 219

 
fxsaber #:

Ici.

Alexey Viktorov#:

CHART_IS_MAXIMIZED

Graphique_est_maximisé

bool r/o

CHART_IS_MINIMIZED

Chart_is_minimized le graphique est minimisé

bool r/o

Merci, je vais l'essayer maintenant.
A également trouvé CHART_WINDOW_IS_VISIBLE. Mais je pense l'avoir déjà vérifié et il y avait des nuances.

 
Nikolai Semko #:

Merci, je vais faire l'expérience maintenant.
A également trouvé CHART_WINDOW_IS_VISIBLE. Mais je pense l'avoir vérifié auparavant et il y avait des nuances.

fxsaber #:

Ici.

Oui, votre variante fonctionne, contrairement à CHART_WINDOW_IS_VISIBLE.
Merci encore.

Il est donc logique de contrôler la visibilité du graphique pour la formation bitmap de cette manière plutôt que par le biais de CHART_BRING_TO_TOP.

Sauf que ce contrôle est trop coûteux sans utiliser user32.dll, parce que vous devez constamment surveiller toutes les fenêtres.
Mais évidemment, toutes les fenêtres devraient être surveillées seulement quand la propre fenêtre du graphique n'est pas en focus (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)
 
Nikolai Semko #:

Mais évidemment, toutes les fenêtres doivent être contrôlées uniquement lorsque la fenêtre du graphique n'est pas en focus(ChartGetInteger(0, CHART_BRING_TO_TOP) == false).

Une fenêtre minimisée peut retourner vrai même s'il y a plusieurs fenêtres.

 
fxsaber #:

Une fenêtre minimisée peut retourner vrai même s'il y a plus d'une fenêtre.

S'agit-il de la fonction CHART_BRING_TO_TOP ou IsInvisible ?

 
Nikolai Semko #:


Il est donc logique de contrôler la visibilité du graphique pour la formation bitmap de cette manière plutôt que par le biais de CHART_BRING_TO_TOP.

HHH sauf que la surveillance est trop coûteuse sans l'utilisation de user32.dll, parce que vous devez surveiller constamment toutes les fenêtres.
Mais il est évident que la surveillance de toutes les fenêtres doit être faite seulement quand votre propre fenêtre graphique est hors du focus (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)

Oui, cela ne peut se justifier que dans les Expert Advisors, car les fonctions ChartGet y sont beaucoup plus rapides.
Il n'y a aucun sens à s'en préoccuper dans les indicateurs. Il est plus rapide de redessiner le canevas que de surveiller l'état des autres fenêtres.
IMHO

Encore une fois, tout se résume à la lenteur des fonctions ChatGet :(
 
Nikolai Semko #:

Parlons-nous de CHART_BRING_TO_TOP ou de IsInvisible ?

CHART_BRING_TO_TOP.

 
Nikolai Semko #:

Oui, cela ne peut se justifier que dans les EA, car leurs fonctions ChartGet sont beaucoup plus rapides.

Il était lent quand je l'ai contrôlé.

Il est inutile de s'embêter avec des indicateurs. Il est plus rapide de redessiner le canevas que de surveiller les autres fenêtres.
IMHO

Cela dépend de la gravité des calculs. Pour le HFT, il est très important de garder la visualisation aussi minimale que possible. C'est pourquoi j'utilise IsInvisible2.

 
fxsaber #:

CHART_BRING_TO_TOP.

Il est étrange que dans ce mode, la taille de la fenêtre apparaisse comme si elle n'était pas minimisée.
Cependant, il s'agit d'un cas très rare où la fenêtre active est minimisée. Oui, dans ce cas, il s'agitera sans raison valable.

 
Nikolai Semko #:

Cependant, il s'agit d'un cas très rare où la fenêtre active est minimisée.

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

MT5 et la vitesse en action

fxsaber, 2020.09.30 21:42

Je constate que même mes bots, dont les performances sont maintenant doublées, fonctionnent de telle sorte que le CPU du terminal est de 15 %. Et maintenant, un coup de chapeau !

  • Fermer Market Watch (CTRL+M) - seuls les symboles négociés y figurent.
  • Fermer le tableau avec les positions actuelles (CTRL+T).
  • Réduisez au minimum tous les graphiques.

Voilà, l'unité centrale terminale 2,5 % ! Déchargez votre VPS. Si quelqu'un d'autre a des recommandations valables, faites-le moi savoir.


Chers développeurs, veuillez avoir la possibilité de faire passer le terminal en mode de consommation minimale des ressources pour l'algotrading.

Le mode de fonctionnement le plus répandu des conseillers de combat.
 
fxsaber #:
Le mode de fonctionnement le plus courant des EA de combat.

signifie qu'en mode combat, vous devez désactiver toutes les absurdités graphiques sans minimisation. Laissez les graphiques être gelés si la fenêtre reste visible mais non active.
Et il est plus facile et mieux, me semble-t-il, de désactiver et de supprimer automatiquement tous les graphiques lorsque la souris est inactive, par exemple pendant 1 minute. Dès que la souris est active - les graphiques reprennent.