Servicedesk. Beschwerden, Vorschläge. - Seite 3

 
Alexey Kozitsyn:

Wenn auch nur, weil es in der Dokumentation steht und ich es verwenden möchte.

Zum Herunterladen und Überprüfen der Historie, ähnlich wie bei MT5: https://www.mql5.com/ru/docs/series/timeseries_access

Ich wiederhole meine Frage: Wissen Sie, wie man dieses Datum mit Hilfe des alten mql4 ermitteln kann?

Für mich ist das Vorhandensein einer Funktion in der Dokumentation kein ausreichender Grund, mich mit dem Servicedesk und dem Forum zu befassen und Zeit und Mühe zu verschwenden, wenn ich die Funktion im Prinzip nicht brauche. Und warum das notwendig sein könnte, haben Sie meiner Meinung nach noch nie argumentieren können.

Ich persönlich empfehle niemandem, in MT4 die Funktionen der API von MT5 zu verwenden, da sie seit der "Modernisierung" von MQL4 seit langem mit solchen Fehlern behaftet sind. Und ich werde ihre Verwendung von nun an nicht mehr empfehlen, es sei denn, jemand beweist ihre absolute Notwendigkeit.

 
Ilya Malev:

Für mich ist das Vorhandensein einer Funktion in der Dokumentation kein ausreichender Grund, mich mit servicedesk und im Forum zu beschäftigen und Zeit und Mühe zu verschwenden, wenn ich sie im Prinzip nicht brauche. Und meiner Meinung nach haben Sie noch nicht argumentieren können, warum Sie es brauchen könnten.

Ich persönlich empfehle niemandem, in MT4 die Funktionen der API von MT5 zu verwenden, da sie seit der "Modernisierung" von MQL4 seit langem mit solchen Problemen zu kämpfen haben. Und ich werde ihre Verwendung auch in Zukunft nicht empfehlen, es sei denn, jemand beweist ihre absolute Notwendigkeit.

Sie haben meine Frage immer noch nicht beantwortet. Aber ich habe gemerkt, dass es dir egal ist und du zufrieden bist.

Oh, und noch ein Argument - die Portabilität von Programmen von MT4 zu MT5 und zurück.

 
Alexey Kozitsyn:

Sie haben meine Frage immer noch nicht beantwortet. Aber ich habe verstanden, dass es dir egal ist und du damit kein Problem hast.

Oh, und noch ein Argument - die Übertragbarkeit von Programmen von MT4 auf MT5 und zurück.

Wenn Sie die Anzahl der Balken im MT4-Fenster beschränkt haben, wissen Sie nicht, wie viele Balken sich auf dem Server befinden. Und ich habe noch keine Situation erlebt, in der dies notwendig gewesen wäre. Natürlich kann man eine Menge exotischer Dinge erfinden, aber in 99,9 % der Fälle können wir darauf verzichten.

Was die Übertragbarkeit anbelangt, so handelt es sich um völlig unterschiedliche Plattformen mit einer grundlegend anderen Methodik für die Arbeit mit Daten und Aufträgen. Daher ist ihre Programmiermethodik völlig anders. Für die Portabilität gibt es die __MQL4__-Direktive und Bibliotheken mit bedingter Kompilierung.

 
Ilya Malev:

Es ist nicht möglich zu wissen, wie viele Balken sich auf dem Server befinden, wenn Sie die Anzahl der Balken im MT4-Fenster begrenzt haben. Und ich bin noch nicht auf eine Situation gestoßen, in der dies notwendig gewesen wäre. Natürlich kann man alle möglichen Exoten erfinden, aber bei 99,9 % der Aufgaben eines Händlers kommt man praktisch ohne sie aus.

Was die Übertragbarkeit anbelangt, so handelt es sich um völlig unterschiedliche Plattformen mit einer grundlegend anderen Methodik für die Arbeit mit Daten und Aufträgen. Daher ist ihre Programmiermethodik völlig anders. Für die Portabilität gibt es die __MQL4__-Direktive und Bibliotheken mit bedingter Kompilierung.

Ist die Organisation des Zugangs zu den Daten "exotisch"? Ahem. Gut.

