Bibliothèque: MultiTester - page 34

 

Bonjour, @Stefan Marjoram

Vous pouvez ajouter ce projet de fonction pour lire les paramètres du fichier dans un tableau de chaînes.

#define  ARRAY_APPEND(array, value)                  \
   ArrayResize(array, ArraySize(array) + 1, 128);   \
   array[ArraySize(array) - 1] = value;

//+------------------------------------------------------------------+
//||
//+------------------------------------------------------------------+
void LoadSettings(string filename, string &settings[]) {
   int f = FileOpen(filename, FILE_READ | FILE_TXT | FILE_ANSI);

   if(f) {
      string setting = "";
      string s;
      while(!FileIsEnding(f)) {
         s = FileReadString(f);
         StringTrimRight(s);
         StringTrimLeft(s);
         if(s == "[Tester]") {
            if(setting != "") {
               ARRAY_APPEND(settings, setting);
               setting = "";
            }

         }
         if(s != "" && StringSubstr(s, 0, 2) != "//") {
            setting += s + "\n";            
         }
      }

      if(setting != "") {
         ARRAY_APPEND(settings, setting);
      }
      FileClose(f);
   } else {
      PrintFormat("Error open file: %s", filename);
   }
}

#undef  ARRAY_APPEND

Et l'utiliser dans OnInit() comme ceci

int OnInit() {
   string Settings[];

   LoadSettings("MySettings.ini", Settings);

   /* Pour vérifier la lecture
 for(int i = 0 ; i < ArraySize(Settings) ; i++) {
 PrintFormat("------------ Settings[%d] : --------------", i) ;
 Print(Settings[i]) ;
 }
 */

   for (uint i = ArraySize(Settings); (bool)i--;)
    Run(Settings[i]);

   return INIT_SUCCEEDED;
}
 
Stefan Marjoram #:

J'ai besoin d'ajouter 20 fichiers

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

Nouvelle version de MetaTrader 5 build 3550 : améliorations et corrections

fxsaber, 2023.05.23 00:58

Valider est capable d'exécuter plusieurs ordres ini séquentiellement

  1. Placez les fichiers ini nécessaires dans le dossier Files\VotreNom.
  2. Lancez Validate dans le Terminal, où vous indiquez le nom du dossier - VotreNom.
Les tâches ini seront lancées séquentiellement.

Créez les 20 fichiers ini nécessaires et procédez comme indiqué ci-dessus.

 

insecte

J'ai des crises d'allergie au milieu de nulle part.

Quelle peut en être la cause ?

 
EgorKim #:

Il s'agit d'une allergie au milieu de nulle part.

Quelle peut en être la cause ?

Le bouton de démarrage est-il appuyé à la main ?

 
fxsaber #:
Le bouton de démarrage est-il manuel ?

Oui.

Je n'utilise que ce code

   if(MTTESTER::IsReady())
     {
      Sleep(200);
     }

   if(MTTESTER::ClickStart())
     {
      Sleep(200);
     }
 
EgorKim #:

Je n'utilise que ce code

Mise à jour.

 
MTTester a été mis à jour.
 
fxsaber #:
MTTester a été mis à jour.

Encore une fois.

 
Mise à jour de MTTester.mqh.
 
EgorKim #:

Il s'agit d'une allergie au milieu de nulle part.

Merci pour votre aide dans les tests ! Mise à jour de MTTester.mqh.