Programmierung
Jetzt liest du
MQL praktisch. Grundlagen und Marktimpuls [Programmierkurs]
0

MQL praktisch. Grundlagen und Marktimpuls [Programmierkurs]

erstellt Radek Szafron12 2019 März

Im Zyklus MQL praktisch Wir vermitteln Ihnen das notwendige Wissen, um mit Anwendungen zu arbeiten, die in MQL 4 für die Meta Trader-Plattform geschrieben sind. Natürlich ist das Thema Programmierung sehr breit, aber der Zweck dieses Zyklus besteht nicht darin, alle möglichen Fragen aufzuwerfen und Sie mit einer komplizierten Theorie zu belegen. Der Zweck dieses Zyklus besteht darin, Ihnen zu zeigen, wie Sie mit MQL arbeiten und Wissen vermitteln, mit dem Sie sich in diesem Spektrum weiterentwickeln können.

Der Zweck der Aufgaben, die wir zusammen ausführen werden, ist eine separate Installation der MetaTrader 4-Plattform, auf der nur der Demo-Account eines Brokers installiert ist. Wir wollen keine echte Rechnung versauen. Dies kann die ursprüngliche Version der MT4-Plattform sein.

HERUNTERLADEN VON METATRADER 4

Grundfunktionen

Beginnen wir mit den Grundlagen, dh wie das Fenster der MT4-Plattform aussieht und welche Funktionen es für in MQL geschriebene Anwendungen enthält. Schauen wir uns das Bild unten an.

experts_config

MMS praktisch - Abb.1

An der mit dem gekennzeichneten Stelle befindet sich ein Fenster "Navigator" (Strg + N). Das Panel ermöglicht den Zugriff auf alle auf einer Plattform installierten MQL-Tools „Indikatoren“, „Strategien“ i "Scripts". Wir führen die Programme aus, indem Sie sie in das ausgewählte Diagramm ziehen und die Parameter der jeweiligen Anwendung in dem angezeigten Fenster konfigurieren. An der mit den beiden markierten Stelle sehen wir ein Beispiel für das Einstellungsfenster. Alle Parameter, die wir für die Anwendung konfigurieren können, sind hier verfügbar, aber konzentrieren wir uns auf die grundlegenden Elemente, die allen Programmen gemeinsam sind. Feld "Lass den Handel" wird von Benutzern oft übersehen, und der Vogel bestimmt, ob der Algorithmus Transaktionen abschließen kann. Mit dieser Funktion können Sie die Transaktionsfunktionalität für jeden Algorithmus im Gegensatz zu einer Funktion deaktivieren und aktivieren „Autotrading“, markiert mit einem Dreieck, das ist ein globaler Schalter für die Möglichkeit, Transaktionen mit allen Tools abzuschließen, die auf einer bestimmten Meta Trader-Plattform arbeiten.

Ich denke, dass Sie sich an dieser Stelle nicht mit zusätzlichen Funktionen beschäftigen müssen. Die obigen Informationen reichen aus, um unser erstes Programm erfolgreich zu starten.

Wir können über die Programmierung nachdenken. Die MetaTrader-Plattform integriert eine Anwendungsentwicklungsumgebung. Die Umgebung ist über das Menü verfügbar "Tools / MQL4 Spracheditor".

metaeditor_launch

MMS praktisch - Abb.2

Nach Auswahl der Option im Menü wird eine neue Anwendung geöffnet - "MetaEditor". An dieser Stelle werden Algorithmen für die MT4-Plattform geschrieben. Lassen Sie uns für einen Moment aufhören und lernen Sie die wichtigsten Elemente des Editors kennen.

metaeditor_basic

MMS praktisch - Abb.3

Auf der linken Seite des Fensters befindet sich wie in der MT4 selbst ein Panel "Navigator". An der Stelle, die in der obigen Zeichnung markiert ist, haben wir den Inhalt des Expertenkatalogs entwickelt und dann durch Doppelklick auf den Namen des Programms seinen Quellcode geöffnet, der in dem mit der Nummer zwei markierten Teil des Fensters angezeigt wurde. In diesem Teil erstellen und bearbeiten wir Algorithmen. Wenn wir die Anwendung fertig geschrieben haben, müssen wir sie in eine computerlesbare Form umwandeln, d. H., Um das Programm durch Auswahl der Option zu kompilieren „Übersetzen“ (F7), markiert mit einem Dreieck. Der kompilierte Algorithmus befindet sich im Panel "Navigator" MT4-Plattform und führen Sie das Ziehen des ausgewählten Diagramms aus. Genau wie im vorherigen Teil dieses Artikels.

