Fehler, Irrtümer, Fragen - Seite 2618

 
Vladimir Karputov:

Bitte geben Sie einen Beispielcode ein und beschreiben Sie die Handelsumgebung. Beschreiben Sie es so, dass es reproduziert werden kann.

Irgendwo habe ich es selbst verbockt, der saubere Aufruf ist nicht glitchy

 
Stanislav Korotky :

Bitte prüfen/bestätigen/überprüfen Sie die Situation, dass der Versuch, das Diagramm über die empfohlene ChartSetSymbolPeriod(0, NULL, 0); Methode zu aktualisieren, das Terminal für ein paar Sekunden hängen lässt (bei mir sind es ~15). Im Anhang finden Sie einen vereinfachten Indikator zur Reproduktion.

Folgendes war erforderlich (vorher funktionierte es gut): Es gibt eine vertikale Linie(Objekt) im Indikator und nachdem der Benutzer sie bewegt hat, wird der Indikator mit dem neuen Wert des Offset-Parameters neu aufgebaut, der von der Position der Linie genommen wird.

Der Indikator selbst ist primitiv: Er zeigt den aktuellen Kurs (mit Standardparametern) in einem Unterfenster an. Sie wird sofort berechnet.

Um das Problem zu lösen, genügt es, den Indikator auf das Diagramm zu setzen und die vertikale gelbe Linie ein paar Balken nach hinten zu verschieben.

Die Meldungen werden im Protokoll angezeigt:

- "Ziehen" sofort auf die Tatsache.

- Calc" nach einigen Sekunden - es wird bei jedem OnCalculate angezeigt.

Während des "Hängens" belastet das Terminal den CPU-Kern zu 100 %. Nach diesem Hänger wird der Indikator schließlich mit einem neuen Offset angezeigt. Es ging aber darum, dass der Indikator für neue Einstellungen sofort angezeigt wird, sobald der Benutzer die Linie bewegt.

Was ist das Problem? Wie kann man das beheben?

Vielen Dank im Voraus.

Kann nicht reproduziert werden. Build 2280.

2019.12.15 13:01:52.303 FMA (EURUSD,M30) Drag 21
2019.12.15 13:01:52.429 FMA (EURUSD,M30) Calc 21 0 3579

 
Alain Verleyen:

Kann nicht reproduziert werden. Build 2280.

2019.12.15 13:01:52.303 FMA (EURUSD,M30) Drag 21
2019.12.15 13:01:52.429 FMA (EURUSD,M30) Calc 21 0 3579

Ich danke Ihnen. Ich habe folgendes: Build 1940 - kein Problem, Build 2190 - hängt. Bild 2280 laut Rezensionen - kitschig.

 
Stanislav Korotky :

Ich danke Ihnen. Ich habe folgendes: Build 1940 - kein Problem, Build 2190 - hängt. Das Bild 2280 soll roh sein.

In der Übersetzung ist nicht klar, was das bedeutet.

Ich habe nur 1 offenes Diagramm für EURUSD getestet, vielleicht haben Sie mehr?

 

Ein bisschen seltsame Zitate))

Das sind Zecken von Metakvot.

Erstellte Häkchen zeigen dies nicht an.

 
Stanislav Korotky:

Bitte prüfen/bestätigen/überprüfen Sie die Situation, dass der Versuch, das Diagramm über die empfohlene ChartSetSymbolPeriod(0, NULL, 0); Methode zu aktualisieren, das Terminal für ein paar Sekunden hängen lässt (bei mir sind es ~15). Im Anhang finden Sie einen vereinfachten Indikator zur Reproduktion.

Folgendes war erforderlich (vorher funktionierte es gut): Es gibt eine vertikale Linie(Objekt) im Indikator und nachdem der Benutzer sie bewegt hat, wird der Indikator mit dem neuen Wert des Offset-Parameters neu aufgebaut, der von der Position der Linie genommen wird.

Der Indikator selbst ist primitiv: Er zeigt den aktuellen Kurs (mit Standardparametern) in einem Unterfenster an. Sie wird sofort berechnet.

