Operatoren und Ausdrücke in MQL4

Operatoren und Ausdrücke sind in der Programmierung von MQL4 Programmen ein wesentlicher Bestandteil. In diesem Artikel wird die Anwendung von Operatoren und Ausdrücken in MQL4 beschrieben.

Operatoren und Ausdrücke in MQL4
Werbung

MQL4 Programmierung im Metatrader 4

Das Arbeitsbuch für die Programmierung automatischer Handelssysteme im MetaTrader 4

Das Arbeitsbuch für die Programmierung automatischer Handelssysteme im MetaTrader 4 richtet sich an alle, die Programmierkenntnisse in der Programmiersprache MQL 4 erlangen wollen. Ziel des Buches ist es, dem Leser die Kenntnisse zu vermitteln individuelle Expert Advisor Programme zu programmieren. Durch die Erläuterung verschiedener Funktionen und Anwendungen können die Einsatzmöglichkeiten der Programmiersprache MQL4 vom Leser nachvollzogen und eigenständig umgesetzt werden. Schrittweise wird der Leser in die Programmiersprache eingeführt und anhand von Beispielprogrammen können Programmiertechniken gelernt werden.

Mehr Erfahren →

Arithmetische Operatoren

Arithmetische Operatoren werden verwendet um eine mathematische Funktion wie beispielsweise Addition, Subtraktion, Multiplikation und Division, mit Zahlen durchzuführen. Jede mathematische Funktion wird durch bestimmte Zeichen definiert. Folgende Zeichen definieren dabei die jeweilige mathematische Funktion:
  • Das Additionszeichen "+"
  • Das Subtraktionszeichen "-"
  • Das Multiplikationszeichen "*"
  • Das Divisionszeichen "/"
  • Das Modulo-Divisionszeichen "%"

Beispiel für Addition:

int Wert1 = 6;
int Wert2 = 8;
int Ergebnis = Wert1 + Wert2;


Der Variable "Wert1" wird die Zahl 6 zugewiesen und der Variable "Wert2" wird die Zahl 8 zugewiesen. In der Variable "Ergebnis" wird das Additionsergebnis aus beiden Variablen gespeichert. Die Variable "Ergebnis" enthält den Wert 14 (8 plus 6).

Beispiel für Subtraktion:

int Wert1 = 12;
int Wert2 = 4;
int Ergebnis = Wert1 - Wert2;


Der Variable "Wert1" wird die Zahl 12 zugewiesen und der Variable "Wert2" wird die Zahl 4 zugewiesen. In der Variable "Ergebnis" wird das Subtraktionsergebnis aus beiden Variablen gespeichert. Die Variable "Ergebnis" enthält den Wert 8 (12 minus 4).

Beispiel für Multiplikation:

int Wert1 = 3;
int Wert2 = 5;
int Ergebnis = Wert1 * Wert2;


Der Variable "Wert1" wird die Zahl 3 zugewiesen und der Variable "Wert2" wird die Zahl 5 zugewiesen. In der Variable "Ergebnis" wird das Multiplikationsergebnis aus beiden Variablen gespeichert. Die Variable "Ergebnis" enthält den Wert 15 (3 mal 5).

Beispiel für Division:

int Wert1 = 24;
int Wert2 = 4;
int Ergebnis = Wert1 / Wert2;


Der Variable "Wert1" wird die Zahl 24 zugewiesen und der Variable "Wert2" wird die Zahl Wert 4 zugewiesen. In der Variable "Ergebnis" wird das Divisionsergebnis aus beiden Variablen gespeichert. Die Variable "Ergebnis" enthält den Wert 6 (24 geteilt durch 4).

Beispiel für Modulo Division:

int Wert1 = 13;
int Wert2 = 2;
int Ergebnis = Wert1 % Wert2;


Der Variable "Wert1" wird die Zahl 13 zugewiesen und der Variable "Wert2" wird die Zahl Wert 2 zugewiesen. In der Variable "Ergebnis" wird das Moduloergebnis aus der Division gespeichert. Die Variable "Ergebnis" enthält den Wert 1 (13 geteilt durch 2 gleich 6 mit einem Restwert von 1). Der Modulo Operant ermittelt den Restwert einer Division der sich bei einem ganzzahligen Ergebnis ergiebt.

Zuordnungsoperator

Durch den Zuordnungsoperator, dem Gleichzeichen, wird einer Variable ein neuer Wert zugewiesen.

Beispiel:

int X = 6;
int Y = 8;
int X = Y;


Der Variable "X" wird die Zahl 6 zugewiesen und der Variable "Y" wird die Zahl 8 zugewiesen. In der dritten Zeile wird der Inhalt der Variable Y der Variable X zugewiesen. X enthält nun den Wert 6.

Der Zuordnungsoperator kann auch mit arithmetischen Operatoren kombiniert werden:

X += Y; // Die Variable X wird um den Wert von Y erhöht.
X -= Y; // Die Variable X wird um den Wert von Y verringert.
X *= Y; // Die Variable X wird mit dem Wert von Y multipliziert.
X /= Y; // Die Variable X wird durch den Wert von Y dividiert.


Vergleichsoperatoren

