Есть один нюанс, о котором автор не упомянул.
Если запустить на выполнение скрипт из конфига (не тестирование или оптимизацию на исторических данных, а именно скрипт на текущих данных!), то после окончания выполнения скрипта терминал продолжает работать.
Если вставить в конце скрипта строки
if(MQLInfoInteger(MQL_STARTED_FROM_CONFIG)) TerminalClose(some_return_code);
то клиентский терминал после выполнения скрипта будет остановлен.
Более того, код возврата сможет быть обработан в bat-файле запуска терминала.
Есть один нюанс, о котором автор не упомянул.
Если запустить на выполнение скрипт из конфига (не тестирование или оптимизацию на исторических данных, а именно скрипт на текущих данных!), то после окончания выполнения скрипта терминал продолжает работать.
Если вставить в конце скрипта строки
то клиентский терминал после выполнения скрипта будет остановлен.
Более того, код возврата сможет быть обработан в bat-файле запуска терминала.
Есть один нюанс, о котором автор не упомянул.
Если запустить на выполнение скрипт из конфига (не тестирование или оптимизацию на исторических данных, а именно скрипт на текущих данных!), то после окончания выполнения скрипта терминал продолжает работать.
Если вставить в конце скрипта строки
то клиентский терминал после выполнения скрипта будет остановлен.
Более того, код возврата сможет быть обработан в bat-файле запуска терминала.
Обновил и дополнил статью в разделе Программная обработка запуска из конфигурационного файла.
Спасибо, Слава.
- 2025.11.14
- www.mql5.com
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Опубликована статья Автоматизация запуска терминала для выполнения сервисных задач:
В статье рассмотрим возможность запуска терминала с конфигурационным файлом для выполнения автоматизированных рутинных задач, программную обработку такого запуска, и создадим полноценную систему автооптимизации советника средствами ОС Windows.
Представим такую ситуацию: у нас постоянно запущен простой торгующий эксперт и хотелось бы его время от времени переоптимизировать на ближайшей проторгованной истории. Значит, мы должны периодически, например, раз в неделю или месяц, запускать оптимизацию его параметров и смотреть по результатам новые оптимальные настройки его параметров. Можно автоматизировать этот процесс так, чтобы клиентский терминал сам запускался, например, в выходные в указанное время, запускал в оптимизаторе наш эксперт и по результатам создавал xml-файл, из которого мы можем выбрать нужные оптимальные значения параметров. По окончании оптимизации и создания файла отчёта терминал закроется сам, и нам останется только запустить файл отчёта из папки расположения данных терминала для его анализа.
Кроме того, если советник при его запуске из конфигурационного файла в тестере должен делать что-то дополнительное, но при этом не делать этих же действий в боевом режиме, то мы можем, анализируя флаг MQL_STARTED_FROM_CONFIG, сделать ветвление в программе для обработки такого запуска. Это может быть, например, анализ последней истории торговли, снятие скриншотов экрана со сделками, и тому подобное. Всё это мы легко можем сделать, используя новые возможности клиентского терминала.
Автор: Artyom Trishkin