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:

  1. 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).
  2. Gleitkommazahlen und Zeichenketten: Gleitkommazahlen werden über float und double definiert, wobei double genauer ist. Für Zeichenfolgen wird der Datentyp string verwendet.
  3. 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.
Mit Kreide auf einer Tafel geschriebener Text Datentypen in MQL4

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

Welcher Datentyp sollte für die Speicherung von Text verwendet werden?

Der Datentyp string wird in MQL4 verwendet, um Zeichenfolgen, also Text, zu speichern. Texte werden in doppelte Anführungszeichen eingeschlossen.

Was ist der Unterschied zwischen int und uint in MQL4?

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.

Wie kann ich Farben in MQL4 darstellen?

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.