OOP, Vorlagen und Makros in mql5, Feinheiten und Anwendungen - Seite 17
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
Geben Makros Werte zurück?
Hier ist ein Beispiel für einen Code
Hier ist ein Codebeispiel
Makro-Substitution bedeutet, dass der gesamte Code (der sich im Define befindet) jedes Mal an einer bestimmten Stelle im Programm ersetzt wird. Anstatt also eine Funktion zu erstellen und sie aufzurufen, kopieren Sie diese Funktion innerhalb des Codes viele Male, als ein Stück Code.
Und wenn Sie aus einem Makrozurückkehren, wird es aus dem gesamten Codezurückkehren, in dem dieses Makro eingefügt ist.
Makro-Substitution bedeutet, dass der gesamte Code (der im Define steht) jedes Mal an der angegebenen Stelle des Programms ersetzt wird. Anstatt eine Funktion zu erstellen und sie aufzurufen, kopieren Sie diese Funktion mehrmals in den Code, als ein Stück Code.
Und wenn Sie aus einem Makrozurückkehren, ist dies eine Rückkehr aus dem gesamten Code, in den dieses Makro eingefügt ist.
Es stellt sich heraus, dass Sie keine Makrofunktion schreiben können.
Es stellt sich heraus, dass es keine Möglichkeit gibt, eine Makrofunktion zu schreiben.
Eine Makro-Substitution ist das Ersetzen eines Textes durch einen anderen (im Quellcode), sie kann per Definition keine Funktion sein.
Wenn man 2 Makros schreibt, ohne in eine neue Zeile zu springen, erhöht sich die Anzahl der Zeilen stark, was das Programm erheblich verlängert, hier ein Beispiel
Makro B funktioniert nicht mehr.
Ist es möglich, einen Variablennamen in eine Zeichenkette umzuwandeln?
So funktioniert das nicht:
Leute, ich möchte ein Makro von makros(a) schreiben und es wird wie folgt funktionieren: wenn a gleich 1 ist, wird es einen beliebigen Wert vom Typ int zurückgeben, wenn a gleich 2 ist, wird es einen beliebigen Wert vom Typ double zurückgeben, wenn a gleich 3 ist, wird es einen beliebigen Wert vom Typ bool zurückgeben. Ist es möglich, dies zu tun?
Und wozu? Und wozu? Wo werden Sie es einsetzen?
Ist es möglich, einen Variablennamen in eine Zeichenkette umzuwandeln?
Ich möchte ein Makro makros(a) schreiben, das wie folgt funktioniert: wenn a gleich 1ce ist, gibt das Makro einen beliebigen Wert vom Typ int zurück, wenn a gleich 2ke ist, gibt das Makro einen beliebigen Wert vom Typ double zurück, wenn a gleich 3ke ist, gibt das Makro einen beliebigen Wert vom Typ bool zurück. Ist es möglich, dies zu tun?
In µl kann man auf GET_EXPAND verzichten, aber das ist µl-spezifisch und daher korrekter. Nun, μl Makros sind sehr begrenzt aufgrund des Fehlens von Komma-Operator (obwohl durch Krücken ...).
ZZY: und das ist natürlich alles Kompilierzeit.
ZZZY: Übrigens, wenn es einen Ghost Operator gäbe, könnte man das machen: