Servicedesk. Beschwerden, Vorschläge. - Seite 7

 
Ilya Malev:
Ich habe gerade Ihr Problem bereits in MT5 in einem Indikator gefunden, ohne eine OnTimer-Schleife zu beenden, prüfe ich die Zeitreihe auf einem anderen Symbol/Periode (nicht aktuell) - die Funktion sagt mir, dass es gebaut wird und gibt die richtige Anzahl von Bars. Unmittelbar danach rufe ich eine weitere Funktion auf, um den Indikator zu erstellen - in dieser Funktion, die aus demselben Aufruf von OnTimer aufgerufen wird, gelingt es, die Zeitreihe zu entladen, und der SeriesInfoInteger gibt Nullen zurück. Ich musste eine zusätzliche zyklische Prüfung einbauen, damit sich alles ohne eingehende Ticks aufbaut.

Wie ist das MT5-Terminal aufgebaut? Mikhail schrieb, dass MT5 Build 1200 in Ordnung sein sollte:

Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests

Service Desk. Beschwerden, Vorschläge.

Mikhail, 2015.10.29 17:46

Ich habe das Problem mit den Daten in den Indikatoren schon vor langer Zeit angesprochen!

https://www.mql5.com/ru/forum/42180

Man hat mir versichert, dass das Problem behoben ist.

Sie schrieben sogar in der Zusammenfassung der 1200er Veröffentlichung darüber

17: Terminal: Es wurde ein Fehler behoben, der dazu führte, dass historische Daten trotz regelmäßiger Datenzugriffe von MQL5-Programmen als unbenutzt entladen wurden.

Und wenn der Build neu ist, aber der Fehler weiterhin besteht - gehen Sie mit Beweisen zu servicedesk!

 
Alexey Kozitsyn:

Wie ist das MT5-Terminal aufgebaut? Mikhail schrieb, dass MT5 Build 1200 in Ordnung sein sollte:

Wenn der Build neu ist und der Fehler immer noch auftritt, wenden Sie sich mit einem Nachweis an den Service Desk!

Der Aufbau ist derselbe wie bei der 1200/64. Um den Fehler zu reproduzieren, muss ich die Situation simulieren, die ich bei einem ziemlich komplexen Produkt hatte, das ich nicht an den Schreibtisch schicken kann. Ich werde es tun, sobald ich für eine Weile frei habe.
 

Der Themenstarter erhielt in der ersten Antwort einen Rat zu seinem Problem, den er, der Themenstarter, ignorierte.

Stanislav Starikov| 10.29 12:41

Um aktuelle Daten aus dem Symbolzeitraum einer anderen Person zu erhalten, müssen Sie häufiger als einmal alle 10 Sekunden auf diese Daten zugreifen. Oder greifen Sie auf diese Daten vom Expert Advisor aus zu, z.B. mit iTime (dann können die Daten mindestens alle 3 Minuten abgerufen werden)


Der Themenstarter hat diesen Hinweis offensichtlich gesehen, denn in seinem Indikator befindet sich ein kommentierter Code, den er hier vorgestellt hat

         //if( bars_count == 0 || firstDate == 0 || serv_firstDate == 0 )
         //     {
         //      Print( "Подкачка iTime()" );
         //      datetime tm = iTime( _Symbol, period, 0 );
         //     }

Wenn Sie den unbedingten Aufruf iTime(_Symbol,Periode,0) in OnInit und am Anfang von OnCalculate einfügen, werden Sie keine der oben beschriebenen Probleme haben

Der SeriesInfoInteger sammelt einfach die bereits vorhandenen Informationen, ohne den Datenaustausch aufzurufen, und das ist logisch.

 
Slawa:

Der Themenstarter erhielt in der ersten Antwort einen Rat zu seinem Problem, den er, der Themenstarter, ignorierte.

Stanislav Starikov| 10.29 12:41

Um aktuelle Daten aus dem Symbolzeitraum einer anderen Person zu erhalten, müssen Sie häufiger als einmal alle 10 Sekunden auf diese Daten zugreifen. Oder greifen Sie auf diese Daten vom Expert Advisor aus zu, z.B. mit iTime (dann können die Daten mindestens alle 3 Minuten abgerufen werden)


Der Themenstarter hat diesen Hinweis offensichtlich gesehen, denn in seinem Indikator befindet sich kommentierter Code, den er hier vorgestellt hat