Das Ergebnis von Vergleichsoperatoren ist immer entweder "wahr" oder "falsch", bzw true oder false. Folgende Vergleichsoperatoren stehen in MQL4 zur Verfügung:
  • X == Y Ist wahr, wenn X gleich Y ist.
  • X <= Y Ist wahr, wenn X kleiner oder gleich Y ist.
  • X != Y Ist wahr, wenn Y ungleich Y ist.
  • X >= Y Ist wahr, wenn X größer oder gleich Y ist.
  • X < Y Ist wahr, wenn X kleiner Y ist.
  • X > Y Ist wahr, wenn X größer Y ist.

Beispiel:

int Var1 = 6;
int Var2 = 8;
if(Var1 > Var2){
// mach irgendwas
}


In diesem Beispiel wird der Code innerhalb der geschweifte Klammern ausgeführt, wenn der Wert der Variable "Var1" größer ist als der Wert der Variable "Var2".

Logische Operatoren

Logische Operatoren werden in MQL4 verwendet, um Vergleichsoperatoren zu verknüpfen. Soll beispielsweise die Frage beantwortet werden, ob die Variable "Var1" größer ist als die Variable "Var2" UND die Variable "Var3" größer ist als die Variable "Var2", dann müssen Vergleichsoperatoren kombiniert werden. Dafür werden logische Operatoren verwendet. Folgende Vergleichsoperatoren stehen in MQL4 zur Verfügung:
  • Die logische Negierung NICHT "!"
  • Die logische ODER-Verknüpfung "||"
  • Die logische UND-Verknüpfung "&&"

Beispiel:

!X; // ist wahr, wenn X falsch ist.
X==1 || Y==2; // ist wahr, wenn X gleich 1 ist ODER Y gleich 2 ist.
X==1 && Y==2; // ist wahr, wenn X gleich 1 ist UND Y gleich 2 ist.

int Var1 = 15;
int Var2 = 3;
int Var3 = 7;
if(Var1 > Var2 && Var3 > Var2){
// mach irgendwas
}

Es wird geprüft, ob Variable "Var1" größer ist als die Variable "Var2" UND die Variable "Var3" größer ist als die Variable "Var2".

Werbung

MQL4 Rezeptsammlung für Entwickler

Eine Sammlung von Lösungsansätzen für die Erstellung von Expert Advisor und Indikator Programmen in MQL4

Dieses Buch richtet sich an MQL4 Programmierer, die bereits über Erfahrungen in der Programmierung mit MQL4 erlangt haben, jedoch bei der Erstellung von Expert Advisor Programmen oder Indikatoren immer wieder auf Probleme stoßen, die eine Lösung benötigen. Es soll für verschiedene Probleme, die bei der Programmierung mit MQL4 auftreten können, eine entsprechende Lösung bieten, ohne das der Programmierer endlos lange überlegen oder noch länger im Internet nach einer Lösung suchen muss. Dieses Buch ist keine Anleitung, um MQL4 zu erlernen und es ist auch kein Nachschlagewerk für bestimmte Begrifflichkeiten der Programmiersprache MQL4. Es ist vielmehr der tägliche Begleiter eines MQL4 Programmierers der bereits die Grundzüge der Sprache beherrscht, aber bei der Umsetzung verschiedener Ideen entsprechende Lösungsansätze benötigt.

Mehr Erfahren →

Risikohinweis / Haftungsausschluss

Die vom Betreiber zur Verfügung gestellten Inhalte auf der Internetseite tradissimo.de, in E-Mail Newslettern und Produkten geben entweder die individuellen Erfahrungen des Betreibers wieder oder beruhen auf sorgfältiger Recherche, denen Quellen Dritter zu Grunde liegen und vom Betreiber als vertrauenswürdig und zuverlässig erachtet werden. Der Betreiber übernimmt keinerlei Gewährleistung für die Aktualität, Richtigkeit oder Vollständigkeit der Inhalte. Alle vom Betreiber erhältlichen Informationen, Angaben und Produkte dienen lediglich zu Informationszwecken und sind nicht als Anlageberatung oder als Kauf- bzw. Verkaufsempfehlung bestimmter Anlageprodukte zu verstehen. Die angebotenen Produkte und Informationen können eine individuelle Beratung nicht ersetzen.

Der Nutzer der Informationen und/oder der Produkte, die vom Betreiber angeboten werden, wird ausdrücklich darauf hingewiesen, dass der Handel mit Derivaten, wie beispielsweise CFD- und FOREX, erhebliche Risiken beinhalten und als hochspekulative Geschäfte anzusehen sind, die Risiken bergen, welche über den Totalverlust des eingesetzten Kapitals hinausgehen können. Durch den Einsatz automatischer Handelssysteme entstehen zusätzliche Risiken wie beispielsweise der Ausfall der Internetverbindung, Fehler im Programmcode oder Hard- oder Softwareprobleme. Darüber hinaus sind positive Ergebnisse einer Handelsstrategie in der Vergangenheit, keine Garantie für künftige Gewinne.

Trifft der Nutzer, auf Grund der vom Betreiber angebotenen Informationen oder Produkte, eine Handelsentscheidung oder verwendet einen vom Betreiber angebotenen Handelsroboter (Expert Advisor), so handelt er stets eigenverantwortlich, auf eigene Gefahr und auf eigenes Risiko. Die Haftung für Schäden materieller oder ideeller Art, die durch die Nutzung oder Nichtnutzung der Informationen und/oder Produkte bzw. durch die Nutzung fehlerhafter und/oder unvollständiger Informationen und/oder Produkte verursacht wurden, sind grundsätzlich ausgeschlossen.