Dem Händler ist die Sprache egal, er muss handeln, und die Expert Advisors/Indikatoren/Skripte müssen richtig funktionieren. Wie sie funktionieren, ist das Problem des Programmierers. Aber der Programmierer muss auf so kleine Details wie den Datenzugriff achten, wenn er ein Qualitätsprodukt für den Händler schreiben will.

Und wenn Ihnen etwas nicht begegnet ist, heißt das nicht, dass andere es nicht getan haben.

 
Alexey Kozitsyn:

Die Organisation des Datenzugriffs ist 'exotisch'!? Ahem. Gut.

Den Händlern ist die Sprache egal, sie müssen handeln, und die Expert Advisors/Indikatoren/Skripte müssen richtig funktionieren. Wie sie funktionieren, ist das Problem des Programmierers. Aber der Programmierer muss, um ein Qualitätsprodukt für den Händler zu schreiben, auf solche Kleinigkeiten wie den Datenzugriff achten.

Sie haben keine einzige konkrete Aufgabe genannt, für die diese Funktion benötigt wird. Nur schöne Worte wie "Datenzugriff" und das Eingeständnis, dass Sie diese Funktion brauchen, nur weil sie in der Dokumentation beschrieben ist.

Es gibt genügend Funktionen in der MT4 API für den Datenzugriff, meiner Meinung nach ist es absolut nicht notwendig, sich mit Funktionen für MT5 zu beschäftigen. Es ist nicht notwendig, die Anzahl der Balken auf dem Server in MT4 herauszufinden, da es nicht notwendig ist, die Historie programmatisch zu laden - das Terminal selbst tut dies vor dem Zugriff auf die MT4-Datenzugriffsfunktionen (iHigh, iLow, MarketInfo usw.).

Das ist sehr praktisch und es ist schade, dass es in MT5 geändert wurde, was eine Menge Schwierigkeiten mit dem Zugang zu den Daten dort verursacht hat

 
Ilya Malev:

Sie haben immer noch keine einzige konkrete Aufgabe genannt, für die diese Funktion benötigt wird. Nur schöne Worte wie "Datenzugriff" und das Eingeständnis, dass Sie diese Funktion brauchen, nur weil sie in der Dokumentation beschrieben ist.

Es gibt genügend Funktionen in der MT4 API für den Datenzugriff, meiner Meinung nach ist es absolut nicht notwendig, sich mit Funktionen für MT5 zu beschäftigen. Es ist nicht notwendig, die Anzahl der Balken auf dem Server in MT4 herauszufinden, da es nicht notwendig ist, die Historie programmatisch hochzuladen - das macht das Terminal.

Das ist sehr praktisch und es ist schade, dass es in MT5 geändert wurde, was eine Menge Probleme mit dem Zugang zu den Daten dort verursacht hat

Ich habe Ihnen sogar den Link gegeben:

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Service Desk. Wenn Sie Fragen oder Anmerkungen zum Service Desk haben, zögern Sie bitte nicht, uns zu kontaktieren.

Alexey Kozitsyn, 2015.10.30 17:11

Zumindest, weil es in der Dokumentation steht und ich es verwenden möchte.

Zum Herunterladen und Überprüfen der Historie, ähnlich wie bei MT5: https://www.mql5.com/ru/docs/series/timeseries_access

Ich habe eine Funktion zum Prüfen/Hochladen der Historie auf mql5 geschrieben, ähnlich wie im Link beschrieben. Alles funktioniert so, wie es soll. Und ich wollte dasselbe im mql4-Programm verwenden. Ich habe den Code kopiert und festgestellt, dass die Funktion SeriesInfoInteger() nicht korrekt funktioniert. Ich habe eine Bewerbung an Sersidesk geschrieben. Warum sollte ich nicht den vorhandenen Code verwenden, wenn alle Funktionen in beiden Sprachen doppelt vorhanden sind?

