MetaTrader 5 Strategie-Tester und MQL5 Cloud Netzwerk - Seite 2

 
Interesting:

Hier wird es etwas ausführlicher. Soweit ich das verstanden habe, gibt es einen Kern pro Lauf, aber man kann wählen, welchen + es ist möglich, mehrere Terminals zu betreiben.

Für den Einzellauf (nicht im Optimierungsmodus, sondern im Einzellauf) können Sie einen der lokalen Agenten oder einen der entfernten Agenten (die im Servermodus arbeiten) auswählen.

Für einen einzelnen Lauf können Sie keinen Agenten aus dem MQL5-Cloud-Netzwerk auswählen, da dies weder praktisch noch wirtschaftlich sinnvoll ist.

Grob gesagt, macht es keinen Sinn, ein leistungsfähiges verteiltes MQL5-Netzwerksystem mit Cache Raising und Datenaufbereitung für einen einzigen Test zu initialisieren. Der Zweck des MQL5-Cloud-Netzwerks besteht darin, massive Optimierungsberechnungen durchzuführen.

 
Renat:

Für einen einzelnen Lauf (nicht im Optimierungsmodus, nur ein einzelner Durchgang) können Sie einen der lokalen oder einen der entfernten Agenten (im Servermodus) auswählen.

Für einen einzelnen Lauf können Sie keinen Agenten aus dem MQL5-Cloud-Network auswählen, da dies keinen praktischen und wirtschaftlichen Sinn ergibt.

Grob gesagt, macht es keinen Sinn, ein leistungsfähiges verteiltes MQL5-Netzwerksystem mit Cache Raising und Datenaufbereitung für einen einzigen Test zu initialisieren. Der Zweck des MQL5-Cloud-Netzwerks besteht darin, massive Optimierungsberechnungen durchzuführen.

Übrigens, ich habe darüber nachgedacht - können wir eine Art vorläufige "Berechnung" durchführen, z.B. die Cache-Übertragungsgeschwindigkeit (Anstiegszeit) als Minus- und Pluspunkt von mehr Kernen analysieren und sie mit der nur lokalen Testzeit vergleichen, um einige "Ratschläge" zu geben - es macht keinen Sinn, solche Berechnungen für entfernte Kerne durchzuführen. In der Tat ist es zunächst gar nicht offensichtlich.
 
Renat:

Für einen einzelnen Lauf (nicht im Optimierungsmodus, nur ein einzelner Durchgang) können Sie einen der lokalen oder einen der entfernten Agenten (im Servermodus) auswählen.

Für einen einzelnen Lauf können Sie keinen Agenten aus dem MQL5-Cloud-Network auswählen, da dies keinen praktischen und wirtschaftlichen Sinn ergibt.

Grob gesagt, macht es keinen Sinn, ein leistungsfähiges verteiltes MQL5-Netzwerksystem mit Cache Raising und Datenaufbereitung für einen einzigen Test zu initialisieren. Der Zweck des MQL5-Cloud-Netzwerks besteht darin, massive Optimierungsberechnungen durchzuführen.

Ich habe es also richtig verstanden, ein lokaler/ferner Agent + mehrere Terminals
 
Academic:
Durch die Art und Weise, dass der Gedanke - kann in Bezug auf die "Verbesserung", um eine solche Art von vorläufigen "Berechnung" zu machen, sagen, mit analysiert Geschwindigkeit der Übertragung (Zeit des Aufstiegs) von Caches als Minus und die Pluspunkte von mehr Kernen und vergleichen Sie mit nur lokale Testzeit erhalten, um einige "Ratschläge" zu geben - wie es keinen Sinn, Rennen auf Remote. In der Tat ist es zunächst gar nicht offensichtlich.

Natürlich wird der Testmanager versuchen, zunächst mehr lokale Agenten, dann Remote-Agenten und schließlich verteilte Agenten einzusetzen, um die Rechenkosten zu senken.

Darüber hinaus führen wir einen Stapelverarbeitungsmechanismus ein, der die Auswirkungen von Netzwerkverzögerungen bei der Arbeit mit Remote-Agenten auf nahezu Null reduzieren kann.

Das heißt, das Terminal verteilt die Aufgaben in Blöcken von 32-64 Durchläufen an jeden Agenten, wodurch die Auswirkungen von Netzverzögerungen um die gleiche Anzahl von Durchläufen reduziert werden.

Beispiel: Ich habe einen Stapel von 32 Aufgaben in 2 KB mit zu berechnenden Parametern gesendet und 5 Minuten später ein 1 KB großes Antwortpaket mit den Ergebnissen von einem Agenten erhalten. Unterm Strich bedeutet dies 3kb Netzwerkverkehr mit etwa 1 Sekunde Übertragungsverlust statt 32 Sekunden ohne Paketierung.

 

