Datentypen in MQL4

In der Programmiersprache MQL4 werden vordefinierte Datentypen verwendet. In diesem Artikel werden die unterschiedlichen Datentypen vorgestellt und erklärt

Datentypen 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 →

Folgende Datentypen werden in MQL4 verwendet

Ganzzahlige Datentypen:

char
Der char-Typ benötigt 1 Byte Speicher (8 Bit) und erlaubt es, in der binären Schreibweise 2 ^ 8 = 256 Werte auszudrücken. Der char-Typ kann sowohl positive als auch negative Werte enthalten. Der Wertebereich reicht von -128 bis 127.

short
Die Größe des short-Typs ist 2 Bytes (16 Bits) und dementsprechend erlaubt er 2 ^ 16 = 65 536 Werte auszudrücken. Der short-Typ enthält ebenfalls sowohl positive als auch negative Werte. Der Wertebereich liegt zwischen -32 768 und 32 767.

int
Die Größe des int-Typs beträgt 4 Byte (32 Bit). Der minimale Wert ist -2 147 483 648, der maximale Wert ist 2 147 483 647.

long
Die Größe des long-Typs beträgt 8 Byte (64 Bit). Der minimale Wert ist -9.223.372.036.854.775.808, der maximale Wert ist 9.223.372.036.854.775.807.

uchar
Der Integer-Typ uchar belegt ebenso wie der char-Typ 1 Byte Speicher. Im Gegensatz zu dem char-Typ ist uchar aber nur für positive Werte vorgesehen. Der Minimalwert ist Null, der Maximalwert ist 255. Der Buchstabe "u" im Namen des uchar-Typs ist die Abkürzung für unsigned (ohne Vorzeichen).

ushort
Der Integer-Typ ushort belegt ebenso wie der short-Typ 2 Bytes Speicher. Im Gegensatz zu dem short-Typ ist ushort aber nur für positive Werte vorgesehen. Der Minimalwert ist Null, der Maximalwert ist 65.535. Der Buchstabe "u" im Namen des ushort-Typs ist die Abkürzung für unsigned (ohne Vorzeichen).

uint
Der Integer-Typ uint belegt ebenso wie der int-Typ 4 Bytes Speicher. Im Gegensatz zu dem int-Typ ist uint aber nur für positive Werte vorgesehen. Der Minimalwert ist Null, der Maximalwert ist 4.294.967.295.

ulong
Der Integer-Typ ulong belegt ebenso wie der long-Typ 8 Bytes Speicher. Im Gegensatz zu dem long-Typ ist ulong aber nur für positive Werte vorgesehen. Der Minimalwert ist Null, der Maximalwert ist 18.446.744.073.709.551.615.

Beispiel:

char zahl1=-13;
short zahl2=-12457;
int zahl3=533;
long zahl4=-184541515;
uchar zahl5=28;
ushort zahl6=9355;
uint zahl7=99241;
ulong zahl8=9157848151;

Logischer Datentyp:

bool
Der Datentyp bool wird verwendet um logische Werte zu speichern. Diese Werte sind entweder "true" (wahr) oder "false" (falsch). Alternativ können auch die numerischen Werte 0 für "false" und 1 für "true" eingesetzt werden.

Beispiel:

bool wert1=true;
bool wert2=false;
bool wert3=0;
bool wert4=1;

Datentyp für Zeichenketten:

string
Der Datentyp string wird zum Speichern von Zeichenketten verwendet. Eine Zeichenkette ist eine Zeichenfolge im Unicode-Format. Zeichenketten werden in doppelte Anführungszeichen eingeschlossen: "Dies ist eine Zeichenkette".

Beispiel:

string text1="Dies ist ein Textstring";
string text2="Dies ist ein Textstring mit einem Zeilenumbruch am Ende \n";
string text3="Dies ist ein mehrzeiliger Textstring\n"
"Dies ist Zeile 2 eines mehrzeiligen Textstrings\n"
"Dies ist Zeile 3 eines mehrzeiligen Textstrings\n";

