Fehler, Irrtümer, Fragen - Seite 1883

 

Wiederholter Test der Geschwindigkeit von CopyXXX Charts Cache Lifting durch Funktionen in der neuesten Version 1596 im Vergleich zur vorherigen Diskussion: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Beschreibung des Zustands
MetaTrader 4 Build 1065
MetaTrader 5 x64 Build 1580
1596 bauen
Hardware und Betriebssystem
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32GB, SSD Festplatte
Handels-Server
MetaQuotes-Demo
MetaQuotes-Demo
Balken auf Diagrammen in den Einstellungen begrenzen
10 000
10 000
Balken im Verlauf in den Einstellungen begrenzen 10 000 000
Keine Begrenzung
Tatsächliche Anzahl der Balken auf EURUSD, M1
3,382 Millionen
6,538 Millionen
Geprüftes Symbol und Punkt
EURUSD, M1
Diagramme öffnen
GBPUSD, nur M1, das Skript wird auch auf ihn geworfen
Ergebnisse sind kalt, nach dem Start des Terminals
#0 pass, 1000 records in 680 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 113497 msc
#1 pass, 1000 records in 3 msc
#2 pass, 1000 records in 3 msc
#0 pass, 1000 records in 18288 msc
#1 pass, 1000 records in 7 msc
#2 pass, 1000 records in 2 msc
Ergebnisse sind warm, zweiter Lauf unmittelbar nach dem ersten
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 14 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc
#0 pass, 1000 records in 13 msc
#1 pass, 1000 records in 2 msc
#2 pass, 1000 records in 2 msc

Die Testskripte sind im Quellkommentar beigefügt.

Die Zeit bis zum Abheben von der Diagrammscheibe (6,5 Millionen Balken auf der Scheibe, 10.000 Balken wurden abgehoben und 1.000 letzte Balken wurden angefordert, Kaltstart) wurde von 113 auf 18 Millisekunden reduziert. Nachfolgende Anfragen wurden bereits in 2 Mikrosekunden ausgeführt.
 
Renat Fatkhullin:

Wiederholter Test der Geschwindigkeit von CopyXXX Chart Cache Lift durch Funktionen in der neuesten Version 1596 im Vergleich zur vorherigen Diskussion: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Beschreibung des Zustands
MetaTrader 4 Build 1065
MetaTrader 5 x64 Build 1580
1596 bauen
Hardware und Betriebssystem
Windows 10 Pro x64, Intel Xeon E5-2690 v3 @ 2.60GHz, RAM: 32GB, SSD Festplatte
Handels-Server
MetaQuotes-Demo
MetaQuotes-Demo
Balken auf Diagrammen in den Einstellungen begrenzen
10 000
10 000
Balken im Verlauf in den Einstellungen begrenzen 10 000 000
Keine Begrenzung
Tatsächliche Anzahl der Balken auf EURUSD, M1
3,382 Millionen
6,538 Millionen
Geprüftes Symbol und Punkt
EURUSD, M1
Diagramme öffnen
GBPUSD, nur M1, das Skript wird auch auf ihn geworfen
Ergebnisse sind kalt, nach dem Start des Terminals
Ergebnisse sind warm, zweiter Lauf unmittelbar nach dem ersten

Die Testskripte sind im Quellkommentar beigefügt.

Die Zeit bis zum Abheben von der Diagrammscheibe (6,5 Millionen Balken auf der Scheibe, 10.000 Balken wurden abgehoben und 1.000 letzte Balken wurden angefordert, Kaltstart) wurde von 113 auf 18 Millisekunden reduziert. Nachfolgende Anfragen wurden bereits in 2 Mikrosekunden ausgeführt.

Gut gemacht!
 
Renat Fatkhullin:

Ein erneuter Test der Geschwindigkeit der CopyXXX-Funktionen zum Anheben des Diagrammspeichers in der neuesten Version 1596 im Vergleich zur letzten Diskussion: https://www.mql5.com/ru/forum/1111/page1871#comment_4867939

Bessere Wiederholung bei SymbolsTotal.
 
fxsaber:
Es ist besser, ihn in SymbolsTotal zu ändern.

CopyTicks ist in Skripten und Expert Advisors nicht asynchron. In der Tat kann man in diesem Fall nicht unbedingt von einer Asynchronität dieser Funktionen sprechen. In den CopyXXX-Indikatoren arbeiten die Funktionen im Modus "Ausgeben, was auf einmal ist, ohne Verzögerung, und parallel dazu den Hintergrund-Swap-Modus einstellen".

MQL_MEMORY_USED lügt nicht, denn es zeigt 1 Mb belegten Speicher an. Das Programm selbst hat nur MqlTick Ticks[] für 2000 Elemente, was 52 Bytes * 2000 = ~100 kb an Daten ergibt. Plus die restlichen kleinen Daten, die sich auf etwa ein Megabyte summieren. Und das Aufrunden auf Megabyte sollte nicht vergessen werden.

Angehobene Caches gehören zum Terminal, nicht zum MQL5-Programm.
 
Renat Fatkhullin:

CopyTicks ist in Skripten und EAs nicht asynchron.

Der Code in SD wird geparst, denn nicht alles ist glatt.

Ich meinte, dass es gut wäre, die Kopierfunktionen nicht nur für ein Symbol, sondern für alle von Market Watch zu überprüfen.

 

Alpari-MT5 Handelsserver

Warum gibt es in der Tick-Historie von FOREX-Symbolen doppelte Ticks (Bid und Ask sind gleich)?

Der Prüfer sucht EAs nach Duplikaten ab, und davon gibt es die Hälfte. Ist es notwendig, die entsprechende Leistung um die Hälfte zu reduzieren?

 
Bitte fügen Sie den Anzeigemodus "Positionen" auch in den MT5-Testbericht für einzelne Läufe ein.
 
Kommentare, die für dieses Thema nicht relevant sind, wurden in die Rubrik "FAQ zum Signaldienst" verschoben.
 

Ich weiß nicht, wie man es reproduzieren kann, aber ich habe es 1598 schon mehrmals erlebt.

Ich starte die Fehlersuche mit CTRL+F5. Ich komme zu DebugBreak und schaue mir in aller Ruhe die Variablenwerte an und träume von etwas. Und nach einer Weile "reagiert der Visualizer nicht" und dann der Editor "reagiert nicht". Ich muss ihn über TaskManager beenden.

 
fxsaber:

Ich weiß nicht, wie man es reproduzieren kann, aber ich habe es 1598 schon mehrmals erlebt.

Ich starte die Fehlersuche mit CTRL+F5. Ich komme zu DebugBreak und schaue mir in aller Ruhe die Variablenwerte an und träume von etwas. Und nach einer Weile "reagiert der Visualizer nicht" und dann der Editor "reagiert nicht". Ich muss ihn über TaskManager beenden.

Wir müssen das klären.