Das Problem der Umstellung von MT4 auf MT5. Oder, genauer gesagt, die Unfähigkeit, einige Algorithmen in MT5 ohne Fehler auszuführen.

 

Zunächst ein Zitat aus dem MQL5-Sprachführer. Unter der Überschrift Organisation des Datenzugriffs.

"...Zugänglichkeit der Daten

Die Verfügbarkeit von Daten im HCC-Format oder sogar im HC-Ready-Format bedeutet nicht immer die uneingeschränkte Verfügbarkeit dieser Daten für die Darstellung in Diagrammen oder für die Verwendung in mql5-Programmen.

Beim Zugriff auf Kursdaten oder Indikatorwerte aus mql5-Programmen sollten Sie bedenken, dass nicht garantiert werden kann, dass diese zu einem bestimmten Zeitpunkt oder ab einem bestimmten Zeitpunkt verfügbar sind...".

Bitte geben Sie nicht sofort Ratschläge, wie das beschriebene Problem umgangen werden kann. Dies ist hauptsächlich für MQL5-Entwickler geschrieben.

Im ZUP für MT4 ist der Algorithmus der fraktalen Filterung implementiert. DerZUP ist ein universeller Zickzack mit Pesavento-Muster. Die grafische Oberfläche ist ein wenig über sie geschrieben. Aber ich werde den Algorithmus hier noch einmal beschreiben.

Bei der Anzeige von grafischen Werkzeugen auf einem Diagramm mit Bindung ausgewählter grafischer Werkzeuge (z. B. Andrews Pitchfork oder andere) an Zickzack-Extremwerte oder Wellenmuster über die grafische Schnittstelle wird der Algorithmus der fraktalen Filterung aktiviert.

Die fraktale Filterung entfernt das erstellte grafische Werkzeug in den Zeiträumen, in denen die Ausgabe dieses grafischen Werkzeugs ihre Bedeutung verliert.

Zum Beispiel gibt es auf einigen Zeitrahmen keine Notierungen für das ausgewählte Extremum (dies ist für niedrigere Zeitrahmen relevant) oder es erscheinen zwei oder mehr Extrema im Körper eines Balkens auf höheren Zeitrahmen mit verschiedenen Variationen der Position innerhalb des Balkens.

Es ist nicht sinnvoll, ein zuvor erstelltes grafisches Werkzeug in solchen Zeiträumen anzuzeigen. Es verliert seine Funktionalität. In solchen Fällen verhindert die fraktale Filterung automatisch die Anzeige von grafischen Werkzeugen, die "in Schwierigkeiten" sind. Für neuronale Netzwerker füge ich nach und nach etwas hinzu... es gibt einige sehr interessante Ideen zur Implementierung in neuronale Netze... ...aber das ist ein anderes Thema.

Das Problem mit MQL5 besteht darin, dass selbst nach der Generierung von Zeitreihen auf allen Zeitrahmen für alle Extrema, die mit einem Charting-Tool verbunden sind, es Momente gibt, in denen der Zugriff auf einige Zeitrahmen für das ausgewählte Extremum aufgrund von Besonderheiten des Datenzugriffs (siehe oben) unterbrochen wird. Dies hat zur Folge, dass falsche Zeitangaben für den fraktalen Filteralgorithmus erzeugt werden. Das heißt, dass zum Beispiel beim Zugriff auf alle Zeitrahmen der obere cf-Wert in den Daten für die fraktale Filterung den Wert des oberen cf-Wertes des monatlichen Zeitrahmens angibt. Aber im Moment, in demdie Zugänglichkeit nicht gewährleistet ist, ist die Obergrenze für dieses Extremum auf den aktuellen Zeitrahmen beschränkt.

Ein Benutzer klickt auf das Symbol, dem ein grafisches Werkzeug zugeordnet ist. Das Diagrammsymbol wird angezeigt. Der Benutzer wechselt in den älteren Zeitrahmen. Der fraktale Filteralgorithmus löscht das grafische Werkzeug. Der Benutzer ist verblüfft. Die Extrema sind alle sichtbar, aber das grafische Werkzeug verschwindet.

Und hier ist es unmöglich, das Warten auf die Bindung des Diagrammsymbols zu organisieren, nachdem ein Benutzer auf ein ausgewähltes Symbol geklickt hat, bis zum Zeitpunkt des Zugriffs auf Zeitreihen, die sich vom aktuellen Zeitrahmen unterscheiden.

