MetaTrader 5 Strategy Tester: Bugs, Bugs, Verbesserungsvorschläge - Seite 13

 

Leistungsvergleich. Taken combat TC, der aus mehreren unabhängigen TCs besteht (unterschiedlich durch Magie).

Wir messen die Geschwindigkeit von Tester und Virtual in Abhängigkeit von der Anzahl der TC und der Realisierung auf dem Markt oder von Limits (Ticks) auf Hedge-Einstellungen.


TS wird auf benutzerdefinierten Symbolen auf echten Ticks im Punktemodus mit einem aktivierten Agenten voller roher Gewalt von vier Durchgängen, RAM-Drive, gefahren. Die Zeit wird für den kürzesten der Durchgänge genommen.

Anzahl der Zecken MT5-Tester
market-orders
MT5-Tester
limit-orders
MT5-Tester+Virtuelle
Markt-Aufträge
MT5-Tester+Virtuelle
limit-orders
Virtual-Script
Marktaufträge
Virtual-Script
limit-orders
0 00:00.857 00:00.857 00:00.931 00:00.931 00:00.147 00:00.147
1 00:02.689 00:14.677 00:02.728 00:12.053 00:01.886 00:18.826
2 00:06.876 00:42.588 00:06.250 00:38.657 00:06.362 00:55.624
3 00:11.977 01:24.982 00:12.151 01:17.236 00:12.813 01:49.181
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

Virtual-Script führt das Prüfskript in einem Diagramm aus. D.h. es wird außerhalb des MT5-Testers wie ein normales Skript ausgeführt.


Schlussfolgerungen:

  1. Der Code im Terminal wird fast immer langsamer ausgeführt als im Agenten (bis zu 50 %).
  2. Auf den Märkten ist MT5-Tester jetzt kein bisschen langsamer als das Virtual Add-in.
  3. Bei den Grenzwerten ist MT5-Tester bis zu 15 % langsamer als Virtual. Das ist verständlich, also ist es in Ordnung.
Der erste Punkt muss angegangen werden.
 
fxsaber:
4 00:18.925 02:19.222 00:19.649 02:13.381 00:21.891 02:59.191

Warum gibt es einen solchen Unterschied zwischen Marken und Begrenzern?

 
Andrey Khatimlianskii:

Warum gibt es einen solchen Unterschied zwischen einem Markt und einem Limit?

Der EA ist nicht von mir, daher ist ein direkter Vergleich nicht möglich. Ich denke, die Logik unterscheidet sich erheblich.

Und die Begrenzer stellen eine größere Belastung für die Prüfungen des Testers dar (es ist offensichtlich, dass auch Virtual zurückgegangen ist). Man muss also der Marktlogik nachgeben.


Ich war über eine andere Sache verwundert. Warum Virtual-Script deutlich langsamer erschien als MT5-Tester+Virtual. Im ersten Fall handelt es sich um einen dummen For-Zyklus nach Ticks und sonst nichts. Es hat sich herausgestellt, dass Terminal bei der Ausführung von Code langsamer ist als Agents.

Profiler zeigt leider Unsinn an. Sie können nicht erkennen, warum das Ergebnis eine Leistungsverschlechterung ist.


Ich arbeite mit einer Reihe von Strukturen in Virtual. Vielleicht würde es schneller gehen, wenn wir mit Zeigern auf Klassenobjekte arbeiten würden. Ich muss es ausprobieren, aber die Liste der wichtigen Aufgaben wird immer länger.

 

Bei börsenspezifischen Symbolen wird der Take zum letzten Kurs angenommen und zum Geld-/Briefkurs ausgeführt.

Zum Beispiel liegt der Take für die BUY-Position bei 1,09801. A Geld/Brief/Last = 1,09799/1,09802/1,09801. Er löst aus, wenn der Preis berührt wird, aber er löst auch beim Geldkurs aus, der schlechter ist als der letzte.

Es stellt sich heraus, dass die Takes ständig mit negativem Schlupf ausgelöst werden.

 
fxsaber:

