Librerías: MultiTester - página 34

 

Hola, @Stefan Marjoram

Puedes añadir esta función borrador para leer la configuración desde el archivo a un array de cadenas.

#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

Y usarla en OnInit() así

int OnInit() {
   string Settings[];

   LoadSettings("MySettings.ini", Settings);

   /* Para comprobar la lectura
 for(int i = 0; i < ArraySize(Settings); i++) {
 PrintFormat("------------ Ajustes[%d]: --------------", i);
 Print(Ajustes[i]);
 }
 */

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

   return INIT_SUCCEEDED;
}
 
Stefan Marjoram #:

Necesito añadir 20 archivos de conjuntos

Foro sobre comercio, sistemas automatizados de comercio y prueba de estrategias comerciales

Nueva versión de MetaTrader 5 build 3550: mejoras y correcciones

fxsaber, 2023.05.23 00:58

Validar es capaz de ejecutar muchas órdenes ini secuencialmente

  1. Ponga los archivos ini necesarios en la carpeta Files\YourName.
  2. Inicie Validate en Terminal, donde se especifica el nombre de la carpeta - YourName.
Las tareas ini se ejecutarán secuencialmente.

Cree los 20 archivos ini necesarios y haga lo descrito anteriormente.

 

error

Tengo ataques de alergia en medio de la nada.

¿Cuál podría ser la causa?

 
EgorKim #:

Es una alergia en medio de la nada.

¿Cuál podría ser la causa?

¿Se pulsa el botón de arranque con la mano?

 
fxsaber #:
¿El botón de arranque es manual?

Sí.

Sólo uso este código

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

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

Sólo uso este código

Actualizado.

 
MTTester ha sido actualizado.
 
fxsaber #:
MTTester ha sido actualizado.

Otra vez.

 
MTTester.mqh actualizado.
 
EgorKim #:

Es una alergia en medio de la nada.

¡Gracias por su ayuda en las pruebas! Actualizado MTTester.mqh publicado.