Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 599

 
Anatolii Zainchkovskii:

Hilfe, in der Zeichenkette wird ein Fehler angezeigt

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

'ResultSymbols' - nicht deklarierter Bezeichner 296 46

unbekannte Größe


 
Hallo!

Können Sie mir sagen, wie ich einen Tester in einem anderen Terminal mit einem Skript von einem Terminal aus starten kann?

Vor etwa zwei Jahren war es möglich, dies auf diese Weise zu tun:

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

Und was ist jetzt?

 
Leo59:
Hallo!

Können Sie mir sagen, wie ich einen Tester in einem anderen Terminal mit einem Skript von einem Terminal aus starten kann?

Vor etwa zwei Jahren war es möglich, dies auf diese Weise zu tun:


Und was ist jetzt?

Bist du ein Gedankenleser :) ? Ich bereite gerade einen Artikel über den Start von Tests in mehreren Modi gleichzeitig vor. Ich hoffe, Sie fragen nach MetaTrader 5 und Sie haben ein Windows 10 64-Bit-Betriebssystem?
 
Karputov Vladimir:
Bist du ein Gedankenleser :) ? Ich bereite gerade einen Artikel über die gleichzeitige Durchführung von Tests in mehreren Modi vor. Ich hoffe, Sie fragen nach MetaTrader 5 und Sie haben ein Windows 10 64-Bit-Betriebssystem?
Vladimir, leider ist es MetaTrader 4
 

Früher wurde, soweit ich mich erinnere, die Datei optimise.ini automatisch erstellt, wenn der Tester in MetaTrader4 ausgeführt wurde. Jetzt wird diese Datei nicht erstellt.

Können Sie mir bitte sagen, wie ich den Tester in einem anderen Terminal mit einem Skript von einem Terminal aus starten kann?

Vor etwa zwei Jahren konnte ich es auf diese Weise tun:

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

Wie sieht es jetzt aus?
 

erstellt nun eine Datei mit dem Namen des zu prüfenden Experten

lastparameters.ini

 
Vladislav Andruschenko:

wird nun eine Datei mit dem Namen des zu prüfenden Experten erstellt

Wozu schreiben Sie die Antworten? Um ihnen einen Tick zu geben?


Zuvor enthielt die Datei optimise.ini

Optimierungsstrategie-Tester
TestExpert=AB_e_MACD_v36_Test_P
TestSymbol=EURUSD
TestPeriode=1
TestModel=2
TestDateEnable=true
TestFromDate=2014.05.29
TestToDate=2014.05.30
TestShutdownTerminal=true

Und wo steht das jetzt in der Datei mit dem Namen des getesteten EA? In welchem Block?

In <common>, <inputs> oder in <limits> ?

 

lastparameters.ini - Datendatei des letzten Prüfvorgangs.

Sie können den Test problemlos von einem anderen Terminal aus starten, indem Sie eine Ini-Datei zum Starten des Terminals mit voreingestellten Parametern erstellen, einschließlich EA-Name, Datum usw.

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

 
Vladislav Andruschenko:

lastparameters.ini - Datendatei des letzten Prüfvorgangs.

Sie können den Test problemlos von einem anderen Terminal aus starten, indem Sie eine Ini-Datei zum Starten des Terminals mit voreingestellten Parametern erstellen, einschließlich EA-Name, Datum usw.

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

Ich danke dir, Vladislav. Ich werde mich damit befassen.
 
Leo59:
Ich danke dir, Vladislav. Ich werde es studieren.

Nach dem gleichen Prinzip habe ich das Programm Exp - Super Tester - entwickelt, das kostenlos im Internet erhältlich ist.

Dort gilt das gleiche Prinzip - das Programm erstellt eine Initialisierungsdatei, startet dann das Terminal mit dieser Datei, führt jeweils einen Test durch, erstellt einen Bericht und fährt wieder herunter - startet den nächsten Test und so weiter.

Aber das ist schon lange her, und ich erinnere mich, dass einige Parameter geändert wurden und ich mein Programm umgestaltet habe.

In Ihrem Fall ist das Prinzip dasselbe, nur dass Sie das Prüfgerät von einem anderen Terminal aus starten.

Grund der Beschwerde: