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

 
Warum nicht gleich ein eigenes Terminal erstellen?
 
Artyom Trishkin:
Sie müssen alle Zeitreihen einmal zählen und dann nur noch weitere hinzufügen. Dies kann im Fenster geschehen.
Ja, in ihre Arrays. Sie können die SB verwenden. Die Zeitreihenklasse ist eine eigene Klasse.

Das ist Unsinn!

Wozu dienen dann das Terminal und MQL? Um alles selbst zu schreiben? Und Aufträge per Fix direkt an den Makler zu senden?

 
Eugeni Neumoin:

Sie schlagen also vor, keine Puffer zu verwenden, sondern mit Ihren Arrays zu arbeiten?

Wozu sind dann Puffer da?

Sie schlagen also vor, Ihre eigene Krücke zu bauen, anstatt Puffer zu verwenden :(

Und anstelle von iTime, iLow, etc. machen Sie Ihre eigenen Funktionen... Schreiben Sie alles auf Ihre eigene Art und Weise um, indem Sie Funktionen umgehen, die in MT5 nicht funktionieren...

Das ist drastisch. Aber lassen Sie es die Enthusiasten tun. Ich werde zur Seite gehen. Ich werde mir den Prozess nicht einmal ansehen.

Ich habe eine Menge Indikatoren auf diese Weise erstellt - mit Zeitreihenklassen. Es ist alles vorhanden und unterscheidet sich nicht von der Arbeit mit normalen Indikatoren. Aber darüber hinaus - eine Reihe von Annehmlichkeiten.
 
Andrey Khatimlianskii:

Vielleicht ein Fehler in der Logik. Es darf keine Bar geben.

Es gibt eine Bar. Es ist nicht immer eine Funktion, die -1 ausgibt. Ich schätze, es ist nur das aus der MT5-Sprachbeschreibung:

"...Datenverfügbarkeit.

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

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

 
Andrey Khatimlianskii:

Das ist Unsinn!

Wozu gibt es dann Terminals und MQLs? Sie können also alles selbst schreiben? Und Aufträge per Fix direkt an den Makler zu senden?

Was ist das für ein Unsinn? Dass Sie fertige Daten im Puffer haben? Das wurde schon mehr als einmal in 4 gemacht, um die Dinge zu beschleunigen.
 
Artyom Trishkin:
Dort funktioniert alles. Aber manchmal wird der Zugang verweigert. Vielleicht wegen der Aktualisierungen der Zeitreihen - ich weiß es nicht. Wenn er sich weigert, müssen Sie die Anfrage wiederholen, da die erste Anfrage den Datentausch aktiviert.

Wenn alles funktionieren würde, gäbe es nicht eine Million Themen, die sich mit diesem Problem befassen.

Die Logik hat sich einfach als komplizierter herausgestellt, als die Terminalbenutzer bereit sind, damit umzugehen.
Und es muss Fehler geben, aber die Entwickler haben nicht die Muße, nach ihnen zu suchen, und niemand will sie reproduzieren und bei den Nutzern nachweisen.

 
Artyom Trishkin:
Worin besteht die Täuschung? Dass Sie fertige Daten im Puffer haben? Dies geschah mehr als einmal in 4 Fällen, um die Dinge zu beschleunigen.

Der Unsinn besteht darin, eine eigene Kopie der Daten zu organisieren, die bereits im Terminal vorhanden sind.

 
Eugeni Neumoin:

Die Bar ist da. Die Funktion ergibt nicht immer eine -1. Ich glaube, dass dies nur die Beschreibung der MT5-Sprache ist:

"...Datenverfügbarkeit

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

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

iBarShift() funktioniert in beiden Terminals gleich. Und sie geben unter den gleichen Bedingungen die gleichen Rückgabecodes zurück.
 
Artyom Trishkin:
Ich habe viele Indikatoren auf diese Weise erstellt - mit Zeitreihenklassen. Dort ist alles vorhanden, und es unterscheidet sich nicht von der normalen Arbeit mit Indikatoren. Aber darüber hinaus - eine Menge von Annehmlichkeiten.

Dennoch ist es besser, wenn die Sprachfunktionen ohne diese Hilfsmittel funktionieren. Entweder wurde die Sprache auf die von Ihnen vorgeschlagene Weise verwendet. Das heißt, damit die Programmierer nicht etwas auf ihre Weise mit Diskussionen im Forum erfinden, sollte die Sprache implementiert werden, vielleicht durch einige zusätzliche Funktionen, ohne dass der Zugriff auf Zeitreihen ausfällt.

 
Artyom Trishkin:
iBarShift() funktioniert in beiden Terminals gleich. Und die gleichen Rückgabecodes werden unter den gleichen Bedingungen zurückgegeben.

Warum enthält die Sprachbeschreibung dann das von mir angeführte Zitat? Wenn alles gut funktioniert, warum sollte dann im Sprachführer stehen, dass der Zugang jederzeit verweigert werden kann?

Und wenn der Zugang verweigert wird und die Entwickler ehrlich sind, dann gibt es eine Menge Threads im Forum. Und JEDER! Programmierer stößt auf dieses Problem. Und jeder versucht, dieses Problem auf seine eigene Weise zu lösen. Einige von ihnen können es, andere nicht.

Gebildete Entwickler erstellen Bibliotheken, z.B. Tensorflow, damit sich die Leute nicht so quälen müssen. Und hier... Nun, zu Beginn des Threads haben alle die Antworten von Renat gelesen...

Grund der Beschwerde: