Bibliotheken: MultiTester - Seite 29

 
pcdeni #:

Also, nein.

 
Verwalten Sie das LiveUpdate des Terminals.
// Umschalten des LiveUpdate-Status des Terminals.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/de/code/26132

void OnStart()
{
  const bool IsLiveUpdate = MTTESTER::IsTerminalLiveUpdate();
                     
  if (MessageBox("Current LiveUpdate - " + (IsLiveUpdate ? "ON" : "OFF") + ".\n\nWant to switch?",
                 "LiveUpdate Status", MB_YESNO) == IDYES)
   MessageBox("Current LiveUpdate - " + ((IsLiveUpdate ? !MTTESTER::TerminalLiveUpdateOFF() : MTTESTER::TerminalLiveUpdateON()) ? "ON." : "OFF."));
}
 
fxsaber #:
Terminal LiveUpdate Verwaltung.
Wir danken Ihnen!
 
Aktivieren/deaktivieren Sie das Schreiben von Protokollen während der Optimierung auf die Festplatte.
// // Aktivieren/Deaktivieren der Testerprotokolle (Optimierung).
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/de/code/26132

#define  INPUT_TESTER_LOG inTesterLog
#define  TOSTRING(A) #A

sinput bool INPUT_TESTER_LOG = true; // Testerprotokolle aktivieren/deaktivieren

void OnTesterInit()
{
  string Settings;
  
  if (MTTESTER::GetSettings(Settings))  
    MessageBox("TesterLog - " + (((MTTESTER::GetValue(Settings, TOSTRING(INPUT_TESTER_LOG)) == "true")
                                   ? MTTESTER::TesterLogON(true)
                                   : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
  
  ChartClose();
}

void OnTesterDeinit() {}

input int inRange = 0;


Aktivieren.


Ausschalten (Beschleunigung der Optimierung).


S

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Fehler, Bugs, Fragen

fxsaber, 2022.09.04 17:55

#property script_show_inputs

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/de/code/26132

sinput bool inTesterLog = true; // Testerprotokolle aktivieren/deaktivieren

void OnStart()
{
  MessageBox("TesterLog - " + ((inTesterLog ? MTTESTER::TesterLogON(true) : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
}
 
In MTTester.mqh wurde ein Workaround für mögliche Konflikte bei der Arbeit mit parallelen Testern hinzugefügt.
Несколько MT5-тестеров параллельно на одной машине.
Несколько MT5-тестеров параллельно на одной машине.
  • www.mql5.com
Автоматизация MT5-Тестера потребовала параллельного использования нескольких Тестеров на одной машине: оптимизация ( MultiTester ) и одиночные проходы ( Validate и TesterDashboard ). Необходимость
 

fxsaber #:
В MTTester.mqh добавлен обход возможных конфликтов при работе с параллельными Тестерами.

Beachten Sie die hervorgehobene Adresse der einzelnen Agenten im Screenshot: 127.0.0.1:30xx. Sie überschneiden sich nicht. Das heißt, jeder CPU-Kern wird von einem eigenen Agenten belegt. MT5 weist die Agenten auf die richtige Weise zu.

Frage zum Blog-Satz. Ich bin mir nicht sicher, ob die automatische Zuweisung von Prozessen nach Portnummer sicherstellt, dass sie auf verschiedene Kerne verteilt werden, ohne dass es zu Überschneidungen kommt. Wie viele Kerne sind auf dem obigen Screenshot zu sehen? Und was passiert zum Beispiel, wenn Sie 2 Optimierungen parallel laufen lassen?

 
Stanislav Korotky #:

Frage zu einem Satz aus dem Blog. Ich bin mir nicht sicher, ob die automatische Partitionierung von Prozessen nach Portnummer sicherstellt, dass sie auf verschiedene Kerne verteilt werden, ohne dass es zu Überschneidungen kommt. Wie viele Kerne sind auf dem obigen Screenshot zu sehen? Und was passiert zum Beispiel, wenn man 2 Optimierungen parallel laufen lässt?

Auf dem Screenshot sind 20 Kerne zu sehen: 18 für die Optimierung auf einem Terminal und einer für einzelne Durchläufe - ein anderes Terminal. TaskManager zeigt, dass 19 der 20 Kerne voll ausgelastet sind (jeweils 5%). Freie ~4%.

Ich habe die Optimierung nicht parallel durchgeführt. Das ist im Moment nicht nötig.

 
fxsaber #:

Auf dem Bildschirm sind 20 Kerne zu sehen: 18 für die Optimierung auf einem Terminal und einer für einzelne Durchläufe - ein anderes Terminal. Der TaskManager zeigt, dass 19 der 20 Kerne voll ausgelastet sind (jeweils 5 %). Frei ~4%.

Ich danke Ihnen. Soweit ich verstanden habe, geht es nur um die "Parallelisierung" des Zugriffs auf Dateien, und die Einstellungen der Kerne für die Agenten müssen immer noch manuell vorgenommen werden?

 
Stanislav Korotky #:

Danke. Soweit ich das verstanden habe, geht es nur um die "Parallelisierung" des Dateizugriffs,

Zugriff auf die Systemzwischenablage. Es geht nicht um die Dateien.

Muss ich die Einstellungen für den Agentenkernel noch von Hand vornehmen?

Ich tue nichts.

 
fxsaber #:

Zugriff auf die Zwischenablage des Systems. Dateien sind nicht betroffen.

Ich tue nichts.

Ich habe in den Quellcodeänderungen nicht gesehen, dass etwas mit der Zwischenablage gemacht wurde.

Wenn Sie die Optimierung ausführen, werden dann nicht alle verfügbaren Kerne auf einmal beansprucht? Ich verstehe nicht, wie ein einziger Test einen Kern von der Optimierung "weggenommen" hat (in der Tat sind sogar 2 Agenten der optimierenden MT als deaktiviert markiert).