junger Baum "Navigator" es spiegelt die Struktur der Dateien im MQL4-Verzeichnis wider, d. h. das Verzeichnis, in dem die Plattform alle in MQL geschriebenen Anwendungen speichert. Wenn Sie die Anwendung installieren möchten, z. B. eine Anwendung, die im Rahmen unseres Zyklus zur Verfügung gestellt wird, sollten Sie die Datei in das Verzeichnis MQL4 kopieren. Denken Sie daran „Strategien“ wir stellen in den katalog "MQL4 \ Experten", eine „Indikatoren“ im Katalog "MQL4 \ Indikatoren" und dass jede auf Ihrem Computer installierte Kopie der Meta Trader 4-Plattform über ein eigenes MQL4-Verzeichnis verfügt. Wie Sie den MQL4-Katalog einer bestimmten Plattform finden, ist in der folgenden Abbildung dargestellt (klicken Sie im MQL4-Symbol mit der rechten Maustaste).

metaeditor_mql_folder

MMS praktisch - Abb.4

Wir wissen bereits, wie Sie Anwendungen für Meta Trader 4 ausführen, installieren und schreiben. Kommen wir zu den Vorteilen und beginnen wir mit dem Programmieren.


Fachberater


Wir erstellen die erste Anwendung

Damit Sie als Programmierer die ersten Schritte tun können, schreiben wir gemeinsam eine kleine Anwendung, deren Aufgabe uns über die aktuelle Marktaktivität informieren wird. Wir werden es nennen "Puls Rynku"und wir werden mit viel Druck die Presse in Erwartung des Auftretens der gewünschten Variabilität nutzen, was wir dank der Änderung der durch unseren Algorithmus erzeugten Geräuschfrequenz hören werden.

Als Anhang zu diesem Artikel unter DIESER LINK Sie finden eine Sounddatei "Pulse_beep.wav". Bitte legen Sie es in den Katalog "Sounds"das sich im Hauptkatalog der MT4-Plattform befindet. Katalog "Sounds" Sie können dies durch Öffnen der Verknüpfungseigenschaften des Terminals ermitteln (siehe Abbildung unten).
mt4_location

MMS praktisch - Abb.5

Die folgenden Bilder zeigen, wie Sie eine neue, fast leere automatische Richtliniendatei erstellen. Wählen Sie im MetaEditor-Fenster die Funktion aus „Neu“dann wählen Sie "Expert Advisor"Wählen Sie den Namen des Programms und klicken Sie auf "Nächster" solange die geöffnete Vorlage des neuen Programms im Editor angezeigt wird.

metaeditor_new_1

Rys.6

 

metaeditor_new_2

Rys.7

 

metaeditor_new_3

Rys.8

Wir gehen nicht einfach und löschen den gesamten Inhalt der Datei in dem Fenster, das im letzten Bild mit einem gekennzeichnet ist. Wir werden den gesamten Code unserer Anwendung selbst schreiben. Lassen Sie uns beginnen.


              // Puls Rynku.mq4
              // Copyright 2019, Mistrz Programowania
              // https://www.mistrz.ty
            

Durch die Eingabe von "//" am Anfang der Zeile erstellen wir Kommentare, d. H. Fragmente, die uns als Programmierer dienen, um alle Arten von Informationen und Notizen im Code zu erstellen. Kommentare haben keinen Einfluss auf die Funktionsweise des Programms. Mit Hilfe von Kommentaren können Sie die Kopfzeile Ihrer Anwendung erstellen, die beispielsweise Angaben zum Autor, Informationen zur Anwendung selbst oder zum Urheberrecht enthält. Erstellen Sie einen Header (oder nicht) und fügen Sie den folgenden Code in die neue Zeile ein.

          
              #property strict
            

Parameter des Typs "#property" ermöglichen es, der Plattform zusätzliche Informationen über das erstellte Programm bereitzustellen. Der Parameter "#property strict" am Anfang der Zeile informiert die Plattform darüber, dass der Algorithmus unter Verwendung der neuesten Syntax der MQL4-Sprache erstellt wird.

Geben Sie im nächsten Schritt den folgenden Vorgang in die neue Zeile ein.

    
              input string Plik_dzwiekowy =  "pulse_beep.wav";
            

Wort "Input" informiert das Programm darüber, dass wir einen Parameter erstellen, mit dem wir die zum Ausführen des Programms erforderlichen Einstellungen eingeben können. auf "Input" Wir geben immer die Art der eingegebenen Daten an, hier ist es "String" das ist text. Als Nächstes erstellen wir den Namen der Variablen, dh in vereinfachter Form den Namen des Computerspeicherfragments, auf das wir uns in Zukunft beziehen können, um die eingegebenen Daten zu lesen. Wir nennen unsere Variable "Plik_dzwiekowy"Es handelt sich dabei um den String-Typ, dh es ermöglicht uns, den Text in das Programm einzugeben, den wir als Namen der Sound-Datei verwenden, die von unserem Algorithmus verwendet werden soll.

