Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 599

 
Anatolii Zainchkovskii:

помогите, выскакивает ошибка в строке 

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

'ResultSymbols' - undeclared identifier 296 46

неизвестная переменная 


 
Здравствуйте!

Подскажите пожалуйста, как скриптом из одного терминала запустить тестер в другом терминале ?

Года два тому назад это можно было делать так:

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

А как теперь ?

 
Leo59:
Здравствуйте!

Подскажите пожалуйста, как скриптом из одного терминала запустить тестер в другом терминале ?

Года два тому назад это можно было делать так:


А как теперь ?

Вы мысли, что ли читаете :) ? Как раз готовится статья о запуске тестирования сразу в нескольких режимах. Надеюсь, Вы спрашиваете об MetaTrader 5 и у Вас операционная система Windows 10 64 бита?
 
Karputov Vladimir:
Вы мысли, что ли читаете :) ? Как раз готовится статья о запуске тестирования сразу в нескольких режимах. Надеюсь, Вы спрашиваете об MetaTrader 5 и у Вас операционная система Windows 10 64 бита?
Владимир, к сожалению, это MetaTrader 4
 

Раньше, насколько я помню, при запуске тестера в MetaTrader4 автоматически создавался файл с настройками тестирования  optimise.ini. Теперь такой файл не создаётся.

Подскажите пожалуйста, как скриптом из одного терминала запустить тестер в другом терминале ?

Года два тому назад это можно было делать так:

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

А как теперь ?
 

сейчас создается файл с именем тестируемого эксперта

lastparameters.ini 

 
Vladislav Andruschenko:

сейчас создается файл с именем тестируемого эксперта

Вы для чего ответы пишите? Чтобы голочку поставили?


Раньше файл optimise.ini содержал:

;optimise strategy 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

И где это в сейчас в файле с именем тестируемого эксперта? В каком блоке?

В <common>, <inputs> или в <limits> ?

 

lastparameters.ini - файл данных последней работы тестера.

запустить тест с другого терминала можно без проблем, создать файл ini  для запуска терминала с предустановленными параметрами, в том числе имя эксперта, дата и так далее. 

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

 
Vladislav Andruschenko:

lastparameters.ini - файл данных последней работы тестера.

запустить тест с другого терминала можно без проблем, создать файл ini  для запуска терминала с предустановленными параметрами, в том числе имя эксперта, дата и так далее. 

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

Спасибо, Владислав. Буду изучать.
 
Leo59:
Спасибо, Владислав. Буду изучать.

я по такому принципу делал программу Exp - Super Tester - она бесплатно валяется в сети. 

там такой же принцип - программа создает файл инициализации, потом запускает терминал с этим файлом, соответственно проводит тест делает отчет и выключается - запускается следующий тест и так далее.

Но это было давно,  потом помню поменяли какие то параметры я переделывал свою программу. 

В Вашем случае тот же принцип только ВЫ запускаете тестер из другого терминала.  

Причина обращения: