Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 966

 
kopeyka2:


Besser noch: Geben Sie klar an, was Sie erreichen wollen. Ich werde Ihnen wahrscheinlich ein vollständiges Beispiel zeigen.

 
jdjahfkahjf:

Was bedeutet das?


Lesen Sie die Hilfe: Optimierungsmodi.

 

Können Sie mir das bitte sagen? Wie wird ein Expert Advisor neu initialisiert (z.B. bei der Ausführung von ChartSetSymbolPeriod() )?

Ist es richtig zu verstehen, dass die Reinitialisierung eigentlich nur lokale Variablen in Funktionen betrifft.

Und was sind die Regeln für globale Variablen?

Nach meiner Beobachtung erben globale Variablen ihre Werte nach dem OnDeinit - OnInit Durchgang.

Sollte es so sein?

 
User_mt5:

Können Sie mir das bitte sagen? Wie wird ein Expert Advisor neu initialisiert (z.B. bei der Ausführung von ChartSetSymbolPeriod() )?

Ist es richtig zu verstehen, dass die Reinitialisierung eigentlich nur lokale Variablen in Funktionen betrifft.

Und was sind die Regeln für globale Variablen?

Nach meiner Beobachtung erben globale Variablen ihre Werte nach dem OnDeinit - OnInit Durchgang.

Sollte es so sein?

Инициализация глобальных переменных программы и другие полезные знания.
Инициализация глобальных переменных программы и другие полезные знания.
  • 2016.11.29
  • www.mql5.com
Встал на форуме недавно вопрос по поводу верной/неверной инициализации глобальных переменных в программах...
 
Artyom Trishkin:

Ich danke Ihnen.

Das Problem mit diesem mql ist, dass es intuitiv unberechenbar ist:

- nicht über die Unterscheidung zwischen global und lokal

- noch in der Frage der Unterschiede zwischen Indikatoren und Experten.

(die letzte Kopie der Korrespondenz mit SD war auch sehr nützlich für die obige Diskussion unter dem Link, danke)

 
Kann mir jemand sagen, wie ich Fenster im Terminal programmatisch freilegen kann? (Breite, Höhe und Einrasten)
 
User_mt5:
Kann mir jemand sagen, wie ich Fenster im Terminal programmatisch einstellen kann? (Breite, Höhe und Positionierung).

Trennen Sie das Fenster vom Terminal und versuchen Sie es dann (ich persönlich habe noch nicht versucht, diese Eigenschaften einzustellen):

MQL5: Es wurden neue Eigenschaften hinzugefügt, um Diagramme an das Hauptfenster des Terminals zu binden/von diesem zu lösen und ihre Position zu steuern.

Neue Eigenschaften in derAufzählungENUM_CHART_PROPERTY_INTEGER hinzugefügt:

  • CHART_IS_DOCKED - Das Diagrammfenster ist fixiert. Ist dieser Wert auf false gesetzt, kann das Diagramm außerhalb des Terminals gezogen werden.
  • CHART_FLOAT_LEFT - linke Koordinate des abgetrennten Diagramms relativ zum virtuellen Bildschirm.
  • CHART_FLOAT_TOP - obere Koordinate des Diagramms relativ zum virtuellen Bildschirm.
  • CHART_FLOAT_RIGHT - rechte Koordinate des abgetrennten Diagramms relativ zum virtuellen Bildschirm.
  • CHART_FLOAT_BOTTOM - untere Koordinate des abgetrennten Diagramms relativ zum virtuellen Bildschirm.


Zur AufzählungENUM_TERMINAL_INFO_INTEGER hinzugefügt:

  • TERMINAL_SCREEN_LEFT - linke Koordinate des virtuellen Bildschirms. Der virtuelle Bildschirm ist ein Rechteck, das sich über alle Monitore erstreckt. Wenn zwei Monitore im System vorhanden sind und ihre Reihenfolge von rechts nach links eingestellt ist, kann die linke Koordinate des virtuellen Bildschirms an der Grenze der beiden Monitore liegen.
  • TERMINAL_SCREEN_TOP - obere Koordinate des virtuellen Bildschirms.
  • TERMINAL_SCREEN_WIDTH - Breite des Terminals.
  • TERMINAL_SCREEN_HEIGHT - Höhe des Terminals.
  • TERMINAL_LEFT - linke Koordinate des Terminals in Bezug auf den virtuellen Bildschirm.
  • TERMINAL_TOP - obere Koordinate des Terminals in Bezug auf den virtuellen Bildschirm.
  • TERMINAL_RIGHT - rechte Koordinate des Terminals in Bezug auf den virtuellen Bildschirm.
  • TERMINAL_BOTTOM - untere Koordinate des Terminals in Bezug auf den virtuellen Bildschirm.
 
