Preguntas de los principiantes MQL5 MT5 MetaTrader 5 - página 599

 
Anatolii Zainchkovskii:

Ayuda, aparece un error en la cadena

StringTrimLeft( StringSubstr(ResultSymbols,1,StringLen(StringSubstr(ResultSymbols,0,1))- 1))

'ResultSymbols' - identificador no declarado 296 46

variable desconocida


 
¡Hola!

¿Pueden decirme cómo iniciar un probador en otra terminal utilizando un script desde una terminal?

Hace unos dos años era posible hacerlo de esta manera:

// ShellExecuteA (работает с параметрами в ANSI),а ShellExecuteW (работает с параметрами в unicode)

#import  "shell32.dll"
    int ShellExecuteW
       ( int    hwnd,                  // Хендл родительского окна. Это окно получает любые окна сообщений, которые генерирует приложение.
         string Operation,             // Указатель на строку, определяющую операцию для выполнения.
         string File,                  // Указатель на строку, определяющую имя файла для открытия или печати, или имя папки для открытия.
         string Parameters,            // Указатель на строку параметров исполнимого файла.
         string Directory,             // Указатель на строку, определяющую директорию по умолчанию.
         int    ShowCmd );             // Определяет как файл будет показываться когда откроется. 3-Активирует окно и отображает его в развернутом виде.
#import

int      Start = 0;                                                          // Значение, возвращаемое функцией ShellExecuteW
string   PuthTester  = "D:\\Alpari_Terminal_Tester";                         // Путь к Тестеру
string   PuthIniTester = "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini"; // Путь к Файлу *.ini в Тестере

int start()
   {
    Start = ShellExecuteW(0, "Open", "terminal.exe", PuthIniTester, PuthTester, 3);
    if(Start==2) Alert("Указаный файл не найден");
    return(0);
   }

¿Y ahora?

 
Leo59:
¡Hola!

¿Pueden decirme cómo iniciar un probador en otra terminal utilizando un script desde una terminal?

Hace unos dos años era posible hacerlo así:


¿Y ahora?

¿Es usted un lector de la mente :) ? Estoy preparando un artículo sobre el lanzamiento de pruebas en varios modos a la vez. Espero que estés preguntando por MetaTrader 5 y que tengas un sistema operativo Windows 10 de 64 bits.
 
Karputov Vladimir:
¿Es usted un lector de la mente :) ? Estoy preparando un artículo sobre la ejecución de pruebas en varios modos a la vez. Espero que estés preguntando por MetaTrader 5 y que tengas un sistema operativo Windows 10 de 64 bits.
Vladimir, lamentablemente es MetaTrader 4
 

Anteriormente, por lo que recuerdo, el archivo optimise.ini se creaba automáticamente al iniciar el probador en MetaTrader4. Ahora este archivo no se crea.

¿Puedes decirme cómo iniciar el probador en otra terminal utilizando un script desde una terminal?

Hace unos dos años pude hacerlo así:

// ShellExecuteA (работает с параметрами в ANSI),а ShellExecuteW (работает с параметрами в unicode)

#import  "shell32.dll"
    int ShellExecuteW
       ( int    hwnd,                  // Хендл родительского окна. Это окно получает любые окна сообщений, которые генерирует приложение.
         string Operation,             // Указатель на строку, определяющую операцию для выполнения.
         string File,                  // Указатель на строку, определяющую имя файла для открытия или печати, или имя папки для открытия.
         string Parameters,            // Указатель на строку параметров исполнимого файла.
         string Directory,             // Указатель на строку, определяющую директорию по умолчанию.
         int    ShowCmd );             // Определяет как файл будет показываться когда откроется. 3-Активирует окно и отображает его в развернутом виде.
#import

int      Start = 0;                                                          // Значение, возвращаемое функцией ShellExecuteW
string   PuthTester  = "D:\\Alpari_Terminal_Tester";                         // Путь к Тестеру
string   PuthIniTester = "D:\\Alpari_Terminal_Tester\\tester\\optimise.ini"; // Путь к Файлу *.ini в Тестере
string   PuthIniTerminal = "D:\\Alpari_Terminal\\MQL4\\Files\\optimise.ini"; // Путь к Файлу *.ini в Терминале

int start()
   {
    Start = ShellExecuteW(0, "Open", "terminal.exe", PuthIniTester, PuthTester, 3);
    if(Start==2) Alert("Указаный файл не найден");
    return(0);
   }

¿Qué tal ahora?
 

ahora crea un archivo con el nombre del experto que se va a probar

lastparameters.ini

 
Vladislav Andruschenko:

ahora se crea un archivo con el nombre del experto que se está probando

¿Para qué escribes las respuestas? ¿Para darles un toque?


Anteriormente, el archivo optimise.ini contenía

Ÿ optimice el probador de estrategias
TestExpert=AB_e_MACD_v36_Test_P
TestSymbol=EURUSD
TestPeriod=1
Modelo de prueba=2
TestDateEnable=true
TestFromDate=2014.05.29
TestToDate=2014.05.30
TestShutdownTerminal=true

¿Y dónde está esto ahora en el archivo con el nombre del EA probado? ¿En qué bloque?

¿En <común>, <insumos> o en <límites>?

 

lastparameters.ini - archivo de datos de la última operación del probador.

puede iniciar la prueba desde otro terminal sin problemas, cree un archivo ini para iniciar el terminal con parámetros preestablecidos, incluyendo el nombre de EA, la fecha, etc.

https://www.metatrader4.com/ru/trading-platform/help/service/start_conf_file

 
Vladislav Andruschenko:

lastparameters.ini - archivo de datos de la última operación del probador.

puede iniciar la prueba desde otro terminal sin problemas, cree un archivo ini para iniciar el terminal con parámetros preestablecidos, incluyendo el nombre de EA, la fecha, etc.

https://www.metatrader4.com/ru/trading-platform/help/service/start_conf_file

Gracias, Vladislav. Lo investigaré.
 
Leo59:
Gracias, Vladislav. Lo estudiaré.

Utilicé el mismo principio para hacer un programa Exp - Super Tester - que está disponible gratuitamente en Internet.

Existe el mismo principio allí - el programa crea un archivo de inicialización, luego inicia la terminal con este archivo, respectivamente lleva a cabo una prueba, hace un informe y se apaga - comienza la siguiente prueba y así sucesivamente.

Pero eso fue hace mucho tiempo, luego recuerdo que se cambiaron algunos parámetros y estaba rediseñando mi programa.

En tu caso el principio es el mismo sólo que arrancas el probador desde otro terminal.