Zusammenfassung
In MQL4 gibt es verschiedene Datentypen, die unterschiedliche Arten von Informationen speichern. Dazu gehören ganzzahlige Datentypen (wie char, int, long), logische Datentypen (bool), Datentypen für Zeichenketten (string), Gleitkommazahlen (float, double), Farbdaten (color), Zeit- und Datumsdaten (datetime) sowie Aufzählungen (enum). Diese Datentypen bestimmen, wie viel Speicher für Variablen benötigt wird und welche Art von Daten verarbeitet werden kann, z. B. ob es sich um Ganzzahlen, Zeichenketten, logische Werte oder Farben handelt.
Top 3 Key Takeaways:
- Ganzzahlige und logische Datentypen: MQL4 bietet verschiedene ganzzahlige Datentypen wie char, int, long, die je nach Speicheranforderungen und Wertebereich gewählt werden können. bool speichert einfache logische Werte (true/false).
- Gleitkommazahlen und Zeichenketten: Gleitkommazahlen werden über float und double definiert, wobei double genauer ist. Für Zeichenfolgen wird der Datentyp string verwendet.
- Farb- und Zeitdatentypen: Der color-Datentyp ermöglicht die Darstellung von Farben über RGB-Werte, Ganzzahlen oder vordefinierte Namen. Mit datetime werden Zeit- und Datumswerte gespeichert, die die Anzahl der Sekunden seit 1970 darstellen.
Inhaltsverzeichnis
Anklicken zum öffnen und schließen
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:
MQL Code
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:
MQL Code
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
MQL Code
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
float, double
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
MQL Code
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
MQL Code
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
MQL Code
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
MQL Code
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
};
Fragen und Antworten
Der Datentyp string wird in MQL4 verwendet, um Zeichenfolgen, also Text, zu speichern. Texte werden in doppelte Anführungszeichen eingeschlossen.
Der Datentyp int kann sowohl positive als auch negative Ganzzahlen speichern, während uint nur positive Werte speichern kann, da es sich um einen "unsigned" (ohne Vorzeichen) Datentyp handelt.
Farben können in MQL4 über den color-Datentyp dargestellt werden. Sie können entweder durch RGB-Werte, Ganzzahlen (hexadezimal oder dezimal) oder durch vordefinierte Farbennamen angegeben werden.