Renat Fatkhullin:
Wir werden die detaillierten Testeinstellungen mit Provisionen, Auftragsauslösebedingungen, Slippage etc. drastisch erweitern.
Diese Ergänzung wäre eine der ersten, die zu sehen wäre.
Der Vergleich von Läufen ist eine tolle Sache.
Es gibt auch ein Bedürfnis aus der Zeit des Bartwuchses, das Lösungen von Drittanbietern populär gemacht hat: die Kombination mehrerer Läufe zu einem einzigen.
D.h. mehrere TCs werden "gleichzeitig" betrieben, aber ihre Gesamtgeschichte und ihr Eigenkapital werden aufgebaut.
Forum zum Thema Handel, automatisierte Handelssysteme und Strategietests
fxsaber, 2019.07.22 01:54
Ein Prüfer wird zu einem sehr starken Drescher, wenn er über die Fähigkeit zur Automatisierung verfügt.
Wenn die Entwickler die hauseigenen Tester-Verwaltungsfunktionen(Datum/Symbol/Modus einstellen, besten Einzellauf ausführen, Bericht speichern usw.) in MQL einbauen. ), wird es hundertmal stärker sein als alle potenziellen Wettbewerber. Und es wird sich von einem ernsthaften Spielzeug zu einem beispiellosen Forschungsinstrument entwickeln, da es ein echter Computer-Drescher werden wird.
Aber ich bezweifle, dass sie das tun wird. Wenn jemand helfen kann, die Hervorhebung zu automatisieren, wäre das großartig.
TesterSetInfo, TesterGetInfo.
Es gibt auch ein Bedürfnis aus den Barttagen, das Lösungen von Drittanbietern populär gemacht hat: die Kombination mehrerer Durchgänge zu einem einzigen.
D.h. mehrere TCs werden "gleichzeitig" betrieben, aber ihre Gesamtgeschichte und ihr Eigenkapital werden aufgebaut.
Unterstützung für einen Kollegen. Ich habe es auf der Seite zu implementieren, aber auf der anderen Seite, wie es in den Tester zu arrangieren? Hm, fügen Sie einem solchen Pass ein Attribut wie "Portfolio #" hinzu. - vielleicht so?
Unterstützung für einen Kollegen. Ich muss das nebenbei implementieren, aber andererseits, wie organisiert man das im Tester? Fügen Sie einem solchen Pass eine Art Attribut wie "Portfolio #" hinzu. - vielleicht so?
Manuelle Zuweisung von Bearbeitern für jedes Programm, das gleichzeitig getestet wird.
Ein Beispiel: Wir haben 8 Bearbeiter, von denen 4 einem Experten und 4 einem anderen zugewiesen sind. Folglich können nur zwei mql-Programme gleichzeitig getestet werden.
Oder jedem Experten werden 2 Agenten zugewiesen, und dann testen dieselben 8 Agenten bereits 4 Programme usw.
Oder die automatische Zuteilung von Agenten, wie bei einem Wettlauf: Wer den Agenten als Erster hat, bekommt ihn auch als Erster.
Ein Bearbeiter hat eine Aufgabe erledigt, wartet wieder, bis sie von der Aufgabenwarteschlange abgeholt wird, usw.
Dadurch erhöht sich die Anzahl der gleichzeitig geprüften Programme.
Jedes Programm, das zur gleichen Zeit getestet wird, erhält automatisch seine eigene virtuelle Testerumgebung.
Nach Abschluss aller Durchläufe werden die Ergebnisse der einzelnen Programme zusammengefasst und die Durchschnittswerte berechnet.
Die Gesamtstatistik wird angezeigt.
Wir weisen jedem Programm, das zur gleichen Zeit getestet wird, manuell Agenten zu.
Wir haben zum Beispiel 8 Agenten, von denen 4 einem Expert Advisor und 4 einem anderen zugewiesen sind. Daher können nur zwei mql-Programme gleichzeitig getestet werden.
Oder die automatische Zuweisung von Agenten, wie bei einem Rennen, so dass derjenige, der den Agenten zuerst bekommt, auch denselben bekommt.
Der Bearbeiter hat eine Aufgabe erledigt und wartet darauf, wieder von der Aufgabenwarteschlange abgeholt zu werden, usw.
Dadurch erhöht sich die Anzahl der gleichzeitig geprüften Programme.
Jedem Programm, das gleichzeitig getestet werden soll, wird automatisch eine eigene virtuelle Testerumgebung zugewiesen.
Nach Abschluss aller Durchläufe wird das Ergebnis jedes Programms zusammengefasst und die allgemeine Statistik angezeigt.
Meine Variante ist einfacher und funktioneller, sie erlaubt es Ihnen, so viele EAs und deren Einstellungen zu testen, wie Sie benötigen, ohne unnötigen Aufwand zu betreiben. Ihre Variante benötigt einen Manager für die Verteilung der Aufgaben... Sie müssen einen Manager für Portfoliotests hinzufügen, der von einem Benutzer gebildet wird und in dem der Expert Advisor und der Satz / die Einstellungen sowie die ID des Portfolios angegeben werden - um in der Lage zu sein, verschiedene Portfolios zu vergleichen, in diesem Fall wird es universell und funktional sein.
Meine Variante ist einfacher und funktioneller, sie erlaubt es Ihnen, so viele EAs und deren Einstellungen zu testen, wie Sie brauchen, ohne unnötigen Aufwand zu betreiben. Ihre Variante benötigt einen Manager für die Verteilung der Aufgaben... Wir müssen einen Manager für Portfoliotests hinzufügen, der von einem Benutzer gebildet wird und in dem der Expert Advisor und die Einstellungen dafür angegeben werden, sowie die ID des Portfolios - um in der Lage zu sein, verschiedene Portfolios zu vergleichen, dann wird es universell und funktional sein.
Wir haben also zwei Ansätze.
Sie können auch jedes Programm nacheinander testen und dann die Ergebnisse anhand der Portfolionummer für allgemeine Statistiken erstellen.
Sie können auch jedes Programm gleichzeitig im Multithreading-Modus testen und sofort eine Gesamtstatistik für diese Sätze anzeigen.
Der einzige Unterschied besteht in den anfänglichen Einrichtungsschritten oder der manuellen Erstellung von Gesamtstatistiken nach dem Test.
Und möglicherweise in der Gesamtgeschwindigkeit der Testausführung.
p.s. MetaQuotes - Träume werden manchmal wahr.
Renat, fügen Sie bitte eine weitere Option, MQ Old, zur Auswahl des ME-Stylings hinzu. Das, was vorher da war. Für Sie ist es nur eine Kleinigkeit, aber für viele Benutzer wird es eine Menge Nerven sparen.
Ich will mich nicht an einen neuen Stil gewöhnen... Ich bin sehr zufrieden mit dem alten.
Ich danke Ihnen.
Was ist ein Stresstest?
(d.h. welche Funktionen sind betroffen)
Tolle Neuigkeiten!
Dies wird die Umstellung auf MT5 fördern.
Schließlich wird jeder seine Programme für mt5 umschreiben, um sie dort zu testen...