Um das Problem zu lösen, genügt es, den Indikator auf das Diagramm zu setzen und die vertikale gelbe Linie ein paar Balken nach hinten zu verschieben.

Die Meldungen werden im Protokoll angezeigt:

- "Ziehen" sofort auf die Tatsache.

- Calc" nach einigen Sekunden - es wird bei jedem OnCalculate angezeigt.

Während des "Hängens" belastet das Terminal den CPU-Kern zu 100 %. Nach diesem Hänger wird der Indikator schließlich mit einem neuen Offset angezeigt. Aber der Sinn der Sache war es, den Indikator für neue Einstellungen sofort anzuzeigen, sobald der Benutzer die Linie bewegt.

Was ist das Problem? Wie kann man das beheben?

Vielen Dank im Voraus.

Wie viele Charts desselben Symbols sind geöffnet?

Wie viele Balken sind in diesen Diagrammen?

Gibt es Experten/Indikatoren/Skripte, die auf Daten aus demselben Tool zugreifen?

 

Ich möchte niemanden beleidigen.

Beim Entwurf einer Benutzeroberfläche ist es eine gute Faustregel, die Benutzereinstellungen beizubehalten. In der Regel kümmern sich Programmierer nicht um solche "Kleinigkeiten", wenn es um "globale" Aufgaben geht. Aber Sie müssen nur ein paar Zeilen Code schreiben.

https://www.mql5.com/ru/forum/1111/page2613#comment_14153742

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2019.12.06
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы
 
Slava:

Wie viele Charts desselben Instruments sind geöffnet?

Wie viele Balken sind in diesen Diagrammen?

Gibt es Experten/Indikatoren/Skripte, die auf die Daten desselben Instruments zugreifen?

Handelt es sich um ein Instrument oder ein Zeitrahmenpaar?

Ich öffne ein EURUSD D1-Diagramm mit 12000 Balken. In diesem Zeitrahmen gibt es kein anderes Symbol. Es gibt aber auch EURUSD M1, M5 und H1 Charts. Es gibt keine Einschränkung der Bar. Besonders auf M1 - 7 Takte (MQ Demo). Es gab einen Expert Advisor und ein paar Indikatoren. Ich habe sie jetzt alle entfernt. Ich habe sogar alle anderen Charts geschlossen (ich habe nur EURUSD D1 gelassen). Aber das Problem bleibt.

 
Alain Verleyen:

In der Übersetzung ist es nicht klar, was bedeutet es?

Ich habe nur 1 offenes Diagramm für EURUSD getestet, vielleicht haben Sie mehr?

Es heißt "ein bisschen fehlerhaft, laut Rezensionen".

 
Stanislav Korotky:

Handelt es sich um ein Instrument oder um ein Zeitrahmen-Instrumentenpaar?

Ich öffne ein EURUSD D1-Diagramm mit 12000 Balken. In diesem Zeitrahmen gibt es kein anderes Symbol. Es gibt aber auch EURUSD M1, M5 und H1 Charts. Es gibt keine Einschränkung der Bar. Besonders auf M1 - 7 Takte (MQ Demo). Es gab einen Expert Advisor und ein paar Indikatoren. Ich habe sie jetzt alle entfernt. Ich habe sogar alle anderen Charts geschlossen (ich habe nur EURUSD D1 gelassen). Aber das Problem bleibt.

Es ist das Werkzeug.

Die Taste F5 auf dem Diagramm und die Auswahl von Update aus dem Kontextmenü des Diagramms bewirken dasselbe wie ChartSetSymbolPeriod(NULL,0,0). Nämlich die Aktualisierung der Preisdaten.

Nach Erhalt der Antwort des Servers werden alle Zwischenspeicher für Zeiträume mit genau diesem Symbol zwangsweise neu aufgebaut. Je mehr Caches, desto länger der Rebuild (die Schnittstelle friert übrigens nicht ein).

Drücken Sie F5 und warten Sie, bis die Calc-Zeile im Expertenprotokoll erscheint.