Bibliothèque: MultiTester - page 29

 
pcdeni #:

donc, non.

 
Gérer la mise à jour en direct du terminal.
// Commutation de l'état LiveUpdate du terminal.

#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/fr/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 #:
Gestion du terminal LiveUpdate.
Nous vous remercions de votre attention.
 
Activer/désactiver l'écriture des journaux pendant l'optimisation sur le disque.
// // Activer/désactiver les journaux des testeurs (Optimisation).
#include <fxsaber\MultiTester\MTTester.mqh> // https://www.mql5.com/fr/code/26132

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

sinput bool INPUT_TESTER_LOG = true; // Activer/désactiver les journaux des testeurs

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;


Activer.


Désactiver (accélérer l'optimisation).


S

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégies de trading

Erreurs, bugs, questions

fxsaber, 2022.09.04 17:55

#property script_show_inputs

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

sinput bool inTesterLog = true; // Activer/désactiver les journaux des testeurs

void OnStart()
{
  MessageBox("TesterLog - " + ((inTesterLog ? MTTESTER::TesterLogON(true) : !MTTESTER::TesterLogOFF(true)) ? "ON." : "OFF."));
}
 
Ajout dans MTTester.mqh d'une solution de contournement pour les conflits possibles lorsque l'on travaille avec des testeurs en parallèle.
Несколько MT5-тестеров параллельно на одной машине.
Несколько MT5-тестеров параллельно на одной машине.
  • www.mql5.com
Автоматизация MT5-Тестера потребовала параллельного использования нескольких Тестеров на одной машине: оптимизация ( MultiTester ) и одиночные проходы ( Validate и TesterDashboard ). Необходимость
 

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

Notez l'adresse en surbrillance de chaque agent dans la capture d'écran : 127.0.0.1:30xx. Ces adresses ne se chevauchent pas. En d'autres termes, chaque cœur de CPU est occupé par son propre agent. MT5 alloue les agents de manière correcte.

Question sur la phrase du blog. Je ne suis pas sûr que l'attribution automatique des processus par numéro de port garantisse qu'ils sont répartis sur différents cœurs sans chevauchement potentiel. Combien de cœurs y a-t-il dans la capture d'écran ci-dessus ? Et par exemple, que se passe-t-il si vous exécutez 2 optimisations en parallèle ?

 
Stanislav Korotky #:

Question sur une phrase du blog. Je ne suis pas sûr que le partitionnement automatique des processus par numéro de port garantisse qu'ils sont répartis sur différents cœurs sans chevauchement potentiel. Combien de cœurs y a-t-il dans la capture d'écran ci-dessus ? Et par exemple, que se passe-t-il si vous exécutez 2 optimisations en parallèle ?

Il y a 20 cœurs sur la capture d'écran : 18 pour l'optimisation sur un terminal et un pour les passes uniques sur un autre terminal. TaskManager montre que 19 cœurs sur 20 sont pleinement chargés (5% chacun). Les cœurs libres représentent ~4%.

Je n'ai pas pratiqué l'optimisation en parallèle. Ce n'est pas nécessaire pour l'instant.

 
fxsaber #:

Il y a 20 cœurs à l'écran : 18 pour l'optimisation sur un terminal et un pour les passes uniques sur un autre terminal. TaskManager montre que 19 cœurs sur 20 sont pleinement chargés (5% chacun). Libre ~4%.

Merci. D'après ce que je comprends, il s'agit uniquement de la "parallélisation" de l'accès aux fichiers, et la configuration des cœurs pour les agents doit toujours être effectuée manuellement ?

 
Stanislav Korotky #:

Merci. D'après ce que j'ai compris, il s'agit uniquement de la "parallélisation" de l'accès aux fichiers,

de l'accès au presse-papiers du système. Il ne s'agit pas des fichiers.

Dois-je toujours faire les réglages du noyau de l'agent à la main ?

Je ne fais rien.

 
fxsaber #:

Accès au presse-papiers du système. Les fichiers ne sont pas concernés.

Je ne fais rien.

Je n'ai pas vu dans les modifications du code source que quelque chose était fait avec le presse-papiers.

Si vous lancez l'optimisation, n'utilisera-t-elle pas tous les cœurs disponibles en même temps ? Je ne comprends pas comment un seul test a pu "retirer" un cœur de l'optimisation (en fait, même 2 agents d'optimisation de MT sont marqués comme désactivés).