Bei börsenspezifischen Symbolen wird der Take zum letzten Kurs angenommen und zum Geld-/Briefkurs ausgeführt.

Zum Beispiel liegt der Take für die BUY-Position bei 1,09801. A Geld/Brief/Last = 1,09799/1,09802/1,09801. Er löst aus, wenn der Preis berührt wird, aber er löst auch beim Geldkurs aus, der schlechter ist als der letzte.

Es stellt sich heraus, dass die Takes ständig mit negativem Schlupf ausgelöst werden.

Sind in dem benutzerdefinierten Symbol drei Preise auf einmal angegeben? Oder kann es passieren, dass alle Preise umgerechnet werden, auch wenn das Diagramm nach Last gezeichnet ist? Kann in diesem Fall das Gebot auch mit dem nicht benutzerdefinierten Symbol berechnet werden? Ich bin nur neugierig. Wenn sie existiert, muss ich einige meiner Codes korrigieren.

 
Artyom Trishkin:

Sind diese drei Preise absichtlich in das benutzerdefinierte Symbol eingefügt worden?

Bei einem Börsensymbol werden die Marktaufträge durch den Flipper ausgelöst. Alle offenen Positionen am Ende eines Durchgangs werden vom Tester mit Marktaufträgen zwangsweise geschlossen - auf dem Flipper. Und wenn es eine Null gibt, wird gepokert. Ich schreibe den Flippern einen Durchschnittswert zwischen Bid und Ask vor, um das "Pokerface" zu vermeiden.

 
Letzte Aktualisierung. Der Tester ist krumm und schief. Wenn man nach der Optimierung versucht, einen Test mit Visualisierung durchzuführen, bleibt die Visualisierung HALTEN. Sie müssen neu starten. Aber während ich es noch tolerieren konnte (mit obszöner Sprache), lief der Test irgendwann überhaupt nicht mehr. Es stellte sich heraus, dass im Fenster "Symbol" alle in der Marktübersicht ausgewählten Symbole verschwanden. Das war's!!! Es gibt keine Hilfe in Tänzen mit Tamburin (und Neustart und sogar Neuinstallation von MT5).
 

Ich führe viele Optimierungen verschiedener EAs durch (sie gehen automatisch durch eine vorgegebene Liste). Dann beobachte ich ihre Caches.

Ich bemerke die derzeitigen Unannehmlichkeiten

Ich möchte die Zwischenspeicher meiner früheren Optimierungen sehen, also muss ich jedes Mal zuerst den erforderlichen Expert Advisor auswählen. Und die Liste der jüngsten Optimierungen, die im Tester selbst durchgeführt wurden, ist nicht verfügbar.


Es wäre viel freundlicher, wenn die Liste der letzten Optimierungen des Testers mit den Namen der EAs in ihnen in den markierten Bereich fallen würde, wie im Screenshot. Würde das Sinn machen?

 
KENT3004:
Letzte Aktualisierung. Der Tester ist krumm und schief. Wenn man nach der Optimierung versucht, einen Test mit Visualisierung durchzuführen, bleibt die Visualisierung HALTEN. Sie müssen neu starten. Aber während ich es noch tolerieren konnte (mit obszöner Sprache), lief der Test irgendwann überhaupt nicht mehr. Es stellte sich heraus, dass im Fenster "Symbol" alle in der Marktübersicht ausgewählten Symbole verschwanden. Das war's!!! Es gibt keine Hilfe in Tänzen mit Tamburin (und Neustart und sogar Neuinstallation von MT5).

Wenn eine Neuinstallation des Betriebssystems nicht hilft, empfehle ich, den Computer zu wechseln. Na ja, oder zumindest die Dichtung.

 
Alexey Viktorov:

Wenn die Neuinstallation des Betriebssystems nicht hilft, empfehle ich, den Computer auszutauschen. Nun, oder zumindest eine Dichtung.

Humor erwünscht! Aber Business - wie bekommt man die Zeichen zurück in den Tester? Ähnliches Verschwinden und Aufhängen wurde von mehreren Benutzern in anderen Foren bestätigt.