- 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.
Lassen Sie sich nicht von dem halbherzigen Zustand der Tester in den Betas einschüchtern. Wir haben absichtlich alle Zwischenversionen in Betas herausgebracht, um die Ergebnisse schneller zu erhalten.
Wie wir den Strategietester reformieren:
Ein Suchfeld erleichtert das Auffinden früherer Ergebnisse zusätzlich zum direkten Download aus einer Datei.
In den Beta-Versionen haben wir den Modus des Testens in Pips aktiviert, der den Umfang der Modellierung erheblich reduziert und die Tests beschleunigt.
Der vollständige Satz an Einstellungen wird etwas später vorgestellt.
Die Beschleunigung wird sich vor allem bei lokalen Agenten bemerkbar machen, wo wir keine großen Datenmengen pumpen müssen und nicht mehrere Kopien von historischen Daten haben.
Ziel ist es, Aufgaben so weit wie möglich zu beschleunigen, damit es nicht zu Verzögerungen durch ungeeignete oder langsame Bearbeiter kommt.
Außerdem wird die MQL5-Sprache selbst aktiv weiterentwickelt, wir haben Scopes, erweiterte Unterstützung von Templates, Arbeit mit implizit erstellten Klassen und so weiter aufgenommen.
Wahrscheinlich wird es bald neue Funktionen geben:
Später werden wir uns der revolutionären Aufgabe zuwenden, Module in die Sprache aufzunehmen.
Dabei handelt es sich um C++-Bibliotheken, die in das EX5-Format umkompiliert wurden und direkt aus dem MQL5-Code verwendet werden können. Das heißt, wir werden damit beginnen, die Opsor-Bibliotheken neu zu kompilieren, wenn ihre Low-Level-/Gefahrenaufrufe vollständig auf unsere sichere Laufzeitumgebung abgebildet sind und sichere Wrapper für MQL5-Code erstellt sind.
Auf diese Weise wollen wir die Funktionalität der Sprache erhöhen, ohne die Sicherheit zu beeinträchtigen. Baugruppen stehen nur uns zur Verfügung, was ein gewisses Maß an Sicherheit für die daraus resultierenden Lösungen bietet.
Dieser Mechanismus funktioniert bereits.
Beispielsweise sind einige der Funktionen der MQL5-Umgebung seit langem während der Kompilierung nativ in den EX5-Code integriert, was eine sehr gute Optimierung auf Build-Ebene darstellt.