Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 1151
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
Der Fehler könnte in der Anzahl der Stellen nach dem Dezimalpunkt liegen:
Ich habe ein solches Problem, ich habe gerade mit MT5 angefangen, ich übertrage meine Indikatoren von MT4 und ich bin auf einige Probleme gestoßen. Ich muss iMA in einer Zeile verwenden und den Wert eines bestimmten Index abrufen. Ich habe Nachrichten im Forum gesehen und verwende die Funktion iMAGet (sowie die ähnliche Funktion iATRGet usw.). Wie ich sehe, die Funktionen nicht mehr funktionieren, dann diese Frage: wie man anmutig einen einzigen iMA-Wert erhalten? Ich habe versucht, dies mit den oben genannten Funktionen zu erreichen:
Diese :
In etwas, das auf MT5 ohne irgendwelche drastischen Gesten funktioniert.
Guten Tag, meine Herren.
Ich habe ein Problem, ich habe gerade MT5 gestartet und habe Probleme damit, wenn ich meine Indikatoren von MT4 übertrage. Ich muss iMA in einer Zeile verwenden und den Wert eines bestimmten Index abrufen. Ich habe Nachrichten im Forum gesehen und verwende die Funktion iMAGet (sowie die ähnliche Funktion iATRGet usw.). Wie ich sehe, die Funktionen nicht mehr funktionieren, dann diese Frage: wie man anmutig einen einzigen iMA-Wert erhalten? Ich habe versucht, dies mit den oben genannten Funktionen zu erreichen:
Diese :
In etwas, das auf MT5 ohne irgendwelche drastischen Gesten funktioniert.
Sehen Sie sich die Beispiele in kodobase an, zum Beispiel dieses:https://www.mql5.com/ru/code/27161
Grundsätzlich: Erstellen eines Indikator-Handles in OnInit()
Dann kopieren Sie das/die benötigte(n) Element(e) in die Zwischenablage und arbeiten damit
https://www.mql5.com/ru/docs/series/copybuffer
Schauen Sie sich Beispiele in der kodobase an, z. B. dieses:https://www.mql5.com/ru/code/27161
Grundsätzlich: Indikator-Handle in OnInit() erzeugen
Dann kopieren Sie das/die erforderliche(n) Element(e) in den Puffer und arbeiten damit
https://www.mql5.com/ru/docs/series/copybuffer
Wie ich bereits geschrieben habe, ist die Initialisierung in OnInit für mich nicht geeignet. Ich habe mit allen Timeframes gleichzeitig arbeiten, habe ich alle Masken in jedem TF zu initialisieren, und dann in Code, wo ich einige Wert verwenden, tun etwas wie dieses:
Und so mit jedem Aufruf jedes Armbands. Der Code wird einfach zu einem verwirrenden Durchfall werden.
Und jede neue Bar muss sie irgendwie aktualisieren?
Gibt es eine Funktion wie CopyBuffer, aber das Kopieren nicht ein Array, sondern einen Wert durch erforderliche Index?
Wie ich bereits geschrieben habe, ist die Initialisierung in OnInit für mich nicht geeignet. Ich habe mit allen Timeframes gleichzeitig arbeiten, habe ich alle Masken in jedem TF zu initialisieren, und dann in Code, wo ich einige Wert verwenden, tun etwas wie dieses:
Und so mit jedem Aufruf jedes Armbands. Der Code wird einfach zu einem Wirrwarr.
Und jeder neue Balken muss irgendwie aktualisiert werden?
Gibt es eine Funktion wie CopyBuffer, aber Kopieren nicht ein Array, sondern einen einzelnen Wert durch den richtigen Index?
Erstellen Sie ein Array von Handles inOnInit() und arbeiten Sie mit ihnen.
CopyBuffer(...) in die Funktion einfügen, sie mit dem Indikator-Handle und dem gewünschten Index aus dem Array füttern, und die Funktion wird den Preis zurückgeben
Erstellen Sie ein Array von Handles inOnInit() und arbeiten Sie mit ihnen.
CopyBuffer(...) der Einfachheit halber in eine Funktion umwandeln, den Indikator-Handle und den gewünschten Index aus dem Array übergeben, und die Funktion wird den Preis zurückgeben
allerdings sehr unbequem)
(es ist allerdings peinlich))
Eher ungemütlich ))))
Erstellen Sie ein Array von Handles inOnInit() und arbeiten Sie mit ihnen.
CopyBuffer(...) in die Funktion für die Benutzerfreundlichkeit, dort füttern Sie den Indikator-Handle und den erforderlichen Index aus dem Array, und die Funktion wird den Preis zurückgeben
Das andere Problem von CopyBuffer ist, dass es einen Indikatorpuffer für sich selbst benötigt. Ich habe insgesamt hundert Indikatoren, die in Berechnungen verwendet werden, um einen einzigen Indikator zu erhalten. Muss ich hundert Puffer erstellen, um diese Werte zu speichern?
Ein weiteres Problem mit CopyBuffer ist, dass es notwendigerweise einen Indikatorpuffer für sich selbst benötigt. Ich habe insgesamt weniger als hundert Indikatoren, und sie werden in Berechnungen verwendet, um einen einzigen Indikator zu erhalten. Muss ich hundert Puffer erstellen, um diese Werte zu speichern?