Насколько нужен скриптовый язык программирования сценариев работы тестера/оптимизатора?

 
  • 32% (13)
  • 39% (16)
  • 12% (5)
  • 17% (7)
Всего проголосовало: 41
 
Имеется в виду возможность, написав на простом скриптовом языке план тестирования/оптимизации одного или нескольких экспертов, запустить оптимизатор на выполнение и отправиться по своим делам (или лечь спать), зная, что вся работа будет сделана, а результаты обработаны и сохранены.

 
на МТ4 использовал автооптимизацию раз в неделю (в кодебазе пример автооптимзатора для тех кто не в курсе). для МТ5 однозначно будет создан что то такое же, но если разработчики сами дадут в использование некие механизмы типа Мастеров или в идеале скрипты с небольшим(для начала) набором команд по обслуживанию автооптимизации экспертов, то это будет замечательно.
 
Тема очень интересная, открывающая огромные возможности оптимизации параметров пользовательских программ - для этого достаточно добавить штатные функции в язык MQL5 для управления тестером.

 

что то мне внутренний голос подсказывает, что эта тема будет реализована, ведь разрабы планируют наращивать возможности тестера еще долго.
вот только со сроками предельно неопределенно :)
 

Ещё один момент, косвенно связанный с темой ветки.

Полагаю, что штатный ГА в тестере, для того, что бы перейти к следующей эпохе, должен получить результаты от всех агентов облака. Хотелось бы иметь штатные средства доступа из оптимизируемого эксперта к результатам текущей эпохи (результаты всех агентов, участвующих в оптимизации).

Тогда появится возможность реализовать пользовательские алгоритмы оптимизации вместо штатного - возможно это сделать разработчикам проще, чем переделывать/расширять/дополнять возможности штатного ГА (меня не устраивают ограничения текущей реализации ГА в оптимизаторе).


 
joo:
Тема очень интересная, открывающая огромные возможности оптимизации параметров пользовательских программ - для этого достаточно добавить штатные функции в язык MQL5 для управления тестером.

Да, это был бы существенный шаг вперед.
 
joo:
Тема очень интересная, открывающая огромные возможности оптимизации параметров пользовательских программ - для этого достаточно добавить штатные функции в язык MQL5 для управления тестером.

Одно другое не исключает. Я буду только за, если появится возможность рулить тестером из скриптов на mql5.

C другой стороны - для того чтобы сделать скриптовый язык, у Метаквотов практически всё есть, за основу вполне можно взять язык командной строки терминала, в котором управление тестером уже предусмотрено. Большой недостаток использования такого подхода - необходимость перезапуска терминала при проведении серии тестов. Скрипты запускаемые непосредственно внутри тестера, могли бы предотвратить такую необходимость.  Конечно желательно в скриптовый язык для тестера  добавить несколько несложно реализуемых возможностей, таких как поддержка переменных, и цикл FOR. Но это можно и потом добавить, в конце концов цикл FOR можно заменить копипастом, а переменные - ручным "константным" прописыванием в каждой конкретной строке.

--

Для тех кто не в курсе: Выдержка из документации терминала. Раздел Клиентский терминал / Начало работы / Запуск терминала / Дополнительные параметры / Ключи запуска

............

[Tester]

Настройки тестирования, запускаемого при включении терминала:

  • Expert — имя эксперта, который должен быть запущен на тестирование (оптимизацию). Если этот параметр отсутствует, тестирование не будет запущено.
  • Symbol — название инструмента, который будет использоваться в качестве основного символа тестирования. В случае отсутствия данного параметра будет использован последний выбранный символ в тестере.
  • Period — период графика тестирования (любой период из 21 доступного в терминале). Если данный параметр отсутствует, используется период H1.
  • Login — с помощью данного параметра советнику можно передать значение счета, на котором якобы происходит его тестирование. Необходимость данного параметра закладывается в исходном MQL5-коде советника (при помощи функции AccountInfoInteger).
  • Model — режим генерации тиков (0 — "Все тики", 1 — "OHLC на M1", 2 — "Только цены открытия"). Если данный параметр не указан, будет использован режим генерации всех тиков.
  • Optimization — включение/отключение оптимизации и указание ее вида (0 — оптимизация отключена, 1 — "Медленная (Полный перебор параметров)", 2 — "Быстрая (Генетический алгоритм)", 3 — "Все символы, выбранные в окне 'Обзор рынка'").
  • FromDate — дата начала диапазона тестирования в формате ГГГГ.ММ.ДД. Если этот параметр не указан, будет использована дата, указанная в соответствующем поле тестера стратегий.
  • ToDate — дата конца диапазона тестирования в формате ГГГГ.ММ.ДД. Если этот параметр не указан, будет использована дата, указанная в соответствующем поле тестера стратегий.
  • Report — имя файла, в который будет сохранен отчет о результатах тестирования. Файл будет создан в директории клиентского терминала. Относительно данной директории может быть указан путь сохранения файла, например \reports\tester.htm. Если в имени файла не указано его расширение, автоматически будет использовано расширение ".htm". В случае отсутствия данного параметра отчет тестирования не будет сохранен в виде файла.
  • ReplaceReport — разрешить/запретить перезапись файла отчета (0 — запретить, 1 — разрешить). Если перезапись запрещена и файл отчета с таким же именем уже существует, то к имени файла будет добавлен порядковый номер в квадратных скобках. Например, tester[1].htm. Если данный параметр отсутствует, используется значение "0" (перезапись запрещена).
  • ShutdownTerminal — разрешить/запретить выключение клиентского терминала по завершении тестирования (0 — запретить, 1 — разрешить). Если данный параметр отсутствует, используется значение "0" (выключение запрещено). Если процесс тестирования/оптимизации прерывается пользователем вручную, значение данного параметра автоматически сбрасывается на "0".
  • Deposit — сумма начального депозита для тестирования/оптимизации. Сумма указывается в валюте депозита счета. При отсутствии данного параметра используется сумма, указанная в соответствующем поле тестера стратегий.
  • Leverage — кредитное плечо, которое будет использовано при тестировании/оптимизации. Например, если указать значение 100 для данного параметра, будет использовано плечо 1:100. При отсутствии данного параметра используется плечо, указанное в соответствующем поле тестера стратегий.
  • Для тестирования/оптимизации эксперта используются входные параметры, указанные в файле имя_эксперта.set, расположенном в каталоге папка_терминала/tester/. В таком файле автоматически сохраняется последний указанный набор входных параметров для эксперта.
  • Если такой файл отсутствует, то для тестирования будут использованы параметры по умолчанию, указанные в коде эксперта. Оптимизация же будет невозможна.
  • Чтобы создать или изменить набор параметров, следует выбрать эксперт на вкладке "Настройки" тестера стратегий, а затем указать необходимые входные параметры и диапазон их изменения на соответствующей вкладке.
 
Эх, мне бы дождаться структуры для события Trade и работы функций типа OnChartEvent() в тестере.
 
Yedelkin:
Эх, мне бы дождаться структуры для события Trade и работы функций типа OnChartEvent() в тестере.
Нам бы всем этого дождаться. Но внутренний голос подсказывает что нам не придется уж жить в ту светлую пору.... :)
 
Interesting:
Нам бы всем этого дождаться. Но внутренний голос подсказывает что нам не придется уж жить в ту светлую пору.... :)
Вот я и говорю "мне бы дождаться мелочей", а вы тут про выход в открытый космос голосуете :)