Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 563
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
Ja, ich frage nach MQL 5? Ja, es soll auf die Daten des aktuellen Symbols zugegriffen werden. Die Daten werden für den EA-Code benötigt. So muss ich zum Beispiel den Schlusskurs des dem aktuellen Balken vorausgehenden Balkens kennen.
Sehen Sie sich das Beispiel für CopyTime an
Ja, ich frage nach MQL5? Ja, es soll auf die Daten des aktuellen Symbols zugegriffen werden. Die Daten, die wir im Expert Advisor-Code benötigen. So muss ich zum Beispiel den Schlusskurs des dem aktuellen Balken vorausgehenden Balkens kennen
Sie sollten die Dokumentation ein wenig lesen.
Hier ein Beispiel für das Abrufen des Schlusskurses und der Indikatorpuffer
...
Hier ein Beispiel für das Abrufen des Schlusskurses und der Indikatorpuffer
Hallo zusammen!
Ich erhalte Daten über die Handelshistorie im Tester mithilfe des OnTrade-Ereignisses.
Und das ist das, was ich in den Protokollen erhalte.
0 22:58:16.487 Core 1 2016.04.01 00:00 Anzahl der Balken in der Terminal-Historie für die Symbol-Periode GBPUSD im Moment = 7729
JR 0 22:58:16.487 Core 1 2016.04.01 03:00:00 Versuchter Abschluss 0 mit Lot 0.01
EL 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 Markt kaufen 0,01 GBPUSD sl: 1,43033 tp: 1,44034 (1,43646 / 1,43654 / 1,43646)
GO 0 22:58:16.487 Core 1 2016.04.01 03:00:00 deal #2 buy 0.01 GBPUSD at 1.43654 done (based on order #2)
GE 0 22:58:16.487 Core 1 2016.04.01 03:00:00 Geschäft durchgeführt [#2 buy 0.01 GBPUSD at 1.43654]
NK 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 Auftrag ausgeführt Kauf 0,01 zu 1,43654 [#2 Kauf 0,01 GBPUSD zu 1,43654]
HI 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 ticket=1
HM 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 Preis=0.0
HH 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 time=2016.04.01 00:00
CR 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 ticket=2
ID 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 Preis=1.43654
OP 0 22:58:16.487 Kern 1 2016.04.01 03:00:00 time=2016.04.01 03:00
Woher kommt der erste Handel zum Nulltarif? Ich tue es nicht :-).
Ich tue es nicht :-) Erklären Sie bitte.
Z.P. Ich glaube, ich habe es verstanden. Das erste Geschäft hat einen Gewinn von 10K. Ich weiß nicht, was ich damit anfangen soll, aber es ist trotzdem seltsam. Und warum?
Und hier noch eine weitere Frage. Das Geschäft (Kauf bei 1,43654) ist noch nicht eröffnet worden. Wie ist sie in der Geschichte entstanden?
Ich muss Daten NUR auf geschlossene Geschäfte in das Array wie in MQL4 erhalten. Wie macht man das?
P.S. Filter nach DEAL_ENTRY_OUT ?
Haben Sie versucht, das Terminal neu zu installieren?
Schlechtes Beispiel. Die Variable, die den Indikator-Handle in MQL5 speichert, muss im "Header" deklariert werden - im Bereich der globalen Variablen des Programms, holen Sie sich den Handle in OnInit(). Und nur dann können Sie sich auf das Handle des Indikators beziehen, um Daten von überall im Programm zu erhalten.
Ich stimme Ihnen nicht ganz zu, wenn es darum geht, ein Handle zu erhalten, da die Funktion OnInit() einmal ausgeführt wird und es keine 100%ige Garantie gibt, dass der Indikator beim ersten Mal erstellt wird. Sie könnten Recht haben, wenn Sie eine Variable deklarieren, aber ich möchte wissen, ob die folgende Dokumentation etwas Schlimmeres sagt als die Variante mit einer statischen Variable
Lokale Variablen, die mit dem Schlüsselwort static deklariert sind, speichern ihre Werte so lange, wie die Funktion existiert. Bei jedem nachfolgenden Aufruf einer Funktion enthalten diese lokalen Variablen die Werte, die sie beim vorherigen Aufruf hatten.
Filtern nach DEAL_ENTRY_OUT
Ich stimme Ihnen nicht ganz zu, wenn es darum geht, ein Handle zu erhalten, da die Funktion OnInit() einmal ausgeführt wird und es keine 100%ige Garantie gibt, dass der Indikator beim ersten Mal erstellt wird. Sie mögen mit der Deklaration einer Variablen Recht haben, aber ich möchte wissen, wie schlecht die Option einer statischen Variablen in der Dokumentation ist
...
Zu diesem Zweck prüft OnInit(), ob der Indikator-Handle angelegt ist. Wenn der Indikator-Handle nicht erstellt wurde, sollte OnOnit()INIT_FAILED zurückgeben.Das heißt, der Indikator-Handle wird nur einmal und nur in OnInit() erstellt. Dies ist nicht "4" - es ist nicht ein Durcheinander und wandern und deklarieren Griffe in allen Ecken des Programms.