In MT4 gibt es solche Probleme nicht.

Diese Situation ist das Problem, das mich in diesem Fall davon abgehalten hat, Programme für MT5 zu entwickeln. Dieses Problem war schon bei der Einführung des MT5 auf dem Markt offensichtlich...

Der ZUP-Code wurde in MT5 übersetzt. Und sie in meinen Markt gestellt. Aber das oben beschriebene Problem ist dort vorhanden. Ich habe keine Krücken gebaut, um das Problem zu umgehen. Wenn Sie über dieses Problem Bescheid wissen, können Sie das erstellte grafische Werkzeug einfach löschen. Und zeigen Sie es neu. Aber das ist, wie soll ich es sagen, sanft....

Ich glaube, dass das oben beschriebene Problem noch eine Unvollkommenheit der MQL5 Sprache oder MT5 Terminal ist. Es SOLLTE!!! ein garantierter Zugriff auf die bereits generierten Zeitreihen jederzeit möglich sein!

Noch eine Sache. Bei der Erstellung einer Wellenaufteilung in ZUP ist die fraktale Filterung aktiviert. Hier haben wir das Folgende. Wenn ich Zugang zu allen Zeitreihen aller Zeitrahmen habe, sind die Wellenmuster korrekt. Bei plötzlicher Beendigung des Zugriffs auf Zeitreihen können die Wellenmuster jedoch in unvorhersehbarer Weise ausgegeben werden. Das heißt, als die Wellenaufteilung erstellt wurde, war alles in Ordnung. Und zu einem späteren Zeitpunkt, als die Wellenaufteilung beim Übergang zu anderen Zeitrahmen erstellt wurde, wurde sie auf unvorhersehbare Weise angezeigt. Und es ist nicht einfach, Krücken zu schaffen, um fehlerhafte Terminaloperationen zu beseitigen.

 
Vergessen Sie die grafischen Objekte. Es ist sehr unbequem und begrenzt. Mit Kanvas wird alles einfacher, schneller und mit unbegrenzten grafischen Möglichkeiten funktionieren.
 

Übrigens habe ich erst gestern einen Indikator geschrieben, bei dem ich in regelmäßigen Abständen Daten in Jahresabschnitten aus W1 kopieren musste. Sehr oft kam es zu erfolglosen Kopierversuchen. Am Ende hat es nicht funktioniert, ich musste alles nach einem anderen Prinzip machen.

 
Eugeni Neumoin:

...

Auch ungewohnt und umständlich beim Datenzugriff nach 4.

Der Datenzugriff in 5 ist auf TF beschränkt.

Wenn Sie eine ziemlich lange Trendlinie auf TF D1 oder auf W1 zeichnen und dann zu M1 oder M5 gehen, werden Sie sie nicht sehen, weil der Zugang zu dem entfernten Trendpunkt begrenzt ist.

Sie können es leicht überprüfen.

Wir müssen uns mit der Leinwand befassen. Aber es ist möglich, dass auch dort ein solcher Hinterhalt wartet.

 
Können Sie die Nichtverfügbarkeit der Daten reproduzierbar nachweisen?

Sie behaupten ohne nachvollziehbare Beweise.
 
Großartig! Ich wollte den Indikator vorbereiten, das Überflüssige entfernen, um das Wesentliche zu zeigen. Das habe ich. Aber plötzlich funktionierte es wie ein Schweizer Uhrwerk.
 
Uladzimir Izerski:

Es ist auch ungewohnt und unbequem beim Datenzugriff nach 4.

Der Datenzugriff in 5 ist auf die TF beschränkt.

Wenn Sie eine ziemlich lange Trendlinie auf TF D1 oder auf W1 zeichnen und dann zu M1 oder M5 gehen, werden Sie sie nicht sehen, weil der Zugang zu dem entfernten Trendpunkt begrenzt ist.

Sie können es leicht überprüfen.

Wir müssen uns mit der Leinwand befassen. Aber vielleicht erwartet uns auch dort derselbe Hinterhalt.

Das ist eine ganz andere Geschichte. Der entfernte Punkt sollte die Geschichte der kleinen Preise haben, um den Trend zu zeigen.

Zeichnen wir mit der W1-Gabel mit Bezug darauf. Der minimale Zeitrahmen ist m20. Dies wird durch den Algorithmus der fraktalen Filterung gezeigt. In diesem Fall wird sie im Tooltip angezeigt. Es macht keinen Sinn, etwas mit Bezug auf den ersten Punkt der Heugabel auf dem unteren tf zu bauen.

