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
Sie sagten, dass alles in MQL4 funktionieren sollte.
Dieses Skript kann aber auch in MQL5 ausgeführt werden
Bei exact=True und zukünftiger Zeit sollten Sie -1 zurückgeben
Mein Skript hat auch einen seltsamen Fehler gefunden:
Dieser Fehler wird durch diese Prüfung bestätigt:
Ich hatte also doch Recht, dass es in Ihrem Algorithmus anormale Situationen gibt.Es ist schön, dass Sie den Fehler endlich gefunden haben
Ich werde es mir ansehen, danke.
Guten Abend zusammen. Vielleicht verstehe ich etwas falsch, aber trotzdem - es ist nicht ganz klar, was an der Standardfunktion falsch ist, die bereits am Anfang von Bars() vorgeschlagen wurde. Ich benutze es ständig und es hat keine Probleme verursacht. Das einzige Problem ist, dass Sie bei der Verwendung von TimeCurrent() auf "array out of range" oder negative Werte stoßen können, aber dann müssen Sie eine Prüfung dafür durchführen. Beispiele:
Guten Abend zusammen. Vielleicht verstehe ich etwas falsch, aber trotzdem - es ist nicht ganz klar, was an der Standardfunktion falsch ist, die bereits am Anfang von Bars() vorgeschlagen wurde. Ich benutze es ständig und es hat keine Probleme verursacht. Das einzige Problem ist, dass Sie bei der Verwendung von TimeCurrent() auf "array out of range" oder negative Werte stoßen können, aber dann müssen Sie eine Prüfung dafür durchführen. Beispiele:
Nach der Zahl 32000000000 zu urteilen, ist dies auch meine Kreation. UINT_MAX ist einfach kürzer und sieht solider aus. ))
Der Punkt ist, dass diese Variante korrekter ist, wie sich herausstellt:
statt
es gibt fast keinen äußeren Unterschied. Aber die obere Variante wiederholt sehr genau die Standardfunktion iBarShift von MQL4
Nach der Zahl 32000000000 zu urteilen, ist dies auch mein Werk. UINT_MAX sieht einfach kürzer und solider aus. ))
Der Punkt ist, dass diese Variante korrekter ist, wie sich herausstellt:
statt
es gibt fast keinen äußeren Unterschied. Aber die obere Variante wiederholt sehr genau die Standardfunktion iBarShift von MQL4.
Welches ist also das einfachste und das richtige?
Was ist also das Einfachste und Richtigste, was man tun kann?
So weit diese Variante, aber jetzt möchte ich sie ergänzen, um den Fehler des Einfrierens der Barrenfunktion zu umgehen, über den ich bereits an den Service Desk berichtet habe.
Der Kern dieses Fehlers ist, dass wenn in der Funktion Bars sowohlstart_time als auchstop_time innerhalb eines Balkens liegen oder in der Zukunft (rechts vom Null-Balken), dann bleibt diese Funktion für mehr als 10 Sekunden hängen.
Vielleicht mache ich später eine richtige, schnellere, aber umständlichere Version.
Ich habe beschlossen, einen anderen Weg zu gehen.
Ich werde iBarShift nicht überarbeiten, aber ich werde die fehlerhafte Funktion Bars überarbeiten.
Und die neue iBars-Funktion wird nicht nur den Schluckauf-Bug umgehen, sondern auch schneller sein als die ursprünglichen Bars.
Andere werden diese Funktion nutzen können, und die bereits vorhandenen Algorithmen werden schneller funktionieren.
Ich brauche einfach Zeit. Ich werde erst einen Tag später dazu in der Lage sein.
Ich habe beschlossen, einen anderen Weg einzuschlagen.
Ich werde iBarShift nicht überarbeiten, aber ich werde die fehlerhafte Funktion "Balken" überarbeiten.
Und die neue iBars-Funktion wird nicht nur den Schluckauf-Bug umgehen, sondern auch schneller sein als die ursprünglichen Bars.
Andere werden diese Funktion nutzen können, und die bereits vorhandenen Algorithmen werden schneller funktionieren.
Ich brauche einfach Zeit. Das wird frühestens in einem Tag zu schaffen sein.
Sehr gut! Ich freue mich darauf!
Aus all den Analysen, die ich durchgeführt habe, können wir schließen, dass dieses vollständige Analogon des iBarShift:
ist bei weitem die korrekteste, gleichzeitig die schnellste und mit dem einfachsten und kürzesten Algorithmus.
Es ist nett, aber etwas verwirrt mich...
wird es testen müssen )
Die iBars-Funktion ist recht umständlich, aber ich empfehle sie trotzdem anstelle der regulären Bars zu verwenden, bis MQ den Hänger in der Funktion behoben hat.
Der iBar bleibt hängen, obwohl er logischerweise 0 zurückgeben sollte. In der Regel wird sie für mehr als 10 Sekunden zurückgegeben. In MQL4 gibt es keinen solchen Fehler.
Bei den meisten Aufgaben wird iBars schneller arbeiten als die regulären Bars, da es nicht nur den Fehler vermeidet, sondern auch versucht, die Bars- und SeriesInfoInteger-Funktionen wann immer möglich nicht zu verwenden, da der Algorithmus die vorherigen Werte speichert.
Ich habe diese Funktion auf und ab getestet. Es scheint eine vollständige Kopie von Bars zu sein.
Vielleicht lässt sich das auf elegantere Weise bewerkstelligen. Wenn Sie einen Wunsch haben, sind Sie willkommen. Wenn Sie Fehler finden, werden wir sie beheben.
Also...
Dann hat die vollständige Analogie der Funktion iBarsShift die folgende Form:
Und die Variante ohne letzten Parameter, die in der überwiegenden Mehrheit der Fälle verwendet wird, hat diese Form:
Indikator, der die Leistung der iBars-Funktion im Vergleich zu den eingebauten Bars und der iBarShift-Funktion von @Alain Verleyen zeigt
Ausführungszeit der Funktion in Mikrosekunden.