Ich möchte auch klären, wie man verhindern kann, dass sich eine Variable hinter einem Preis bewegt.
Beispiel: Ein einfaches Stopp-Schleppnetz. Wir weisen die Variable an, dem Preis in einem Abstand von 20 Pips zu folgen (zum Beispiel). Mit anderen Worten: Variable = Geldkurs - 20 Pips (unter der Annahme, dass wir gekauft haben). Der Preis steigt und wir folgen ihm erfolgreich. Dann sinkt der Preis, und die Variable muss in ihrem Wert auf demselben Niveau bleiben.
Meine Frage ist also, wie man der Variablen verbieten kann, zu einem bestimmten Zeitpunkt einen Wert anzunehmen?
Wird für die Aktualisierungsraten verwendet. Wenn ein neues Symbol gesetzt wird, wird es automatisch aufgerufen.
Dann wird sie nicht automatisch aufgerufen!
Methode
Beschreibung
Mysmbol.RefreshRates()
Mit dieser Funktion können Sie die neuesten Kursdaten überprüfen. Bei Erfolg gibt sie true zurück, bei Misserfolg false. Dies ist eine nützliche Funktion, auf die Sie nicht verzichten können.
Es stellt sich heraus, dass der Artikel https://www.mql5.com/en/articles/138 ursprünglich auf Englisch verfasst wurde und die Übersetzung nicht ganz richtig ist - es gibt keinen Hinweis auf den automatischen Anruf. Es ist ratsam, die Originalsprache in der Kopfzeile des Artikels anzugeben.
This article explains how to use the major functionalities of the MQL5 Standard Library Trade Classes in writing Expert Advisors which implements position closing and modifying, pending order placing and deletion and verifying of Margin before placing a trade. We have also demonstrated how Trade classes can be used to obtain order and deal details.
Eine statische Variable kann mit einer Konstante oder einem konstanten Ausdruck, der ihrem Typ entspricht, initialisiert werden, im Gegensatz zu einer einfachen lokalen Variable, die mit einem beliebigen Ausdruck initialisiert werden kann.
Statische Variablen existieren zum Zeitpunktder Programmausführung und werden einmal initialisiert, bevor die spezialisierte Funktion OnInit() aufgerufen wird. Wenn keine Anfangswerte angegeben werden, nehmen die Variablen der statischen Speicherklasse den Anfangswert Null an.
Lokale Variablen, die mit dem Schlüsselwort static deklariert sind, speichern ihre Werte so lange, wie die Funktion existiert. Bei jedem nächsten Funktionsaufruf enthalten diese lokalen Variablen die Werte, die sie beim vorherigen Aufruf hatten.
Mit dieser Funktion können Sie die neuesten Kursdaten überprüfen. Bei Erfolg gibt sie true zurück, bei Misserfolg false. Dies ist eine nützliche Funktion, auf die Sie nicht verzichten können.
Es stellt sich heraus, dass der Artikel https://www.mql5.com/en/articles/138 ursprünglich auf Englisch verfasst wurde und die Übersetzung nicht ganz richtig ist - es gibt keinen Hinweis auf den automatischen Anruf. Es ist ratsam, die Originalsprache in der Kopfzeile des Artikels anzugeben.
In dem von Ihnen vorgeschlagenen Fall ist die Variable bei jedem Tick falsch und wird nach dem Druckvorgang wahr. Dann gibt es einen neuen Tick und der Operator onTick() führt sein Programm von oben nach unten aus. Und dort ist die Variable wieder falsch, und in der Bedingung, wenn die Variable falsch ist, dann drucken. Und so ist das Protokoll bei jedem Ticken voller Einträge. Geprüft!!!
Ich frage mich, wer Ihnen gesagt hat, dass die Zeile'bool bar_printed=false;' in den Tick-Handler eingefügt werden muss? - Dennoch haben Sie diese Zeile direkt in den Tick-Handler eingefügt und dann eine Ausgabe wie "Variable mit jedem Tick ist falsch" gemacht.
Und wo haben Sie die Ellipse in der zweiten Zeile meines Beispiels eingefügt? Und wie hat Ihr Expert Advisor auf diese Ellipse reagiert? - ...Bevor Sie einen weiteren Stempel "Verifiziert!!!" aufdrücken, ist es vielleicht besser zu fragen, wie richtig Sie die Essenz des von Ihnen vorgeschlagenen Beispiels verstanden haben?
Wenn Sie sich die Klasse CPositionInfo "mit Röntgenstrahlen" genau ansehen, werden Sie feststellen, dass die Methode Type() nicht den Positionstyp zurückgibt (im Gegensatz zur Methode PositionType()).
Ich schlage vor, alle Type()-Methoden der Standardbibliothek in ClassType() umzubenennen.
Es gibt zu viele solcher Fehler und Verwirrungen.
Ich hatte CPositionInfo.Type() schon drei oder vier Mal in den Code eingefügt, wo ich den Typ der Position brauchte. Dann habe ich drei Tage mit der Fehlersuche verbracht (die ersten beiden Male. Dann habe ich es schneller verstanden) :).
Aus Kompatibilitätsgründen können Sie zunächst ein Duplikat mit dem neuen Namen erstellen und das alte nach ein paar Wochen (Monaten) entfernen.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Erlauben Sie die Verwendung von Cookies, um sich auf der Website MQL5.com anzumelden.
Bitte aktivieren Sie die notwendige Einstellung in Ihrem Browser, da Sie sich sonst nicht einloggen können.
Sie sind angemeldet. Die Zwei-Faktor-Authentifizierung wurde deaktiviert. Richten Sie sie erneut ein und scannen Sie einen neuen QR-Code oder fahren Sie mit deaktivierter Zwei-Faktor-Authentifizierung fort.
Ich möchte auch klären, wie man verhindern kann, dass sich eine Variable hinter einem Preis bewegt.
Beispiel: Ein einfaches Stopp-Schleppnetz. Wir weisen die Variable an, dem Preis in einem Abstand von 20 Pips zu folgen (zum Beispiel). Mit anderen Worten: Variable = Geldkurs - 20 Pips (unter der Annahme, dass wir gekauft haben). Der Preis steigt und wir folgen ihm erfolgreich. Dann sinkt der Preis, und die Variable muss in ihrem Wert auf demselben Niveau bleiben.
Meine Frage ist also, wie man der Variablen verbieten kann, zu einem bestimmten Zeitpunkt einen Wert anzunehmen?
Zum Beispiel so:
Dann wird sie nicht automatisch aufgerufen!
Es stellt sich heraus, dass der Artikel https://www.mql5.com/en/articles/138 ursprünglich auf Englisch verfasst wurde und die Übersetzung nicht ganz richtig ist - es gibt keinen Hinweis auf den automatischen Anruf. Es ist ratsam, die Originalsprache in der Kopfzeile des Artikels anzugeben.
Vielen Dank, Mensch!!!
Brrr, brrr, brrr, brrr, brrr, brrr, brrr!
Eine statische Variable kann mit einer Konstante oder einem konstanten Ausdruck, der ihrem Typ entspricht, initialisiert werden, im Gegensatz zu einer einfachen lokalen Variable, die mit einem beliebigen Ausdruck initialisiert werden kann.
Statische Variablen existieren zum Zeitpunktder Programmausführung und werden einmal initialisiert, bevor die spezialisierte Funktion OnInit() aufgerufen wird. Wenn keine Anfangswerte angegeben werden, nehmen die Variablen der statischen Speicherklasse den Anfangswert Null an.
Lokale Variablen, die mit dem Schlüsselwort static deklariert sind, speichern ihre Werte so lange, wie die Funktion existiert. Bei jedem nächsten Funktionsaufruf enthalten diese lokalen Variablen die Werte, die sie beim vorherigen Aufruf hatten.
Zum Beispiel so:
Es stellt sich heraus, dass der Artikel https://www.mql5.com/en/articles/138 ursprünglich auf Englisch verfasst wurde und die Übersetzung nicht ganz richtig ist - es gibt keinen Hinweis auf den automatischen Anruf. Es ist ratsam, die Originalsprache in der Kopfzeile des Artikels anzugeben.
5. Terminal: Feste Kartennavigation, wenn der Fixpunkt gesetzt ist.MetaTrader 5 Kunden-Terminal Build 722
talliy:
Yedelkin : Alternativ können Sie eine weitere Variable eingeben, der Sie den Wert true zuweisen, wenn die erste Variable zum Drucken gesendet wird.
In dem von Ihnen vorgeschlagenen Fall ist die Variable bei jedem Tick falsch und wird nach dem Druckvorgang wahr. Dann gibt es einen neuen Tick und der Operator onTick() führt sein Programm von oben nach unten aus. Und dort ist die Variable wieder falsch, und in der Bedingung, wenn die Variable falsch ist, dann drucken. Und so ist das Protokoll bei jedem Ticken voller Einträge. Geprüft!!!
Ich frage mich, wer Ihnen gesagt hat, dass die Zeile'bool bar_printed=false;' in den Tick-Handler eingefügt werden muss? - Dennoch haben Sie diese Zeile direkt in den Tick-Handler eingefügt und dann eine Ausgabe wie "Variable mit jedem Tick ist falsch" gemacht.
Und wo haben Sie die Ellipse in der zweiten Zeile meines Beispiels eingefügt? Und wie hat Ihr Expert Advisor auf diese Ellipse reagiert? - ...Bevor Sie einen weiteren Stempel "Verifiziert!!!" aufdrücken, ist es vielleicht besser zu fragen, wie richtig Sie die Essenz des von Ihnen vorgeschlagenen Beispiels verstanden haben?
Wenn Sie sich die Klasse CPositionInfo "mit Röntgenstrahlen" genau ansehen, werden Sie feststellen, dass die Methode Type() nicht den Positionstyp zurückgibt (im Gegensatz zur Methode PositionType()).
Ich schlage vor, alle Type()-Methoden der Standardbibliothek in ClassType() umzubenennen.
Es gibt zu viele solcher Fehler und Verwirrungen.
Ich hatte CPositionInfo.Type() schon drei oder vier Mal in den Code eingefügt, wo ich den Typ der Position brauchte. Dann habe ich drei Tage mit der Fehlersuche verbracht (die ersten beiden Male. Dann habe ich es schneller verstanden) :).
Aus Kompatibilitätsgründen können Sie zunächst ein Duplikat mit dem neuen Namen erstellen und das alte nach ein paar Wochen (Monaten) entfernen.
Hallo. Können Sie mir bitte sagen, wie ich die Dateien Channel.mq4 und Scalper_MA.mq4 in MT4 platzieren kann? Ich danke Ihnen!
Sie gehen hier: Fragen von Neuankömmlingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nicht ohne Sie.
Oder hier: Wie installiere ich Indikator, Skript, dll, Vorlage tpl?