Bibliotheken: MultiTester - Seite 34

 

Hallo, @Stefan Marjoram

Sie können diese Entwurfsfunktion zum Lesen von Einstellungen aus einer Datei in ein String-Array hinzufügen.

#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

Und sie in OnInit() wie folgt verwenden

int OnInit() {
   string Settings[];

   LoadSettings("MySettings.ini", Settings);

   /* Für das Kontrolllesen
 for(int i = 0; i < ArraySize(Einstellungen); i++) {
 PrintFormat("------------ Einstellungen[%d]: --------------", i);
 Print(Einstellungen[i]);
 }
 */

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

   return INIT_SUCCEEDED;
}
 
Stefan Marjoram #:

Ich muss 20 Set-Dateien hinzufügen

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Neue Version von MetaTrader 5 build 3550: Verbesserungen und Korrekturen

fxsaber, 2023.05.23 00:58

Validate ist in der Lage, viele ini-Orders sequentiell auszuführen

  1. Legen Sie die notwendigen ini-Dateien in den Ordner Files\YourName.
  2. Starten Sie Validate im Terminal, wo Sie den Ordnernamen angeben - IhrName.
Die ini-Aufgaben werden nacheinander gestartet.

Erstellen Sie 20 erforderliche ini-Dateien und gehen Sie wie oben beschrieben vor.

 

Fehler

Ich bekomme mitten im Nirgendwo Allergieanfälle.

Was könnte die Ursache sein?

 
EgorKim #:

Es ist eine Allergie mitten im Nirgendwo.

Was könnte die Ursache sein?

Wird der Startknopf mit der Hand gedrückt?

 
fxsaber #:
Wird der Startknopf von Hand betätigt?

Ja.

Ich verwende nur diesen Code

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

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

Ich verwende nur diesen Code

Aktualisiert.

 
MTTester wurde aktualisiert.
 
fxsaber #:
MTTester wurde aktualisiert.

Wieder.

 
MTTester.mqh aktualisiert.
 
EgorKim #:

Es ist eine Allergie mitten im Nirgendwo.

Vielen Dank für Ihre Hilfe beim Testen! Aktualisiert MTTester.mqh gebucht.