Hallo,
in einer enum kann ich beim anlegen ja nur strings definieren
was mache ich aber, wenn ich da zahlen stehen haben will?
so zum Beispiel
was auch nicht geht ist mit (vereinfacht)
dann habe ich es probiert mit
aber hier kann ich ja nur Zahlen definieren wie z.B
kann ich überhaupt zahlen in einer enum auswerten?
da die Inhalte ja eigentlich nur mit Integer übergeben werden??????
danke
Enum (siehe hier: https://www.mql5.com/de/docs/constants) dienen der "Erleichterung von Programmschreiben und gute Wahrnehmung von Ausgangsprogrammtexten.." und "... und haben den Typ int"
Wenn Eingabeparameter als Enums verwendet werden, werden nicht die Werte sondern deren Beschreibung angezeigt:
enum ENUM_TIMEFRAMES { PERIOD_CURRENT, // Aktueller Zeitrahmen PERIOD_M1, // 1 Minute PERIOD_M2, // 2 Minuten PERIOD_M3, // ... } input ENUM_TIMEFRAMES TF; // Zeitrahmen

- www.mql5.com
Enum (siehe hier: https://www.mql5.com/de/docs/constants) dienen der "Erleichterung von Programmschreiben und gute Wahrnehmung von Ausgangsprogrammtexten.." und "... und haben den Typ int"
Wenn Eingabeparameter als Enums verwendet werden, werden nicht die Werte sondern deren Beschreibung angezeigt:
Danke Carl,
den link kenn ich, da war ich schon ;-)
habs mir genauso gedacht wie Du es beschrieben hast. Aber einen Versuch war es Wert.
Nur ganzahlige Aufzählungen. Keine doubles keine Strings
enum intervals // Enumeration der benannten Konstanten { month=1, // Interval aus einem Monat two_months, // zwei Monate quarter, // drei Monate - Quartal halfyear=6, // Halbjahr year=12, // Jahr - 12 Monate };
- Zum Unterschied von C++, ist die Größe der inneren Darstellung des aufzählbaren Typs in MQL5 immer 4 Byte. D.h. sizeof(months) gibt den Wert 4 zurück.
- Zum Unterschied von C++, kann in MQL5 keine anonyme Enumeration erklärt werden. D.h. nach Schlüsselwort enum kann immer ein eindeutiger Name angegeben werden.
Gruß
Hab da noch was was es deutlicher macht. Kommt zwar von C ist aber vergleichbar
Aufzählungen In manchen Fällen kommt es vor, dass man Dinge wie Monatsnamen, Wochentage oder Vergleichbares in seinem Programm darstellen möchte. Dies könnte man mittels Variablen erledigen. Folgendes Beispiel soll die 4 möglichen Karten eines Skat-Spiels darstellen, wie wir es auf herkömmliche Art und Weise machen könnten. Wir verweden hier vorzugsweise Konstanten. Jede Karte ist durch eine Variable und dessen eindeutigen Wert identifizierbar. const int kreuz=0, pik=1, karo=2, herz=3; int karte = herz; printf("Wert der Karte: %d\n", karte); Wert der Karte: 3 Um das obige Beispiel zu vereinfachen, verwendet man Aufzählungen, englisch enumerations. Hierfür leiten wir die Aufzählung der Elemente mit dem Schlüsselwort enum ein. Danach folgt ein Block { }, in dem die Elemente mit Komma getrennt definiert werden. Folgendes Beispiel erzeugt genau die gleichen Variablen wie oben. enum { kreuz, pik, karo, herz }; int karte = karo; printf("Wert der Karte: %d\n", karte); Standardmäßig beginnt die Werte-Skala bei 0. Die Werte der Elemente werden einfach hochgezählt. Hier verändern wir den Startwert, die Variablen haben somit nicht mehr die Werte 0-3, sondern 7-10. enum { kreuz=7, pik, karo, herz }; printf("Kreuz: %d, Pik: %d, Karo: %d, Herz: %d\n", kreuz, pik, karo, herz); Kreuz: 7, Pik: 8, Karo: 9, Herz: 10 Die Werte können natürlich auch explizit gesetzt werden. enum { kreuz=11, pik=15, karo=17, herz=19 }; printf("Kreuz: %d, Pik: %d, Karo: %d, Herz: %d\n", kreuz, pik, karo, herz); Kreuz: 11, Pik: 15, Karo: 17, Herz: 19

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo,
in einer enum kann ich beim anlegen ja nur strings definieren
was mache ich aber, wenn ich da zahlen stehen haben will?
so zum Beispiel
was auch nicht geht ist mit (vereinfacht)
dann habe ich es probiert mit
#define
aber hier kann ich ja nur Zahlen definieren wie z.B
kann ich überhaupt zahlen in einer enum auswerten?
da die Inhalte ja eigentlich nur mit Integer übergeben werden??????
danke