Merkmale der Sprache mql5, Feinheiten und Techniken - Seite 219

 
fxsaber #:

Hier.

Alexey Viktorov#:

DIAGRAMM_IST_MAXIMIERT

Diagramm_ist_maximiert

bool r/o

CHART_IS_MINIMIZED

Chart_is_minimized Diagramm ist minimiert

bool r/o

Danke, ich werde es jetzt versuchen.
Außerdem wurde CHART_WINDOW_IS_VISIBLE gefunden. Aber ich glaube, ich habe es schon einmal überprüft, und es gab einige Nuancen.

 
Nikolai Semko #:

Danke, ich werde das jetzt ausprobieren.
Außerdem wurde CHART_WINDOW_IS_VISIBLE gefunden . Aber ich glaube, ich habe es vorher überprüft, und es gab einige Nuancen.

fxsaber #:

Hier.

Ja, Ihre Variante funktioniert, im Gegensatz zu CHART_WINDOW_IS_VISIBLE.
Nochmals vielen Dank.

Es ist also sinnvoll, die Sichtbarkeit von Diagrammen für die Bitmap-Bildung auf diese Weise zu steuern und nicht über CHART_BRING_TO_TOP

Nur ist dieses Steuerelement ohne user32.dll zu teuer, da man ständig alle Fenster überwachen muss.
Aber natürlich sollten alle Fenster nur überwacht werden, wenn das eigene Diagrammfenster nicht im Fokus ist (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)
 
Nikolai Semko #:

Aber natürlich sollten alle Fenster nur überwacht werden, wenn das eigene Diagrammfenster nicht im Fokus ist(ChartGetInteger(0, CHART_BRING_TO_TOP) == false)

Ein minimiertes Fenster kann true zurückgeben, auch wenn es mehrere Fenster gibt.

 
fxsaber #:

Ein minimiertes Fenster kann auch dann true zurückgeben, wenn es mehr als ein Fenster gibt.

Sprechen wir über die Funktion CHART_BRING_TO_TOP oder IsInvisible?

 
Nikolai Semko #:


Es ist also sinnvoll, die Sichtbarkeit von Diagrammen für die Bitmap-Bildung auf diese Weise zu steuern und nicht über CHART_BRING_TO_TOP

HHH, außer dass die Überwachung ohne user32.dll zu teuer ist, weil man ständig alle Fenster überwachen muss.
Aber es ist offensichtlich, dass die Überwachung aller Fenster nur erfolgen sollte, wenn das eigene Diagrammfenster nicht im Fokus ist (ChartGetInteger(0, CHART_BRING_TO_TOP) == false)

Ja, es ist nur in Expert Advisors zu rechtfertigen, weil die ChartGet-Funktionen dort viel schneller laufen.
Es macht keinen Sinn, sich in Indikatoren damit zu beschäftigen. Es ist schneller, die Leinwand neu zu zeichnen, als den Status der anderen Fenster zu überwachen.
IMHO

Auch hier liegt es an der Trägheit der ChatGet-Funktionen :(
 
Nikolai Semko #:

Reden wir über CHART_BRING_TO_TOP oder IsInvisible?

CHART_BRING_TO_TOP.

 
Nikolai Semko #:

Ja, dies ist nur in EAs zu rechtfertigen, da deren ChartGet-Funktionen viel schneller sind.

Als ich sie überwachte, war sie langsam.

Es macht keinen Sinn, sich mit Indikatoren herumzuschlagen. Es ist schneller, die Leinwand neu zu zeichnen als andere Fenster zu überwachen.
IMHO

Das hängt von der Schwere der Berechnungen ab. Für HFT ist es sehr wichtig, die Visualisierung so minimal wie möglich zu halten. Deshalb verwende ich IsInvisible2.

 
fxsaber #:

CHART_BRING_TO_TOP.

Es ist merkwürdig, dass in diesem Modus die Größe des Fensters so aussieht, als ob es nicht minimiert wäre.
Dies ist jedoch ein sehr seltener Fall, in dem das aktive Fenster minimiert wird. Ja, in diesem Fall fuchtelt er grundlos herum.

 
Nikolai Semko #:

Dies ist jedoch ein sehr seltener Fall, in dem das aktive Fenster minimiert wird.

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

MT5 und Geschwindigkeit in Aktion

fxsaber, 2020.09.30 21:42

Ich sehe, dass sogar meine jetzt auf Leistung ausgelegten Bots so laufen, dass die Terminal-CPU 15 % beträgt. Und jetzt noch ein Hinweis auf den Hut!

  • Marktbeobachtung schließen (CTRL+M) - nur gehandelte Symbole darin.
  • Schließen Sie die Tabelle mit den aktuellen Positionen (CTRL+T).
  • Minimieren Sie alle Diagramme.

Voila, Terminal CPU 2,5 %! Entladen Sie Ihren VPS. Wenn jemand andere gültige Empfehlungen hat, lassen Sie es mich wissen.


Liebe Entwickler, bitte haben Sie die Möglichkeit, das Terminal für den Algotrading-Modus auf minimalen Ressourcenverbrauch umzuschalten.

Die am weitesten verbreitete Arbeitsweise von Kampfberatern.
 
fxsaber #:
Die gebräuchlichste Betriebsart für Kampf-EAs.

bedeutet, dass Sie im Kampfmodus jeden grafischen Unsinn ohne Minimierung abschalten sollten. Lassen Sie die Grafik einfrieren, wenn das Fenster sichtbar, aber nicht aktiv ist.
Und es ist einfacher und besser, so scheint es mir, alle Grafiken automatisch auszuschalten und zu entfernen, wenn die Maus z.B. 1 Minute lang inaktiv ist. Sobald die Maus aktiv ist, wird die Grafik fortgesetzt.