Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 1072
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
Klicken Sie mit der linken Maustaste auf das Bild, um es zu vergrößern, oder klicken Sie mit der rechten Maustaste und speichern Sie es.
MetaEditor bietet Hilfe für die Sprache MQL-4. Es ist sinnvoll, die gesamte Hilfe zu lesen oder sie zumindest durchzugehen
Guten Tag.
Ich habe eine Schaltfläche auf dem Bildschirm erstellt und möchte eine Offline-Diagrammöffnung an diese Schaltfläche anhängen. Welche Funktion kann ich verwenden, um den Pfad zum gewünschten Offline Chart anzugeben?
voidOnTimer() // Bei Timer WindowRedraw(); // Fenster neu zeichnen
Klicken Sie mit der linken Maustaste auf das Bild, um es zu vergrößern, oder klicken Sie mit der rechten Maustaste und speichern Sie es.
Der MetaEditor bietet Hilfe für die Sprache MQL-4. Es ist sinnvoll, alles zu lesen oder zumindest durchzusehen.
Vielen Dank für die Antwort. Ich verstehe es nicht bis zum Ende. Ich habe zum Beispiel die Funktion SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) mit Parametern. Wenn ich zum Beispiel im Code versuche, in einer Bedingung darauf zu verweisen, erhalte ich die Fehlermeldung "parameter passed as reference, variable".
Bitte um Rat, was zu tun ist? Ich danke Ihnen.
Wenn der Parameter ohne & nach Wert übertragen wird, was zuverlässiger ist. Der aktuelle Parameter wird kopiert und eine Kopie an die Funktion übergeben. Die Änderungen, die an den Parametern innerhalb der Funktion vorgenommen werden, bleiben innerhalb der Funktion. Der aktuelle Parameter an der Stelle des Funktionsaufrufs bleibt unverändert. Dabei spielt es für die Funktion keine Rolle, ob ihr eine Konstante oder eine Variable übergeben wird, da in jedem Fall nur eine Kopie des Parameters die Funktion erreicht. Dies geschieht, um die Zuverlässigkeit zu erhöhen und die Variablen vor zufälligen Änderungen innerhalb einer Funktion zu schützen.
Bei der Übergabe des Parameters per Referenz wird das Symbol & angegeben, was bedeutet, dass die Referenz, also die Adresse der Variablen selbst, an die Funktion übergeben wird. Und die Funktion kann diese Variable ändern, und diese Änderungen wirken sich auf den Wert der Variablen innerhalb der Funktion aus, die diese Funktion aufgerufen hat. Nun, damit eine Funktion den Wert eines Parameters ändern kann, muss es sich um eine Variable handeln. Der Übersetzer hat wahrscheinlich geschrieben: parameter passed as reference, variable expected = parameter by reference must be a variable
Im Zweifelsfall habe ich wieder die Funktion SendOrder(int &Ticket, int Type ,double LT ,double OP=-1 ,int ModeSL=0) stattdessen schreibe ich besser , wie die Funktion aufgerufen wurde. Es scheint, dass Sie eine Zahl als ersten Parameter übergeben, was keinen Sinn macht. Mit diesem Parameter versucht Ihre Funktion, die Nummer zurückzugeben, unter der der Auftrag in der Datenbank des Brokers platziert wurde. Es ist klar, dass dies eine Variable sein sollte. Im Zweifelsfall sollten Sie sich die Funktion ansehen. Und die Funktion ist TRUE, um die übergebene Zahl zu ändern, sie will eine Variable an dieser Stelle.
Wäre es nicht einfacher, dies anhand eines Beispiels zu verstehen?
Die andere Möglichkeit
Das ist der Unterschied.