Кластер из терминалов MT4

 

Для тестирования эксперта с большим числом вариантов перебора есть мысль организовать кластер из множества терминалов MT4 для распределённых вычислений. Это увеличит производительность расчёта.

Вопрос «на засыпку» разработчикам – такое сейчас возможно?

Если нет, тогда другой наводящий вопрос. Возможен ли запуск терминала MT4 как процесса с параметрами командной строки (как вариант имени .ini файла, адреса web сервиса и т.д.) так, чтобы терминал при этом: автоматически запустил тестирование нужного эксперта с заданным множеством параметров (валюта, timeframe, даты, модель расчёта, extern значения параметров) и после отработки расчёта сохранил результаты в заданный файл.

Заранее спасибо разработчикам за положительный ответ.

 
chv:

Если нет, тогда другой наводящий вопрос. Возможен ли запуск терминала MT4 как процесса с параметрами командной строки (как вариант имени .ini файла, адреса web сервиса и т.д.) так, чтобы терминал при этом: автоматически запустил тестирование нужного эксперта с заданным множеством параметров (валюта, timeframe, даты, модель расчёта, extern значения параметров) и после отработки расчёта сохранил результаты в заданный файл.


Да, такое возможно. Загляните во встроенный хелп терминала по F1 и посмотрите в раздел:

 
Да.... точно, "help читают только ламеры"... :)
Спасибо, Ренат.

Теперь надо думать, как создавать свой кластер.
 
chv писал (а):
Да.... точно, "help читают только ламеры"... :)
"Если больше ничего не помогает - прочитайте инструкцию"

                                                                    Дж. Мерфи
 
Renat, прошу Вас или других разработчиков уточнить вопрос по абсолютным/относительным путям при запуске терминала как внешнего процесса.
Мне не удаётся запустить его с автоматическим стартом прогона тестера на заданный эксперт с заданными параметрами. Терминал стартует, но тестер не запускается, отсюда вывод - где-то не может найтись либо .ini файл, либо .set файл, указанный внутри него. Я пробовал кидал их в разные каталоги, по-разному задавал путь - результат тот же, только старт терминала, но не тестера. Терминал b200 от 17.11.2006.

Выглядит это так:


Если интересно, код запуска такой (MS C# .NET 2.0):
        private void btnStart_Click(object sender, EventArgs e)
        {
            //MessageBox.Show("start");
            try
            {
                string filename, arguments;
 
                filename = cbTerminalFile.Text;
                arguments = cbTesterIni.Text;
 
                //Process.Start(@"D:Program FilesFIBO Group	erminal.exe", @"D:Program FilesFIBO Group	esterchv_test_run.ini"); //(filename, arguments);
                Process.Start(filename, arguments);
                MessageBox.Show(
                    string.Format("Процесс терминала стартовал как:nn{0}", filename), "Старт", 
                    MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (Exception ex)
            {
                ErrorLog.ShowError(ex, this);
            }
        }
 
        private void btnSetTerminal_Click(object sender, EventArgs e)
        {
            // folderBrowserDialog1 openFileDialog1.ShowDialog();
            DialogResult ret = openFileDialog1.ShowDialog();
            if (ret == DialogResult.OK)
            {
                string path = openFileDialog1.FileName;
                DirectoryInfo df = Directory.GetParent(path);
                string filename, arguments;
 
                filename = path; // df.FullName; //path + @"	erminal.exe";
                arguments = df.FullName + @"testerchv_test_run.ini";
 
                cbTerminalFile.Text = filename;
                cbTesterIni.Text = arguments;
 
                btnStart.Focus();
            }
        }
 
Есть, всё пошло. Файл chv_test_run.ini с настройками бросил в корень терминала и передал его коротким путём. Заработало.

А визуализацию в запуске тестера стратегий отключить параметром можно?
 
Ладно, визуализацию можно выключить прошлым сеансом, это запоминается.

Другое.
Я заметил такую вещь. Запускаешь советника в тестере, например, на EURUSD на H1 периоде. Если в текущем терминале не открыто графиков этой пары (EURUSD), с которой идёт тестирование, то прогон тестера идёт жутко медленно, месяц невозможно дождаться. Но стоит только перед запуском тестера открыть графики нужной пары, причём, как я пробовал, желательно нескольких таймфреймов, которые используются в советнике, как прогон тестера идёт кардинально быстрее.
Странная особенность, не критичная, поскольку известен путь обхода тормозов тестера этим способом, но всё же... неприятная мелочь.
[Удален]  
Не знаю, забросили или уже реализовали ли вы свою идею о кластере. Если нет, то тут код, как можно организовать работу кластера, используя remoting, не ограничиваясь одной рабочей станцией: http://www.cs.odu.edu/~fmccown/research/remoting_taskbag// . В зависимости от цели и используя другие технологии можно наверняка сделать что-то получше. Но рабочий код мне всегда нравился....

Предверяя вопрос неискушенных "На кой надо?" - для паралельной оптимизации вне метатрейдера, используя свои алгоритмы оптимизации.