![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Warum sollte ich das tun?
TickSize auf MIX ist 25 und Digits ist 0. Die Normalisierung eines ganzzahligen Preises, der nicht ein Vielfaches von 25 ist, führt zu einem OrderSend-Fehler.
Eben noch in einem Nachbarthread dazu geraten, den Computer in der Badewanne zu ertränken, dann wird alles noch mehr diskreditiert.
TickSize auf MIX ist 25 und Digits ist 0. Die Normalisierung eines ganzzahligen Preises, der nicht ein Vielfaches von 25 ist, führt zu einem OrderSend-Fehler.
Nun, mit dieser Logik würde die Normalisierung selbst bei einem Schritt von 0,25 einen Fehler ergeben. Der Zweck der Normalisierung ist nicht die Anpassung des Preises an eine exotische Preisstufe, sondern die Rundung der Fließkommazahl auf eine bestimmte Genauigkeit. Sie führt zu keinen Fehlern.
Wahrscheinlich gibt es zwei Funktionen, die eingegeben werden müssen: 1 - gibt die Anzahl der Elemente in der Aufzählung zurück, 2 - gibt das Element nach Nummer zurück...
In einer Aufzählung können Sie den Elementen beliebige Werte zuweisen, z. B. wie unten dargestellt. Ein Enum ist kein Array.
Sprachen wie C# erfordern die Angabe des Enum-Namens, während C++ und damit auch MQL4/5 ziemlich frei mit Enums umgehen. Nur für den Fall, dieser Unsinn kompiliert sowohl auf MQL5 als auch auf C++
In einer Aufzählung können Sie den Elementen einen beliebigen Wert zuweisen, z. B. den folgenden. enum ist kein Array.
Na und? Es ging darum, diese Elemente in der Reihenfolge ihrer Erklärung durchzugehen.
Ein Hinweis für Programmierer:
Wenn wir nun eine Aufzählung bearbeiten müssen, müssen wir sie einmal und an einer Stelle bearbeiten. Wir müssen ein neues Element hinzufügen, zum Beispiel element_new = 56, wir fügen hinzu
ENUM_QQ_HELPER(element_new , 56)
Und machen Sie sich nicht die Mühe, get_enumqq_array() zu bearbeiten. Die Technik heißt X-Makro https://en.wikipedia.org/wiki/X_Macro. Wenn Entwickler dies wünschen, können sie die Standardaufzählung auf diese Weise leicht ändern.
Die Aufzählung ist vielleicht nicht auf den ersten Blick ersichtlich, aber sie hat sich folgendermaßen entwickelt:
Nehmen wir an, wir haben eine Aufzählung. Wie können wir alle möglichen Werte dieser Aufzählung nacheinander abrufen, z. B. in einer Schleife?
D.h. tf1++ muss nacheinander PERIOD_M1, PERIOD_M2, PERIOD_M5... zurückgeben. Ich denke, dass dies mit den Sprachwerkzeugen nicht möglich ist.