Wir sehen das Gleichheitszeichen nach dem Variablennamen. Es bedeutet, dass Sie unserer Variablen Text zuweisen möchten "Pulse_beep.wav". Dieser Wert wird in diesem Fall als Standardwert verwendet und kann nach dem Ziehen des Programms auf die Grafik im Einstellungsfenster geändert werden. Wir haben gerade die Datenzuweisung definiert. Es ist eine einfache Operation, die mit einem Semikolon endet.

An diesem Punkt sollten Sie einen Moment innehalten und die Datentypen lesen. In der obigen Zeile haben wir den Datentyp verwendet "String"Es gibt jedoch viele weitere Typen, die einen grundlegenden Teil der Sprache darstellen, der nicht umgangen werden kann. Ich gebe eine Adresse zu einem Teil der Dokumentation, in der die Datentypen der Sprache MQL4 beschrieben werden.
Wie Sie in den obigen Fragmenten sehen können, ist eine einzige Zeile für die Programmierung sehr wichtig, und wir sollten sehr sorgfältig darauf achten, was wir im Quellcode schreiben, da selbst der kleinste Fehler die Kompilierung des Algorithmus verhindert.

Wir schreiben weiter.


                void OnTick()   
                {
                
                PlaySound(Plik_dzwiekowy);
                
                }
          

Der obige Datensatz definiert die Funktion "OnTick ()". Funktionen sind Elemente des Algorithmus, die für die Ausführung der ihnen übertragenen Operationen verantwortlich sind. In diesem Fall sehen wir die integrale Funktion der MMS-Sprache, deren Aufgabe es ist, die Operation auszuführen, wenn sich der Kurs des Instruments, auf dem unser Algorithmus arbeitet, ändert. Die Plattform ruft diese Funktion jedes Mal auf, wenn ein neuer Tick erscheint. Die von jeder Funktion, die wir schreiben, auszuführenden Operationen werden von uns definiert. Wir haben hier volle Freiheit und praktisch keine Einschränkungen. Diesmal werden wir jedoch nur die zuvor mit dem Parameter definierte Sounddatei zurückhalten und neu erstellen "Input". Wir werden zu diesem Zweck eine weitere, ebenfalls integrierte Funktion der MQL 4-Sprache verwenden - "PlaySound (String-Dateiname)"Die Aufgabe besteht darin, die Sounddatei mit dem Namen zu reproduzieren, den sie erhalten wird, indem sie eine Variable mit dem Datentyp "string" verwendet, den sie zwischen den Klammern hinter dem Funktionsnamen erwartet. Funktionsweise des Funktionsaufrufs „Playsound“ wir enden mit einem Semikolon, denn genau wie die Data-Mapping-Operation ist eine einfache Operation.

Wie Sie wahrscheinlich wissen, ist hier das Thema der in der Sprachsyntax verfügbaren Operationen.

Wir drücken zusammen!

metaeditor_compile_ok

Rys.9

Ich drücke die Daumen, so dass alles wie oben aussieht. Wenn ja, lief die Zusammenstellung gut. Wenn das Ergebnis eher einer Zeichnung der 10-Nummer ähnelt, müssen wir den Fehler anhand der im unteren Bereich angezeigten Informationen ermitteln, die nach dem Kompilierungsversuch angezeigt wurden. Auf der linken Seite des Fensters können Sie lesen, was die Fehler betreffen, und rechts in der Zeile, in der sie sich befinden. Ein Doppelklick auf eine fehlerhafte Zeile führt zum entsprechenden Teil des Quellcodes. Fügen Sie die fehlenden Semikolons und Klammern ein und drücken Sie erneut „Übersetzen“.

metaeditor_compile_ups

Rys.10

Fertig! Wir können zu MT4 gehen und unseren ersten Algorithmus auf ein Diagramm ziehen.

Piep Piep ... 😉

Bis nächste Woche. Wir werden ein neues Programm schreiben und erweiterte Sprachfunktionen erkunden.

FINAL CODE - MARKTPULS

Was denken Sie?
Ich mag es
68%
interessant
28%
Heh ...
6%
Shock!
11%
Ich mag es nicht
15%
Verletzung
3%
Über den Autor
Radek Szafron
Der Autor der Publikation ist Radek Szafron, Inhaber der Expert Advisors Company, die seit vielen Jahren Investoren unterstützt, indem sie Technologien für den FOREX-Markt bereitstellt. Der Autor ist ein Absolvent der Warschauer School of Economics mit der Spezialisierung "Finanzmärkte" und Programmierer mit fast 20-Sommererfahrung. Das Unternehmen implementiert Algorithmen und Anwendungen, die in allen Sprachen der "C" -Familie geschrieben wurden, einschließlich der beliebten Plattformen Meta Trader 4 und 5. Expert Advisors finden Sie unter www.expertadvisors.pl.

Hinterlasse eine Antwort