Danke für die Antworten, aber vieles ist noch unklar.

Для одиночного прогона (не в режиме оптимизации, а именно одиночный проход) можно выбрать одного из локальных агентов или одного из удаленных (работающих в серверном режиме).

Was bedeutet das? "remote, im Servermodus"? Ich verstehe einfach nicht - wenn ich einen Agenten auf einem zweiten Computer installiere und dabei die Metatester-Komponente verwende, ist das alles? Was ist mit entfernten, nicht im Servermodus befindlichen Geräten - wie kann ich sie hinzufügen?

Für einen einzelnen Lauf können Sie den Agenten nicht aus dem MQL5 Cloud Network auswählen, da dies weder praktisch noch wirtschaftlich sinnvoll ist.

Hier brauchen wir einen Supercomputer, oder besser gesagt einen Cluster von Supercomputern, die als ein einziger Kern arbeiten - als ein einziger Agent, und ein Netzwerk ist erforderlich - niemand hat einen solchen Computer zu Hause. Oder zumindest die Möglichkeit, eine Verbindung zu einem leistungsstarken Rechner herzustellen (soweit ich weiß, ist das möglich, wenn ich den Agenten auf einem leistungsstarken Computer installiere und ihn während eines einzigen Laufs von einem Laptop aus verwende). Genau für einen einzigen Lauf. Das Gegenteil ist der Fall: Es macht keinen praktischen Sinn, das MQL5 Cloud Network für massive Optimierungsberechnungen zu verwenden, wenn schon der erste Durchlauf schwierig ist. Die Aufzählung von Varianten ist der zweite Fall, aber der einmalige Durchlauf ist nicht weniger wichtig, für manche Menschen sogar noch wichtiger.

Ich habe es also richtig verstanden, ein lokaler/entfernter Agent + mehrere Terminals

Bei diesem ist überhaupt nicht klar, wie er zu entziffern ist...

 

Renat:

Beispiel: Senden eines Aufgabenpakets mit 32 Durchläufen von 2kb mit zu berechnenden Parametern und 5 Minuten später Empfang eines Antwortpakets von 1kb mit den Ergebnissen des Agenten. Das Ergebnis sind 3kb Netzwerkverkehr mit etwa 1 Sekunde Übertragungsverlust anstelle von 32 Sekunden ohne Datenpaket.

Dies ist der Fall, wenn der Verlauf vorbereitet ist und keine zusätzlichen Kosten anfallen. Aber im Prinzip wird die Verringerung des Verkehrsaufkommens und die Verbesserung der Optimierungseffizienz Ihnen ins Gesicht geschrieben stehen.
 

Renat:

Grob gesagt, macht es keinen Sinn, ein leistungsfähiges verteiltes MQL5-Netzwerksystem mit Cache-Elevation und Datenaufbereitung für einen einzigen Test zu initialisieren. Der Zweck des MQL5-Cloud-Netzwerks besteht darin, massive Optimierungsberechnungen durchzuführen.

Dem stimme ich zu. Es ist jedoch schade, dass es keine Möglichkeit gibt, mehrere Einzelläufe (Testläufe) gleichzeitig durchzuführen, auch nicht mit mehreren Kernen auf einem einzigen Rechner. Genauer gesagt, natürlich sequentiell, aber ohne auf den Abschluss früherer Läufe zu warten. Mehrere Versionen des Terminals sind sehr speicherintensiv. Besser wäre es jedoch, wenn der Tester ein eigenständiges Programm wäre, das mehrere Instanzen ausführen könnte. Idealerweise ein Multitasking-Tester. Jetzt müssen wir uns verrenken - eine Konfigurationsdatei mit Parameterlisten schreiben und sie aus einer Datei laden, indem wir den Optimierer mit einem Pseudo-Variablenzähler füttern. Das ist ungünstig. Ganz zu schweigen von der Tatsache, dass auch bei dieser Variante alle Testergebnisse (insbesondere die Transaktionen) berechnet, formatiert und im Deinit in eine Datei ausgelagert werden müssen. Daher ist die Massenverarbeitung von Optimierungsergebnissen in der aktuellen Version des Testers recht kompliziert. Sie können nicht einmal die Testergebnisse von gestern aus einer Datei (die es ja gibt!) zurück auf die Seite "Optimierungsergebnisse" hochladen, um sie mit einem "Ein-Klick-Tester" zu lösen. Können Sie eine solche Möglichkeit zumindest einrichten?

