Questions des débutants MQL5 MT5 MetaTrader 5 - page 599

 
Anatolii Zainchkovskii:

Aide, une erreur s'affiche dans la chaîne de caractères

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

ResultSymbols' - identificateur non déclaré 296 46

variable inconnue


 
Bonjour !

Pouvez-vous me dire comment démarrer un testeur dans un autre terminal en utilisant un script d'un terminal ?

Il y a environ deux ans, il était possible de le faire de cette manière :

// 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);
   }

Et maintenant ?

 
Leo59:
Bonjour !

Pouvez-vous me dire comment démarrer un testeur dans un autre terminal en utilisant un script d'un terminal ?

Il y a environ deux ans, il était possible de le faire de cette manière :


Et maintenant ?

Vous lisez dans les pensées :) ? Je suis en train de préparer un article sur le lancement de tests dans plusieurs modes à la fois. J'espère que vous posez des questions sur MetaTrader 5 et que vous avez un système d'exploitation Windows 10 64 bit ?
 
Karputov Vladimir:
Vous lisez dans les pensées :) ? Je suis en train de préparer un article sur l'exécution de tests dans plusieurs modes à la fois. J'espère que vous posez des questions sur MetaTrader 5 et que vous avez un système d'exploitation Windows 10 64 bit ?
Vladimir, malheureusement, c'est MetaTrader 4.
 

Auparavant, pour autant que je m'en souvienne, le fichier optimise.ini était automatiquement créé lors de l'exécution du testeur dans MetaTrader4. Maintenant ce fichier n'est pas créé.

Pouvez-vous me dire comment démarrer le testeur dans un autre terminal en utilisant un script à partir d'un terminal ?

Il y a environ deux ans, je pouvais le faire de cette façon :

// 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);
   }

Et maintenant ?
 

crée maintenant un fichier avec le nom de l'expert à tester

derniersparamètres.ini

 
Vladislav Andruschenko:

un fichier est maintenant créé avec le nom de l'expert testé.

Pourquoi écrivez-vous les réponses ? Pour leur donner un coup de pouce ?


Auparavant, le fichier optimise.ini contenait

;optimiser tester la stratégie
TestExpert=AB_e_MACD_v36_Test_P
Symbole du test=EURUSD
Période d'essai = 1
TestModel=2
TestDateEnable=true
TestFromDate=2014.05.29
TestToDate=2014.05.30
TestShutdownTerminal=true

Et où se trouve-t-il maintenant dans le fichier portant le nom de l'EA testé ? Dans quel bloc ?

Dans <common>, <inputs> ou dans <limits> ?

 

lastparameters.ini - fichier de données de la dernière opération du testeur.

vous pouvez lancer le test à partir d'un autre terminal sans aucun problème, créez un fichier ini pour lancer le terminal avec des paramètres prédéfinis, notamment le nom de l'EA, la date, etc.

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

 
Vladislav Andruschenko:

lastparameters.ini - fichier de données de la dernière opération du testeur.

vous pouvez lancer le test à partir d'un autre terminal sans aucun problème, créez un fichier ini pour lancer le terminal avec des paramètres prédéfinis, notamment le nom de l'EA, la date, etc.

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

Merci, Vladislav. Je vais m'en occuper.
 
Leo59:
Merci, Vladislav. Je vais l'étudier.

J'ai utilisé le même principe pour réaliser un programme Exp - Super Tester - qui est disponible gratuitement sur Internet.

On y retrouve le même principe - le programme crée un fichier d'initialisation, puis démarre le terminal avec ce fichier, effectue respectivement un test, fait un rapport et s'arrête - démarre le test suivant et ainsi de suite.

Mais c'était il y a longtemps, puis je me souviens que certains paramètres ont été modifiés et que j'ai dû revoir mon programme.

Dans votre cas, le principe est le même, mais vous démarrez le testeur à partir d'une autre borne.

Raison: