Обсуждение статьи "Автоматизация запуска терминала для выполнения сервисных задач"

 

Опубликована статья Автоматизация запуска терминала для выполнения сервисных задач:

В статье рассмотрим возможность запуска терминала с конфигурационным файлом для выполнения автоматизированных рутинных задач, программную обработку такого запуска, и создадим полноценную систему автооптимизации советника средствами ОС Windows.

Представим такую ситуацию: у нас постоянно запущен простой торгующий эксперт и хотелось бы его время от времени переоптимизировать на ближайшей проторгованной истории. Значит, мы должны периодически, например, раз в неделю или месяц, запускать оптимизацию его параметров и смотреть по результатам новые оптимальные настройки его параметров. Можно автоматизировать этот процесс так, чтобы клиентский терминал сам запускался, например, в выходные в указанное время, запускал в оптимизаторе наш эксперт и по результатам создавал xml-файл, из которого мы можем выбрать нужные оптимальные значения параметров. По окончании оптимизации и создания файла отчёта терминал закроется сам, и нам останется только запустить файл отчёта из папки расположения данных терминала для его анализа.

Кроме того, если советник при его запуске из конфигурационного файла в тестере должен делать что-то дополнительное, но при этом не делать этих же действий в боевом режиме, то мы можем, анализируя флаг MQL_STARTED_FROM_CONFIG, сделать ветвление в программе для обработки такого запуска. Это может быть, например, анализ последней истории торговли, снятие скриншотов экрана со сделками, и тому подобное. Всё это мы легко можем сделать, используя новые возможности клиентского терминала.

Автор: Artyom Trishkin

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

Есть один нюанс, о котором автор не упомянул.

Если запустить на выполнение скрипт из конфига (не тестирование или оптимизацию на исторических данных, а именно скрипт на текущих данных!), то после окончания выполнения скрипта терминал продолжает работать.

Если вставить в конце скрипта строки

   if(MQLInfoInteger(MQL_STARTED_FROM_CONFIG))
      TerminalClose(some_return_code);

то клиентский терминал после выполнения скрипта будет остановлен.

Более того, код возврата сможет быть обработан в bat-файле запуска терминала.

 
Slava #:

Есть один нюанс, о котором автор не упомянул.

Если запустить на выполнение скрипт из конфига (не тестирование или оптимизацию на исторических данных, а именно скрипт на текущих данных!), то после окончания выполнения скрипта терминал продолжает работать.

Если вставить в конце скрипта строки

то клиентский терминал после выполнения скрипта будет остановлен.

Более того, код возврата сможет быть обработан в bat-файле запуска терминала.

Спасибо, Слава, упустил... 
 
Slava #:

Есть один нюанс, о котором автор не упомянул.

Если запустить на выполнение скрипт из конфига (не тестирование или оптимизацию на исторических данных, а именно скрипт на текущих данных!), то после окончания выполнения скрипта терминал продолжает работать.

Если вставить в конце скрипта строки

то клиентский терминал после выполнения скрипта будет остановлен.

Более того, код возврата сможет быть обработан в bat-файле запуска терминала.

Обновил и дополнил статью в разделе Программная обработка запуска из конфигурационного файла.

Спасибо, Слава.

Автоматизация запуска терминала для выполнения сервисных задач
Автоматизация запуска терминала для выполнения сервисных задач
  • 2025.11.14
  • www.mql5.com
В статье рассмотрим возможность запуска терминала с конфигурационным файлом для выполнения автоматизированных рутинных задач, программную обработку такого запуска, и создадим полноценную систему автооптимизации советника средствами ОС Windows.