MT5 Strategietester, Chart im visuellen Modus hängt, verzögert. Neuer PC, schlechte Grafikkarte?

 

Guten Tag,

ich nutze den Strategietester im MT5 und habe grundsätzlich beim Testen mit allen Ticks und im visuellen Modus ein schnelles Bild, bzw. das Fortbewegen im ST-Chart läuft flüssig.

Nun wenn ich mehrere Indikatoren hinzufüge + MA´s und mit dann  "ObjectCreate" mir einige Pfeile und Texte (viele) auf dem Chart ausgebe + einige Comment(comm) Befehle, dann wir das Fortbewegen im visuellen Modus sehr langsam auf dem Minuten Chart z.B. Bild hängt kurz oder Zoom ist verzögert. Oder das Fenster meldet "keine Rückmeldung".

Wenn ich die "ObjectCreate" Ausgaben und  Comment(comm) Befehle beim Backtest weg lasse kann ich den Chart wieder ohne Hänger und Verzögerungen anschauen und bewegen.

Mein Desktop-PC ist neu und hat 32GB Ram und eine M2.SSD Festplatte. Der Arbeitsspeicher wir nur bis zu 30% ausgelastet.

Kennt Ihr das Problem und woran kann es liegen? An der Grafikkarte? Hier habe ich nicht die schnellste.

Hier noch weiter Infos zum PC:

- CPU Sockel AM4 - CPU AMD Ryzen 7 2700X 8x 3,70GHz
- Windows 10 64 Bit
- VGA PCIe - GeForce GT 710, 2GB DDR3 / Inno3D GT 710
- MB Sockel AM4 - Mainboard Asus Prime B450M-A
- SSD M.2 PCIe 2280 - 250GB Samsung 970 EVO Plus 1 (3500 MBps (lesen) / 2300 MBps (Schreiben))
- RAM DDR4-RAM - 32GB 3200MHz Kingston HyperX Fury

Danke für Eure/Ihre Hilfe und Rückantwort.

BG.

 

Für die Überprüfung des Ergebnisses der Ausführung kann man die Funktion ObjectFind() oder andere Funktionen verwenden, die die Eigenschaften des Objektes abrufen, z.B. vom Typ ObjectGetXXX. Dabei muss man beachten, dass solche Funktionen am Ende der Warteschlange hinzugefügt werden und auf das Ergebnis der Ausführung warten (weil sie synchrone Aufrufe sind). D.h. sie können viel Zeit in Anspruch nehmen.  Dies muss man beachten, wenn man mit vielen Objekten im Chart arbeitet.

Vor allem beim Optimieren die Grafikanzeige ausschalten!

bool   testing      =   (bool)MQLInfoInteger(MQL_TESTER);
bool   visualtest   =   (bool)MQLInfoInteger(MQL_VISUAL_MODE);
bool   optimizing   =   (bool)MQLInfoInteger(MQL_OPTIMIZATION);
bool   finalbuild   =  !(bool)MQLInfoInteger(MQL_DEBUG);
Die Eigenschaft (zb Farbe) eines Chartobjekts abzufragen und nur bei Veränderung zu aktualisieren (also der zaghafte Versuch des cachings) ist langsamer als diese einfach zu setzen.
Dokumentation zu MQL5: Graphische Objekte / ObjectFind
Dokumentation zu MQL5: Graphische Objekte / ObjectFind
  • www.mql5.com
Im Erfolgsfall gibt die Funktion Nummer des Subfensters zurück (0bedeutet das Hauptfenster des Chart), in dem sich das gefundene Objekt befindet. Wenn das Objekt nicht gefunden ist, gibt die Funktion eine negative Zahl zurück. Für die Erhaltung der weiteren Information über den Fehler, muss die Funktion GetLastError() aufgerufen werden. Die...
 

Grafik verlangsamt den Tester (und einen EA) mit unter ziemlich stark!

Verwende im Editor den Profiler, um zu erkennen, bei welcher Funktion der EA die Zeit verliert!!

 

Lösung: Im Profiler konnte ich erkennen wo das Programm viel Zeit verliert.

Die Grafiken auf dem Chart waren das Problem und ich habe durch die Bars abfrage nur noch pro Bar ein Objekt gezeichnet nun nicht mehr bei jedem Tick der alle paar Sekunden kommt.

Dann lief mein Test wesentlich schneller.

Vielen Dank.