Soweit ich verstanden habe, haben Sie zunächst für mql4 geschrieben und sind dann zu mql5 gewechselt. Im Gegenteil, ich habe aktiv begonnen, in mql5 zu schreiben, und dann - in mql4. Daher ist es für mich bequemer, neue Funktionen zu verwenden.

 
Und wenn Sie die Dokumentation zur Organisation des Zugriffs auf Daten aus mql4 und mql5 vergleichen, wird deutlich, dass der Zugriff derselbe ist. Es ist nur so, dass die mql5-Dokumentation um ein Beispiel für den Zugriff erweitert wurde. Es bleibt also die große Frage, ob dieser Zugang so unterschiedlich ist.
 
Alexey Kozitsyn:
Und wenn wir die Dokumentation für den Datenzugriff von mql4 und mql5 vergleichen, wird deutlich, dass der Zugriff derselbe ist. Es ist nur so, dass die mql5-Dokumentation um ein Beispiel für den Zugriff erweitert wurde. Es bleibt also die große Frage, ob dieser Zugang so unterschiedlich ist.

Ein einfaches Beispiel ist, dass ein Indikator einen anderen über iCustom aufruft. Und dieser andere Indikator ruft seinerseits den dritten und vierten Indikator auf. Und alle diese Indikatoren sind etwas länger als ein paar Millisekunden aufgebaut. Wenn eine solche Konstruktion am Wochenende ausgeführt wird, wartet der Benutzer nicht auf die Erstellung des Indikators, bis das Wochenende vorbei ist, es sei denn, er drückt regelmäßig auf die Schaltfläche "Aktualisieren" im Diagramm. Wegen dieses Problems musste ich ein ganzes System von Klassen anstelle von iCustom für den Aufruf von einander mit Indikatoren, unter Umgehung von iCustom zu machen. In MT4 gab es diese Schwierigkeiten nicht.

In MT4 wird zuerst der Indikator erstellt und dann der Code aufgerufen, der seine Daten verwendet. Das Gleiche wird meist mit Zeitreihen gemacht. In MT5 wurde alles geändert, nicht zum Besseren.

 
Ilya Malev:

Ein einfaches Beispiel ist, dass ein Indikator einen anderen über iCustom aufruft. Und dieser andere Indikator ruft seinerseits auch den dritten und vierten Indikator auf. Und alle diese Indikatoren sind etwas länger als ein paar Millisekunden aufgebaut. Wenn eine solche Konstruktion am Wochenende ausgeführt wird, wartet der Benutzer nicht auf die Erstellung des Indikators, bis das Wochenende vorbei ist, es sei denn, er drückt regelmäßig auf die Schaltfläche "Aktualisieren" im Diagramm. Wegen dieses Problems musste ich ein ganzes System von Klassen anstelle von iCustom für den Aufruf von einander mit Indikatoren, unter Umgehung von iCustom zu machen. In MT4 gab es diese Schwierigkeiten nicht.

In Mt4 wird zuerst der Indikator erstellt und dann der Code aufgerufen, der seine Daten verwendet.

Versuchen Sie, die Timer-Ereignisse zu nutzen. D.h. die Logik aller Berechnungen beginnt am Ausgang im Timer. Wenn der Indikator nicht im Fenster erscheint, drücken Sie einmal auf Aktualisieren. Alles sollte funktionieren.
 

Alexey Kozitsyn:

Versuchen Sie, Timer-Ereignisse zu verwenden.

Timer-Ereignisse sind eigentlich eine Unterklasse von ChartEvent und werden nur aufgerufen, wenn der Indikator direkt im Diagramm gestartet wird. Bei Indikatoren, die über iCustom aufgerufen werden, warten Sie weder auf OnTimer- noch auf OnChartEvent-Aufrufe

Dort beginnt ein Indikator erst dann zu zeichnen, wenn der andere bereits gezeichnet wurde. Sie müssen einmal auf Aktualisieren drücken, um den ersten, am weitesten entfernten Teil der Kette zu erstellen, und dann noch einmal, um den Teil zu erstellen, der seine Daten verwendet :)

Denn der Indikator in seinem Thread kann nicht auf die Datenerstellung eines anderen Indikators warten, ohne von OnCalculate zurückzukommen. Das ist auch eine schöne Funktion. Der Benutzer wird also immer mit dem Diagrammmenü konfrontiert, anstatt mit den Daten zu arbeiten.

Grund der Beschwerde: