![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
Während der Nacht ist mir eine sehr merkwürdige Sache aufgefallen, die Startzeit der Bar wird mit einem Fehler wiedergegeben - der Fehler betrug mehr als eine Minute. Jetzt möchte ich es überprüfen und habe einen Testindikator erstellt
Protokoll2010.06.18 10:42:03 prov_tick (EURUSD,M1) tick #=6 i=50558 c=1.23797 time[i]=2010.06.18 08:41:00 time=2010.06.18 08:42:05 delta=5
2010.06.18 10:40:59 prov_tick (EURUSD,M1) tick #=5 i=50557 c=1.23848 time[i]=2010.06.18 08:40:00 time=2010.06.18 08:41:01 delta=1
2010.06.18 10:40:01 prov_tick (EURUSD,M1) tick #=4 i=50556 c=1.23862 time[i]=2010.06.18 08:39:00 time=2010.06.18 08:40:04 delta=4
2010.06.18 10:39:03 prov_tick (EURUSD,M1) tick #=3 i=50555 c=1.23881 time[i]=2010.06.18 08:38:00 time=2010.06.18 08:39:05 delta=5
2010.06.18 10:38:30 prov_tick (EURUSD,M1) tick#2 i=50554 c=1.23859 time[i]=2010.06.18 08:37:00 time=2010.06.18 08:38:31 delta=31
2010.06.18 10:38:30 prov_tick (EURUSD,M1) tick#1 i=50553 c=1.23858 time[i]=2010.06.18 08:36:00 time=2010.06.18 08:38:31 delta=31
Die ersten beiden Ticks sind eindeutig, es ist ein Indikator für den Start. Aber die nächsten .... Es stellt sich heraus, dass es einen neuen Balken nach der Serverzeit gibt, während dieser Tick zu dem alten Balken gehört. Nachts ist dieses Delta ein Alptraum...
Frage an die Entwickler: Ist das ein Bug? Oder war das so gedacht?
Z.I. Während ich dies schreibe, erscheint das folgende im Protokoll
2010.06.18 10:45:09 prov_tick (EURUSD,M1) tick #=9 i=50561 c=1.23787 time[i]=2010.06.18 08:44:00 time=2010.06.18 08:45:12 delta=12
Während der Nacht habe ich eine sehr merkwürdige Sache bemerkt, die Startzeit der Bar wird mit einem Fehler wiedergegeben - der Fehler betrug mehr als eine Minute. Jetzt habe ich beschlossen, das zu überprüfen und einen Testindikator erstellt
Wenn Sie den Wert von rates_total zur Ausgabe hinzufügen, werden Sie sehen, dass Fehler auftreten, wenn Sie die Minuten des aktuellen Balkens mit den Minuten des vorherigen Balkens vergleichen.
Das heißt, die Zeit[rates_total-2].
Auch der Delta-Ausgang ist nicht ganz klar.
https://www.mql5.com/ru/docs/basis/function/events#oncalculate sagt:
Die Parameter open[], high[], low[] und close[] enthalten Arrays mit dem Eröffnungs-, Höchst-, Tiefst- und Schlusskurs des aktuellen Zeitrahmens. Der Parameter time[] enthält ein Array mit den Werten der offenen Zeit, der Parameter spread[] enthält ein Array mit der Historie der Spreads (wenn ein Spread für ein Handelsinstrument angegeben ist). Die Parameter volume[] und tick_volume[] enthalten die Historie des Handels- bzw. Tickvolumens.
Während der Nacht habe ich eine sehr merkwürdige Sache bemerkt, die Startzeit der Bar wird mit einem Fehler wiedergegeben - der Fehler betrug mehr als eine Minute. Ich habe beschlossen, das jetzt zu überprüfen und habe einen Testindikator erstellt
Protokoll2010.06.18 10:42:03 prov_tick (EURUSD,M1) tick #=6 i=50558 c=1.23797 time[i]=2010.06.18 08:41:00 time=2010.06.18 08:42:05 delta=5
2010.06.18 10:40:59 prov_tick (EURUSD,M1) tick #=5 i=50557 c=1.23848 time[i]=2010.06.18 08:40:00 time=2010.06.18 08:41:01 delta=1
2010.06.18 10:40:01 prov_tick (EURUSD,M1) tick #=4 i=50556 c=1.23862 time[i]=2010.06.18 08:39:00 time=2010.06.18 08:40:04 delta=4
2010.06.18 10:39:03 prov_tick (EURUSD,M1) tick #=3 i=50555 c=1.23881 time[i]=2010.06.18 08:38:00 time=2010.06.18 08:39:05 delta=5
2010.06.18 10:38:30 prov_tick (EURUSD,M1) tick #=2 i=50554 c=1.23859 time[i]=2010.06.18 08:37:00 time=2010.06.18 08:38:31 delta=31
2010.06.18 10:38:30 prov_tick (EURUSD,M1) tick #1 i=50553 c=1.23858 time[i]=2010.06.18 08:36:00 time=2010.06.18 08:38:31 delta=31
Die ersten beiden Ticks sind eindeutig, es ist ein Indikator für den Start. Aber die nächsten .... Es stellt sich heraus, dass es einen neuen Balken nach der Serverzeit gibt, während dieser Tick zu dem alten Balken gehört. Nachts ist dieses Delta ein Alptraum...
Frage an die Entwickler: Ist es ein Fehler oder wurde es so entworfen?
Z.I. Während ich dies schreibe, erscheint das folgende im Protokoll
2010.06.18 10:45:09 prov_tick (EURUSD,M1) tick #=9 i=50561 c=1.23787 time[i]=2010.06.18 08:44:00 time=2010.06.18 08:45:12 delta=12
Versuchen Sie, wie folgt zu testen. Ohne Schleife.
Weiter im Text.
Versuchen Sie, wie folgt zu prüfen. Ohne Zyklus.
Folgen Sie dann dem Text.
Ups. Verstanden. Danke. Ich habe eine Prüfung innerhalb der Schleife durchgeführt.
Zum Zeitpunkt der neuen Leiste hat sich i nicht geändert. Nicht sparsam, die gleichen Daten werden wiederholt berechnet. Obwohl...
ist diese Situation https://book.mql4.com/ru/samples/icustom fig.119 in MQL5 ausgeschlossen, wenn nicht? und diese Indikatorvorlage wird immer korrekte Ausgabe schließen? oder gibt es irgendwelche Fallstricke?
P.S.: Danke für die WissenschaftWenn ich beginne, meinen EA auszuführen, stürzt das gesamte Terminal im Tester ab, aber wenn ich es auf einen Chart lege, ist alles in Ordnung.
Die Erfahrung hat gezeigt, dass etwa 110 Parameter verdaut werden können (und es gibt Fragen). Bei 120 stürzt das Terminal ab, wenn der Expert Advisor im Testgerät angegeben ist.
Ich habe bereits einige Lösungen unter vier Augen gegeben, aber wenn etwas passiert, können Sie auch die Entwickler fragen. Ich denke, sie könnten bei dieser Einschränkung helfen...
Die Erfahrung hat gezeigt, dass etwa 110 Parameter verdaut werden können (und es gibt Fragen). Bei 120 stürzt das Terminal ab, wenn der Expert Advisor im Testgerät angegeben ist.
Ich habe bereits einige Lösungen in privatem Rahmen gegeben, aber wenn etwas, können Sie die Entwickler fragen. Ich denke, sie könnten bei dieser Einschränkung helfen...
Jetzt kommen die Wochenendkurse nicht mehr. Ich führe das Skript aus.
Print(TimeCurrent());
Ergebnis
2010.06.20 00:26:06 00 (USDJPY,M1) 2010.06.18 22:35:52
obwohl der letzte Balken die Zeit 2010.06.18 23:00:00 hat
es scheint seltsam, sehr unbequem zu sein, die Korrektheit einiger Funktionen zu testen.
Die Schaltfläche "Übernehmen" im Fenster der Indikatoreinstellungen fehlt.
Die Erfahrung hat gezeigt, dass etwa 110 Parameter verdaut werden können (und es gibt Fragen). Bei 120 stürzt das Terminal ab, wenn der Expert Advisor im Testgerät angegeben ist.
Ich habe bereits einige Lösungen in privatem Rahmen gegeben, aber wenn etwas, können Sie die Entwickler fragen. Ich denke, sie könnten bei dieser Einschränkung helfen...
Es können bis zu 64 Parameter optimiert werden.