Die Stelle mit dem Pfeil nach oben im nächsten Bild auf m20 ist mit einer senkrechten Linie markiert. Alles wird gut angezeigt. Bei flacheren Bildern werden diese Mistgabeln jedoch nicht durch fraktale Filterung angezeigt. Die Historie geht überTERMINAL_MAXBARS hinaus, wenn es sich um niedrigere Frames handelt. Aus diesem Grund wird sie bei TF unter m20 nicht angezeigt.

Alles ist perfekt dargestellt. Keine Verschiebungen. Und es funktioniert gut in MT5. Um sie jedoch auf diese Weise anzeigen zu können, sollte man bei der Anzeige der Gabelungen den genauen Zeitpunkt des Extremums auf den kleinsten Zeitrahmen, in unserem Fall auf m20, setzen.

Sie können übrigens sehen, dass die Linie SLM318 (gestrichelte Linie) am 09.11.2018 gut funktioniert hat. Das ist wie die Scharfschützentechnik, für die die Forex-Akademie aus Minsk wirbt. Aber hier "sah" der Markt die Linie SLM318 und arbeitete einfach meisterhaft...

 
Renat Fatkhullin:
Können Sie die Unzugänglichkeit der Daten reproduzierbar nachweisen?

Sie behaupten ohne nachvollziehbare Beweise.

Ich habe das Bild nicht gespeichert. Aber ich werde die Bilder posten, wenn sich die Situation ergibt. Ich werde nicht in der Lage sein, es mit einem Testcode zu reproduzieren. Es ist zu viel Code zu erstellen.

Ich werde nur beschreiben, wie es war. Ich habe die Mistgabel auf H3 gezeichnet. Ich habe es an Extrema gebunden, die auch in höheren Frames verfügbar sind. Ich bin nach H4 umgezogen. Die Mistgabeln sind verschwunden. Ich begann zu verstehen, warum dies geschah. Ich habe den Tooltip überprüft, auf dem die TF-Grenze der fraktalen Filtration steht. Es zeigte sich, dassdie obere Grenze auf H3 lag. Ich habe die Heugabel aus der Tabelle gelöscht. Die Mistgabel wurde mit denselben Extremen verbunden. Ich habe die Obergrenze überprüft. Es stellte sich heraus, dass es sich um einen Zeitrahmen von einem Monat handelte. Und solche Situationen wiederholten sich. Aber nicht häufig.

Das Programm greift auf alle Safes für die ersten 10 Extrema zu, wenn ein Zickzack angezeigt wird. Jedes Mal wird das Zickzack neu gezeichnet. Die Zickzacklinie wird nur dann neu gezeichnet, wenn der Kurs die Null-Linie verlässt. Nicht bei jeder Zecke.

Ich schließe das Terminal. Ich lade sie aus dem Speicher des Computers. Ich greife auf den Ordner mit dem Verlauf zu, in dem sich die *.hc-Dateien befinden. Die Zeitreihendateien für alle Zeiträume haben das Datum und die Uhrzeit des Zeitpunkts, an dem das Terminal aus dem Computerspeicher entladen wurde. Das heißt, alle Zeitreihen werden gebildet.

 
Das Bild interessiert mich nicht, es ist von Ihrem Code abgeleitet.

Interessant ist die Weigerung, Daten mit klaren Protokollen bereitzustellen.
 
Renat Fatkhullin:
Das ist nicht das Bild, das mich interessiert, sondern es ist von Ihrem Code abgeleitet.

Interessant ist die Weigerung, Daten mit klaren Protokollen bereitzustellen.

Dies muss modelliert werden. Zum Erstellen von Protokollen. Ich werde darüber nachdenken, wie ich dies tun kann.

 
Renat Fatkhullin:
Können Sie die Unzugänglichkeit der Daten reproduzierbar nachweisen?

Sie behaupten ohne nachvollziehbare Beweise.

Wenn das eine Frage an mich ist?

Dann wird hier ein einfaches Beispiel wiedergegeben.

D1.

v1

Weiter zu H4

H4


Weiter zu H1

H1


Auf einer kleinen TF wird ein klares Diagramm angezeigt.

Die Objekte befinden sich in den Listen, aber nicht in der Tabelle.

m1