Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1497
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
Guten Tag zusammen!
Frage zur for()-Anweisung in mql4. Der Schleifenkopf enthält eine sequentielle Verringerung oder Erhöhung eines Variablenwerts
for(int A=14; A>=0;A--) oder for(int A=0; A<14;A++) oder for(int A=0; A<14;A=+2) In den Beispielen 1 und 2 wird angenommen, dass die Größe der Variablen A immer gleich groß ist.
FRAGE: Wenn eine Variable ein Zeitrahmenwert ist (1 (Minute), 5, 15, 30, 60, 240, 1440), ist es offensichtlich, dass die Größen der Erhöhung oder Verringerung dieser Variable nicht gleich sein können. Wie kann in diesem Fall der for-Header so formatiert werden, dass die Variable A mit 1 beginnt und dann bei jeder Iteration ungleichmäßig um die gewünschte Anzahl von Minuten inkrementiert wird?
Das Beispiel mit der Variablen A ist ein Sonderfall. Wie formatiere ich generell eine Schleife, wenn die Variable im Schleifenkopf nicht gleichmäßig in den gewünschten Intervallen geändert werden soll?
Oder gibt es einen anderen Operator, der für diese Fälle zu verwenden ist? Aber wie es mir scheint, sind andere Operatoren im Vergleich zu for sehr sperrig . Bitte helfen Sie mir, mein Problem genau mit Hilfe der for-Anweisung zu lösen , und zwar genau mit ihrem Kopf. Denn um mein Problem innerhalb des Körpers der for-Anweisung zu lösen , können Sie natürlich if-Anweisungen verwenden, aber es wird sehr umständlich sein undfor-Anweisung wird 1440 Iterationen für die Filterung von 7 korrekten Werten zu tun haben.
Ich danke Ihnen.
Hier liegt ein Fehler vor. Sie sollte lauten: for(int A=0; A<14;A+=2)
Das Einfachste, was mir einfällt, ist, die Punkte in das Array zu setzen
Am einfachsten ist es, die Zeiträume in einem Array zu erfassen
Danke, ich könnte es auch gebrauchen)
Hier liegt ein Fehler vor. Sie sollte lauten: for(int A=0; A<14;A+=2)
Das Einfachste, was mir einfällt, ist, die Zeiträume in einem Array zu speichern
Vielen Dank für den Tipp. Es stellte sich heraus, dass es viel einfacher ist, als ich dachte.
Ich verstehe nur eine Sache nicht. Der Name des Arrays lautet per. Und ENUM_TIMEFRAMES ist ein Bezeichner für einen Variablentyp? Ich habe eine solche Kennung in mql4 Reference nicht gefunden. Es gibt nur
Vielen Dank für den Hinweis. Es stellte sich heraus, dass es viel einfacher war, als ich dachte.
Es gibt nur eine Sache, die ich nicht verstanden habe. Der Name des Arrays pro. Und ENUM_TIMEFRAMES ist ein Bezeichner für den Variablentyp? Ich habe eine solche Kennung in mql4 Reference nicht gefunden. Es gibt nur
hier
hier
Habe ich richtig verstanden, dass Sie mir Informationen über mql 5 geschickt haben? Oder gelten diese Informationen auch für mql 4?
Habe ich richtig verstanden, dass Sie mir Informationen über mql 5 geschickt haben? Oder gelten diese Informationen auch für mql 4?
Ich habe es korrigiert.
Ich danke Ihnen.
Ich danke Ihnen.
Eine kleine Empfehlung: Gewöhnen Sie sich sofort an ENUM_TIMEFRAMES und vergessen Sie die numerische Darstellung als Anzahl der Minuten.
Erstens ist PERIOD_W1 aussagekräftiger als 10080, denn es ist deutlicher, dass es sich um eine Woche handelt.
Zweitens entspricht die Periode in mql5 nicht der Anzahl der Minuten, und das wird bei der Migration zu mql5 kein unnötiges Problem sein, sondern ist unvermeidlich.
Wenn Sie wirklich die Anzahl der Minuten in einem Zeitraum benötigen, können Sie