Vladimir Karputov:

Trennen Sie das Fenster vom Terminal und versuchen Sie es dann (ich persönlich habe diese Eigenschaften noch nicht eingestellt):

Danke.

Ich habe es ausprobiert. Es funktioniert nur mäßig (insbesondere ist das Fenster minimiert, wenn Sie das Terminal minimieren, verschwindet es, aber wenn Sie den Bildschirm aufklappen, öffnet sich das zuvor minimierte Fenster in seiner Größe, jedes Mal, wenn Sie es wieder minimieren müssen, damit es nicht zu groß wird).

Aber das ist nicht alles. Ich muss die Graphen nicht abtrennen, ich muss sie nur tesselieren, oder was immer ich für richtig halte. Im MT5 scheint es so etwas nicht zu geben...

(die allgemeine Idee ist, dass in Multicurrency Expert Advisor ich brauche, um Trades von vordefinierten Symbolen zu sehen;
gibt es eine Schaltfläche, die alle Charts, auf denen Aufträge und Positionen geöffnet sind, öffnet;
aber Fenster öffnen unkontrollierbare Größe und ich muss sie manuell auf dem Bildschirm anordnen;
und ich, faul, würde gerne meine intellektuell unerreichbar Programm zu tun :)

 
User_mt5:

Ich danke Ihnen.

Ich habe es ausprobiert. Es funktioniert nur mäßig (insbesondere wird das Fenster minimiert, verschwindet, wenn Sie das Terminal minimieren, aber wenn Sie den Bildschirm aufklappen, öffnet sich das zuvor minimierte Fenster in seiner Größe, und jedes Mal müssen Sie es wieder minimieren, damit es nicht überhand nimmt).

Aber das ist nicht alles. Ich muss die Diagramme nicht abtrennen, ich muss sie nur tesselieren oder etwas anderes, was ich für richtig halte. Im MT5 scheint es so etwas nicht zu geben.

(die allgemeine Idee ist, dass in einem Multi-Währungs-Expert Advisor man braucht, um Trades durch vordefinierte Symbole zu sehen;
gibt es eine Schaltfläche, die alle Charts mit offenen Aufträgen und Positionen öffnet;
aber die Fenster öffnen unkontrollierbar groß und ich muss sie manuell auf dem Bildschirm anordnen;
und ich, faul zu sein, würde gerne meine intellektuell unerreichbar Programm zu tun :)

Wie wäre es mit der Verwendung von WinAPI? Insbesondere hat MQL5 die Unterstützung für

MQL5: Die Unterstützung für WinAPI-Funktionen wurde der Standardbibliothek hinzugefügt. Um die Funktionen des Betriebssystems in MQL5-Programmen zu nutzen, müssen Sie nun nicht mehr manuell Bibliotheken importieren und Funktionssignaturen beschreiben. Die Header-Datei aus dem Verzeichnis MQL5\Include\WinAPI ist ausreichend.

Die WinAPI-Funktionen sind entsprechend ihrem Zweck in separaten Dateien gruppiert:

  • libloaderapi.mqh - Handhabung von Ressourcen
  • memoryapi.mqh - Speicherverwaltung
  • processenv.mqh - Handhabung der Umgebung
  • processthreadsapi.mqh - Arbeit mit Prozessen
  • securitybaseapi.mqh - Betrieb mit dem Betriebssystem-Sicherheitssystem
  • sysinfoapi.mqh - Abrufen von Systeminformationen
  • winbase.mqh - allgemeine Funktionen
  • windef.mqh - Konstanten, Strukturen und Aufzählungen.
  • wingdi.mqh - Betrieb mit grafischen Objekten
  • winnt.mqh - Behandlung von Ausnahmen
  • winreg.mqh - Manipulation der Registrierung
  • winuser.mqh - Fenster- und Schnittstellensteuerung
  • errhandlingapi.mqh - Fehlerbehandlung
  • fileapi.mqh - Dateibehandlung
  • handleapi.mqh - Arbeit mit Handles
  • winapi.mqh - Verbindung aller Funktionen (WinAPI-Header-Dateien)


Die Bindung funktioniert nur mit der 64-Bit-Architektur.

 
Vladimir Karputov:

Wie wäre es mit der Verwendung von WinAPI?

Das nehme ich an. Aber hier endet mein Fachwissen.

Es wäre schön, wenn es eine Gewissheit gäbe, für wen mql5 - für clever oder für schön. Ich bin alles andere als klug.
Um die API zu verwenden, benötige ich eine Beschreibung und Beispiele. Ohne sie wird der Goldberg der Bibliotheken für mich ungenutzt bleiben.
- Ich kann und will mich nicht durch Tausende von Zeilen unkommentierten Codes wühlen, in der Hoffnung, etwas Nützliches zu finden.