Diskussion zum Artikel "Die Verwendung von AutoIt mit MQL5"

 

Neuer Artikel Die Verwendung von AutoIt mit MQL5 :

Kurzbeschreibung. In diesem Artikel befassen wir uns mit dem Skripting des MetraTrader 5-Terminals durch die Integration von MQL5 mit AutoIt. Es wird gezeigt, wie man verschiedene Aufgaben durch Manipulation der Benutzeroberfläche des Terminals automatisieren kann, und es wird eine Klasse vorgestellt, die die AutoItX-Bibliothek verwendet.

AutoIt ist insofern eingeschränkt, als es nur mit Standardkomponenten von Microsoft Windows, wie sie von der Win32-API bereitgestellt werden, zuverlässig arbeiten kann. Wenn ein Programm nutzerdefinierte Komponenten verwendet, wird AutoIt nicht funktionieren. Dies trifft vor allem auf Software zu, die mit plattformübergreifenden Frameworks erstellt wurde. Wir können überprüfen, ob die Benutzeroberfläche eines Programms mit AutoIt kompatibel ist, indem wir das AutoIt Window Info Tool verwenden. Eine weitere Einschränkung, der man sich bewusst sein sollte, ist die Tatsache, dass AutoItX nur einen Teil der Möglichkeiten der AutoIt-Skriptsprache implementiert. Es ist möglich, dass eine Komponente von AutoIt manipuliert werden kann, aber die gleiche Funktionalität nicht über AutoItX verfügbar ist.

Das Fenster-Info-Tool von AutoIt

AutoIt wird mit einer Anwendung namens AutoIt Window Info Tool ausgeliefert, die dazu dient, Informationen über Anwendungsfenster zu erhalten.

Indem man das Finder Tool über einen beliebigen Teil einer Zielanwendung zieht, kann man die Eigenschaften einer bestimmten Komponente abrufen. Diese Komponenten werden als Steuerelemente (controls) bezeichnet. Ein Steuerelement kann eine Schaltfläche, ein Dropdown-Menü oder eine Registerkarte sein. Dies sind nur einige Beispiele, es gibt viele Arten von Steuerelementen, die zur Erstellung von Anwendungen verwendet werden. Jedes Steuerelement ist mit einem Fenster verbunden. Eine Anwendung kann aus einer Reihe von Fenstern bestehen. Normalerweise gibt es ein Hauptfenster, an das andere untergeordnete Fenster angehängt oder angedockt sind. Wenn die untergeordneten Fenster an das Hauptfenster der Anwendung angehängt oder angedockt sind, dann werden alle Steuerelemente, die in diesen untergeordneten Fenstern enthalten sind,Teil des Hauptfensters der Anwendung. Wenn Sie AutoIt verwenden, um ein Steuerelement genau zu lokalisieren, ist das Fenster, mit dem das Steuerelement verbunden ist, wichtig, egal ob es sich um ein untergeordnetes Fenster oder das Hauptanwendungsfenster handelt.

In der nachstehenden Grafik sehen Sie, wie das Suchwerkzeug über verschiedene Bereiche einer Metatrader 5-Anwendung gezogen wird, und beachten Sie die Einstellungen des Werkzeugs Fensterinfo, wenn das Menü Optionen ausgewählt ist. Die Optionen Freeze, Always On Top und Use Spy++ Control Detection Logic sind angekreuzt.


Autor: Francis Dube

 

Können Sie mir bitte sagen, wie ich die Taste zum Aktivieren/Deaktivieren von AutoTrading drücken kann (Strg+E)? Sollte ich `ALGOTRADECHECK_BUTTON` oder `WINDOWTEXT_EA` oder vielleicht etwas anderes verwenden? Verzeihen Sie mir, wenn ich unaufmerksam war, aber es scheint, dass Sie prüfen, ob Experten zum Handel zugelassen sind, wenn Sie einen zu einem Diagramm hinzufügen (b.t.w. was ist, wenn ein anderer EA bereits dort ist?), also könnte es eine separate öffentliche Methode dafür sein.

Vielen Dank für die tolle Arbeit!

 
Daniel Lagoshniak prüfen, ob Experten zum Handel zugelassen sind, wenn Sie einen zu einem Diagramm hinzufügen (b.t.w. was ist, wenn ein anderer EA bereits dort ist?), also könnte es eine separate öffentliche Methode dafür sein.

Vielen Dank für die tolle Arbeit!

ALGOTRADECHECK_BUTTON` und `WINDOWTEXT_EA` sollten nur für die Interaktion mit EA-Dialogen verwendet werden. Was Sie zu tun versuchen, ist in der Klasse nicht implementiert. Aber es kann erreicht werden, indem man die ControlSend()-Methode von CAutoIt verwendet, um die Tastenkombination (Strg+E) an das Terminal zu senden, oder man könnte eine Schaltfläche in der Symbolleiste anvisieren und einen Klick mit ControlLeftClick() emulieren.

Wenn bereits ein EA im Diagramm vorhanden ist, der sich von dem auf das Diagramm anzuwendenden unterscheidet, kann der Code den Dialog behandeln, der erscheint und fragt, ob der vorhandene EA entfernt werden soll.

 

Code ohne Kommentar... Nicht gut...

Danke!

 

AutoIt ist ein hervorragendes Tool, aber seien Sie gewarnt: Das letzte Update war im März 2018...

;)

 
Ein sehr interessanter und nützlicher Artikel. Vielen Dank an den Autor!
 
Und bitte sagen Sie mir, wie man den dritten Parameter in dieser Funktion int AU3_WinGetPos(string, string, LPRECT); setzt und diese Koordinaten erhält?
 

es gibt einen nützlicheren und Microsoft-Spion im VS-Kit.

AutoIt ist keine freie Software (es ist Shareware), Sie müssen dafür bezahlen und es ist unklar, wie sie seinen Werbeartikel verpasst haben.

 
Ja, AutoIt ist großartig, ich habe sogar AutoMTF in Autoit geschrieben.
 

Gibt es eine Möglichkeit, die Farbe von Rot und Blau in Market Watch als Volltonfarbe und nicht als Abstufung einzustellen? Ich verwende Autoit, um die Farbe zu lesen, aber jedes Mal, wenn ich die Trading-App neu starte, ändert sich die Farbe des Pixel-Checkers ebenfalls.

Ich brauche auch eine Möglichkeit, den Gewinn jeder offenen Position mit Autoit zu lesen.