Datentypen für Gleitkommazahlen:

In der Sprache MQL4 gibt es zwei Arten von Gleitkommazahlen. Der Datentyp float verwendet 4 Bytes und der Datentyp double verwendet 8 Bytes. In der Regel wird nur noch der Datentyp double verwendet, da dieser Datentyp in der Genauigkeit dem Datentyp float überlegen ist.

Beispiel:

double zahl1=3.14;
double zahl2=98.7654321;
double zahl3=-0.123456;

Datentyp für Farben:

color
Der Datentyp color dient zum Speichern von Farbinformationen und belegt 4 Bytes im Speicher. Das erste Byte wird ignoriert, die restlichen 3 Bytes enthalten die RGB-Komponenten.

Farbwerte können auf drei Arten dargestellt werden: RGB-Werte, durch Ganzzahlen oder nach Namen (nur für vordefinierte Web-Farben).

Die RGB-Darstellung besteht aus drei Teilen, die die Zahlenwerte der drei Hauptfarbkomponenten rot, grün und blau darstellen. Die Variable beginnt mit dem Buchstaben C und ist in einfache Anführungszeichen eingeschlossen. Numerische Werte einer Farbkomponente liegen im Bereich von 0 bis 255.

Die ganzzahlige Darstellung erfolgt in Form einer hexadezimal- oder einer Dezimalzahl. Eine hexadezimale Zahl setzt sich wie folgt zusammen 0xBBGGRR. Dabei beschreibt RR den Wert der roten Farbkomponente, GG - der grünen und BB - der blauen Farbe. Bei der dezimalen Darstellung werden keine RGB Werte verwendet. Sie repräsentiert den Dezimalwert einer hexadezimalen Darstellung.

Beispiel:

RGB Werte
color Farbe1=C'255,255,255'; entspricht der Farbe Weiß
color Farbe2=C'0x00,0x00,0xFF'; entspricht der Farbe Blau

Farbnamen
color Farbe3=clrRed; entspricht der Farbe Rot
color Farbe4=clrGreen; entspricht der Farbe Grün

Hexadezimal- oder Dezimalzahl
color Farbe5=0xFFFFFF; entspricht der Farbe Weiß
color Farbe6=16777215; entspricht der Farbe Weiß
color Farbe7=0x008000; entspricht der Farbe Grün
color Farbe8=32768; entspricht der Farbe Grün

Datentyp für Zeit und Datum:

datetime
Der Datentyp datetime dient zum Speichern des Datums und der Uhrzeit. Dabei wird die Anzahl der vergangenen Sekunden seit dem 1. Januar 1970 gespeichert und nicht das tatsächliche Datum. Dieser Typ belegt 8 Byte Speicher.

Datum und der Zeit können als eine Zeichenfolge dargestellt werden, die aus 6 Teilen besteht, die den numerischen Wert des Jahres, Monats, Tages, Stunden, Minuten und Sekunden zeigen. Die Darstellung ist in einfache Anführungszeichen eingeschlossen und beginnt mit dem Buchstaben D. Die Werte reichen vom 1. Januar 1970 bis zum 31. Dezember 3000.

Beispiel:

datetime datum=D'2018.12.31 23:59:59';

Datentyp für Listen:

enum
Der enum Datentyp wird verwendet, um eine Menge zusammengehöriger Konstanten zu definieren. Er wird oft auch als Aufzählungsdatentyp bezeichnet.

Beispiel:

enum monate
{
Januar,
Februar,
März,
April,
Mai,
Juni,
Juli,
August,
September,
Oktober,
November,
Dezember
};

Mit zugeweisenen Werten:
enum Handelsstrategie
{
Strategie1=1,
Strategie2=2,
Strategie3=3,
Strategie4=4
};

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.