Ein weiteres schmerzhaftes Problem: Ich verstehe, dass es während der Optimierung ziemlich lange dauert, Daten für Agenten vorzubereiten. Ist es möglich, Agenten nicht mit einzelnen Läufen, sondern mit Batch-Läufen (8-16-32) zu laden? In diesem Fall könnten wir (imho) einen spürbaren Gewinn an Gesamtoptimierungszeit erzielen. Soweit ich weiß, wird ein solches System jetzt erfolgreich in F4 eingesetzt. Ich glaube, dass mehrere Parametersätze parallel laufen (ich könnte mich irren). Ich würde also gerne etwas Ähnliches bei firth haben. Ansonsten bleibt mein Single-Core-Tester um ein Vielfaches hinter dem Four-Core-Tester zurück (ich habe schon einmal darüber geschrieben).

//Wow! Zu spät. Als ich das schrieb, hatte Renat bereits über die Stapelverarbeitung geschrieben und dies bejaht. Ich danke Ihnen. Sehr zufrieden. Wir werden warten.

 
-Alexey-:

Danke für die Antworten, aber vieles bleibt unklar.

Das bedeutet: "remote, im Servermodus"? Ich verstehe einfach nicht - wenn Sie einen Agenten auf einem zweiten Computer installieren und dabei die Metatester-Komponente verwenden - ist das alles? Und was ist mit dem Remote-, Nicht-Server-Modus - wie füge ich diese hinzu?

Hier brauchen wir einen Supercomputer, oder besser gesagt einen Cluster von Supercomputern, die als ein Kern als ein Agent arbeiten, und ein Netzwerk - niemand hat eines zu Hause. Oder zumindest die Möglichkeit, eine Verbindung zu einem leistungsstarken Rechner herzustellen (soweit ich weiß, ist das möglich, wenn ich den Agenten auf einem leistungsstarken Computer installiere und ihn während eines einzigen Laufs von einem Laptop aus verwende). Genau für einen einzigen Lauf. Das Gegenteil ist der Fall: Es macht keinen praktischen Sinn, das MQL5 Cloud Network für massive Optimierungsberechnungen zu verwenden, wenn schon der erste Durchlauf schwierig ist. Das Ausprobieren von Varianten ist der zweite Fall, aber der einzelne Lauf ist nicht weniger wichtig, für manche sogar wichtiger.

Es ist überhaupt nicht klar, wie das zu entschlüsseln ist...

1. Ein einziger Lauf verwendet nur einen Kern, einen lokalen (Ihren PC) oder einen entfernten Agenten (Intranet).

2) Bestimmte Kerne können deaktiviert werden.

3. Sie können einen bestimmten Agenten (einen bestimmten Kern) auswählen, der getestet werden soll.

Theoretisch ist es möglich, mehrere "Einzeltests" gleichzeitig durchzuführen (allerdings wären dann mehrere Terminals erforderlich).

PS

In Ihrem Fall mit Laptop sollten Sie den lokalen Kernel ausschalten und den Test auf einem leistungsfähigen Computer durchführen (der sich im lokalen Netzwerk befindet oder dessen Ressourcen maximal für Tests frei sind).

 

MetaDriver:

Ist es möglich, Agenten nicht nach einzelnen Läufen/Aufgaben, sondern nach Paketen von Läufen (8-16-32) zu laden? In diesem Fall können wir (imho) einen spürbaren Gewinn an Gesamtoptimierungszeit erzielen. Soweit ich weiß, wird ein solches System jetzt erfolgreich in F4 eingesetzt.


Sie implementieren also den Batch-Modus, Renat hat sogar ein Beispiel gegeben...
 

Was ich nicht verstehe, ist....

  1. Wie sieht es mit der Geschichte aus, wird sie für alle gleich sein? Was ist , wenn ich ein Terminal von verschiedenen Maklerunternehmen heruntergeladen habe, das nur eine sehr kurze Historie aufweist und zudem an verschiedenen Stellen Löcher hat?
  2. Wenn die Anzahl der Instrumente nicht die gleiche ist, ist das Beispiel auf dem Server 12 Symbole der Meisterschaft. Und zum Testen (Multicurrency braucht eine vollständige Matrix von Währungen für den Indikator richtig zu arbeiten), wie in diesem Fall? ....
  3. Und drittens haben wir bereits die Zeit erwähnt, deshalb haben wir die UTG-Zeit eingeführt - um irgendwie zu synchronisieren ... Wie wird es bei Ihnen sein? Wenn z.B. nur bestimmte Handelszeiten getestet werden (z.B. von 10 bis 12 Uhr in Moskau) ... Die Zeit ist für jeden anders ...