Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 599

 
Anatolii Zainchkovskii:

Aiuto, un errore sta spuntando nella stringa

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

'ResultSymbols' - identificatore non dichiarato 296 46

variabile sconosciuta


 
Ciao!

Potete dirmi come avviare un tester in un altro terminale usando uno script da un terminale?

Circa due anni fa era possibile farlo in questo modo:

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

E adesso?

 
Leo59:
Ciao!

Potete dirmi come avviare un tester in un altro terminale usando uno script da un terminale?

Circa due anni fa era possibile farlo in questo modo:


E adesso?

Sei un lettore della mente :) ? Sto preparando un articolo sul lancio di test in diverse modalità contemporaneamente. Spero che tu stia chiedendo di MetaTrader 5 e che tu abbia un sistema operativo Windows 10 64 bit?
 
Karputov Vladimir:
Sei un lettore della mente :) ? Sto preparando un articolo sull'esecuzione di test in diverse modalità contemporaneamente. Spero che tu stia chiedendo di MetaTrader 5 e che tu abbia un sistema operativo Windows 10 64 bit?
Vladimir, purtroppo è MetaTrader 4
 

In precedenza, per quanto ricordo, il file optimise.ini veniva creato automaticamente quando si eseguiva il tester in MetaTrader4. Ora questo file non viene creato.

Potete dirmi come avviare il tester in un altro terminale usando uno script da un terminale?

Circa due anni fa potevo farlo in questo modo:

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

E adesso?
 

ora crea un file con il nome dell'esperto da testare

lastparameters.ini

 
Vladislav Andruschenko:

viene ora creato un file con il nome dell'esperto da testare

Per cosa scrivi le risposte? Per dare loro una spunta?


In precedenza, il file optimise.ini conteneva

ottimizzare la strategia del tester
TestExpert=AB_e_MACD_v36_Test_P
TestSymbol=EURUSD
TestPeriod=1
TestModel=2
TestDateEnable=true
TestFromDate=2014.05.29
TestToDate=2014.05.30
TestShutdownTerminal=true

E dove si trova ora questo nel file con il nome dell'EA testato? In quale blocco?

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

 

lastparameters.ini - file di dati dell'ultima operazione del tester.

è possibile avviare il test da un altro terminale senza problemi, creare un file ini per avviare il terminale con parametri preimpostati, tra cui nome EA, data e così via.

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

 
Vladislav Andruschenko:

lastparameters.ini - file di dati dell'ultima operazione del tester.

è possibile avviare il test da un altro terminale senza problemi, creare un file ini per avviare il terminale con parametri preimpostati, tra cui nome EA, data e così via.

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

Grazie, Vladislav. Mi occuperò della questione.
 
Leo59:
Grazie, Vladislav. Lo studierò.

Ho usato lo stesso principio per fare un programma Exp - Super Tester - che è disponibile gratuitamente su Internet.

C'è lo stesso principio lì - il programma crea un file di inizializzazione, poi avvia il terminale con questo file, rispettivamente conduce un test, fa un rapporto e si spegne - inizia il prossimo test e così via.

Ma è stato molto tempo fa, poi mi ricordo che alcuni parametri sono stati cambiati e stavo riprogettando il mio programma.

Nel tuo caso il principio è lo stesso, solo che avvii il tester da un altro terminale.