Wenn Sie den unbedingten Aufruf iTime(_Symbol,Periode,0) in OnInit und am Anfang von OnCalculate einfügen, werden Sie keine der oben beschriebenen Probleme haben

Der SeriesInfoInteger sammelt einfach die bereits vorhandenen Informationen, ohne den Datenaustausch aufzurufen, und das ist logisch.

Wjatscheslaw, an wen richten Sie sich jetzt? Ich? Oder an Ilja?

Wenn Sie Ilja ansprechen, spricht er bereits über mql5. Bitte lesen Sie genau, bevor Sie antworten. Ich habe Ihnen mehr als einmal gesagt, dass Sie es eilig haben zu antworten, ohne auf Einzelheiten einzugehen.

Ich habe Ihren Rat gesehen, der kommentierte Code bestätigt ihn, danke, das hat geholfen. Da Renat gesagt hat, dass das aggressive Entladen von Daten behoben wird, brauchen wir nicht weiter über mql4 zu diskutieren.

Aber wenn die gleiche Situation in mql5 weiter besteht, obwohl sie ab Build 1200 behoben sein sollte, was ist dann zu tun?

Noch einmal: Wenn Sie (die Entwickler) nichts an mql4 ändern wollen, fügen Sie der Dokumentation hinzu, dass SeriesInfoInteger() nur vorhandene Informationen sammelt, und das war's! Alle Fragen werden verschwinden, oder Sie können einfach Ihre Nase in die Dokumentation stecken!

 
Alexey Kozitsyn:

Wjatscheslaw, mit wem sprichst du jetzt? Ich? Oder an Ilja?

Da iTime erwähnt wurde, handelt es sich offensichtlich um MT4. Ich habe noch kein konkretes Code-Beispiel angegeben, um mir zu antworten.
 
Ilya Malev:
Da iTime erwähnt wurde, handelt es sich eindeutig um MT4. Ich habe noch kein konkretes Codebeispiel gegeben, um mir zu antworten.
Das habe ich verstanden, aber es ist wahrscheinlicher, dass Sie angesprochen wurden. Aber Sie haben über Fehler in mql5 geschrieben.
 
Alexey Kozitsyn:
Das habe ich verstanden, aber wahrscheinlich war es auch an Sie gerichtet. Aber Sie haben über Fehler in mql5 geschrieben.
Ich bin nicht der Themenstarter :)
 
Ilya Malev:
Ich bin nicht der Themenstarter :)
Ja, aber der Beitrag war so, als würde ich Ihnen erklären, was ich nach Meinung von Wjatscheslaw nicht verstanden habe.
 
Alexey Kozitsyn:
Ja, aber der Beitrag war so, als würde ich Ihnen erklären, was ich laut Wjatscheslaw nicht verstanden habe.

Ich glaube, das ist eine Art, mit dir zu sprechen :)

Ich werde auf mein Problem zurückkommen und einen Verifizierungscode angeben. Es sei denn, in Build 1210 wurde etwas behoben. Bisher habe ich eine zyklische Kontrolle durchgeführt und bin weitergefahren, keine Zeit zum Anhalten.

 
Ilya Malev:
Schreiben Sie dann das Ergebnis Ihrer Experimente mit dem Verlauf in MT4)

Ich habe angefangen, mit dem Laden des Verlaufs von Grund auf zu experimentieren. D.h. ich lösche den gesamten Verlauf per Symbol und starte das Terminal. Terminaleinstellung max. Balken im Fenster = 5000.

Wenn Sie ein ähnliches Skript wie das von Data Access Organization in MT5 verwenden, können Sie sehen, dass die Historie entweder bis zur maximalen Anzahl von Balken oder bis zum letzten Datum auf dem Server geladen wird.

Bei Verwendung eines ähnlichen Schemas in MT4 werden die Daten nicht geladen. D.h. anfangs sind ca. 2050 verfügbar, und um mehr Historie zu erhalten, müssen Sie das Diagramm bis zur Tiefe der Historie scrollen.

Mir ist auch eine Besonderheit aufgefallen. Wenn beim Scrollen neue Balken geladen werden, wird prev_calculated auf 0 zurückgesetzt (funktioniert wie die Schaltfläche "refresh").

Liebe Entwickler. Bitte kommentieren Sie, ob es eine Möglichkeit gibt, die Historie zu tauschen, ohne den Chart zu scrollen (MT4!).

Grund der Beschwerde: