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.
- www.mql5.com
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.
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
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.