Управление запуском клиентского терминала с помощью конфигурационного файла

 
В ближайшем билде клиентского терминала предусмотрена возможность использовать конфигурационный файл, имя которого передаётся в качестве параметра:
terminal.exe start.ini

Пример конфигурационного файла
; common settings
Profile=test 3
MarketWatch=set2.set
Login=12345
Password=xxxxxx
Server=MetaQuotes-demo
AutoConfiguration=true
DataServer=

; ftp settings
FTPEnable=false
FTPPassiveMode=false
FTPAccount=12345
FTPLogin=
FTPPassword=
FTPServer=
FTPPath=
FTPPeriod=10

; experts settings
ExpertsEnable=true
ExpertsDllImport=true
ExpertsDllConfirm=true
ExpertsExpImport=true
ExpertsTrades=true
ExpertsTradesConfirm=false

; open chart and run expert and/or script
Symbol=EURUSD
Period=H4
Template=popular.tpl
Expert=MACD Sample
ExpertParameters=macd.set
Script=period_converter
ScriptParameters=

; start strategy tester
TestExpert=Moving Average
TestExpertParameters=ma0.set
TestSymbol=EURUSD
TestPeriod=H1
TestModel=2
TestRecalculate=false
TestOptimization=false
TestDateEnable=true
TestFromDate=1970.01.01
TestToDate=2006.06.06
TestReport=MovingAverageReport
TestReplaceReport=false
TestShutdownTerminal=true



где
Profile - имя поддиректория в директории profiles
MarketWatch набор символов в файле *.set
Password и Server необязательны если информация хранится на диске
ExpertParameters - предварительно сохранённый файл из директория experts\presets
TestExpertParameters - предварительно сохранённый файл из директория tester

Остальные параметры вполне понятны

 
Symbol=EURUSD
Period=H4

а можно будет более одного окна открыть из start.ini?
 
Symbol=EURUSD
Period=H4

а можно будет более одного окна открыть из start.ini?

Нет. Это окно только для запуска специфического эксперта или скрипта. Все остальные окна должны быть определены в профайле

Сегодня вечером будет описание, как пользоваться конфигурационным файлом
 
Клиентский терминал может быть запущен на выполнение с предопределёнными настройками. Для этого в качестве параметра клиентскому терминалу передаётся имя конфигурационного файла.
Примеры:
terminal.exe config\start.ini
terminal.exe test1.txt
terminal.exe "C:\Program Files\MetaTrader 4\config\settings25.ini"

Если не указан полный путь к файлу (Drive:\SubDirectory\FileName), то поиск файла будет осуществляться относительно директория клиентского терминала.

Конфигурационный файл содержит строки следующего вида:
<Параметр>=<Значение>
Комментарии начинаются с символа "точка с запятой" (;) и не обрабатываются.

Параметры конфигурационного файла можно разделить на несколько групп: общие настройки, настройки FTP (вкладка "Публикация" в таблице настроек терминала), настройки экспертов (вкладка "Советники" в таблице настроек терминала), настройки однократного запуска эксперта и/или скрипта, настройки запуска тестера стратегий.


Общие настройки.

Profile - имя поддиректоря в директории profiles. В клиентском терминале будут открыты графики в соответствии с указанным профайлом. Если данный параметр не указан, то будет открыт текущий профайл.

MarketWatch - имя файла из поддиректория symbolsets, в котором содержится список инструментов для отображения в окне обзора рынка. Такой файл может быть получен при помощи команды контекстного меню окна обзора рынка "Набор символов - Сохранить как"

Login - номер счета, к которому нужно подключиться при запуске. Если данный параметр отсутствует, то будет использован текущий логин.

Password - пароль для входа в систему. Этот параметр будет проигнорирован, если клиентский терминал хранит личные данные на диске, и подключаемый номер счета содержится в списке.

Server - имя торгового сервера, к которому должно быть произведено подключение. Имя сервера совпадает с именем соответствующего srv-файла, хранящемся в директории config. Этот параметр будет проигнорирован, если подключаемый номер счета содержится среди данных, сохраненных клиентским терминалом на диске.

AutoConfiguration - "true" или "false" в зависимости от того, должна ли быть включена настройка автоконфигурации. Если данный параметр отсутствует, то будет использовано значение из текущих настроек сервера.

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


Настройки FTP.

FTPEnable - "true" или "false" в зависимости от того, должны ли быть включены публикации в настройках клиентского терминала.

FTPPassiveMode - "true" или "false" в зависимости от того, должен ли быт включен пассивный режим передачи данных.

FTPAccount - номер счета, данные о состоянии которого должны отсылаться на FTP.

FTPLogin - логин для авторизации на FTP-сервере.

FTPPassword - пароль для доступа на FTP-сервер.

FTPPath — имя каталога на FTP-сервере, в который помещается отчет.

FTPPeriod - периодичность отправки отчета на FTP-сервер в минутах.

Если какой-либо из перечисленных параметров отсутствует, то используются текущие настройки клиентского терминала (вкладка "Публикация" в таблице настроек терминала)


Настройки экспертов.

ExpertsEnable - "true" или "false" в зависимости от того, должны ли быть включены эксперты в настройках клиентского терминала.

ExpertsDllImport - "true" или "false" в зависимости от того, должен ли быть разрешен импорт DLL.

ExpertsDllConfirm - "true" или "false" в зависимости от того, должны ли подтверждаться вручную вызовы DLL-функций.

ExpertsExpImport - "true" или "false" в зависимости от того, должен ли быть разрешен импорт функций из внешних экспертов или MQL4-библиотек.

ExpertsTrades - "true" или "false" в зависимости от того, разрешено ли советникам торговать.

ExpertsTradesConfirm - "true" или "false" в зависимости от того, должны ли подтверждаться вручную торговые операции советников.

Если какой-либо из перечисленных параметров отсутствует, то используются текущие настройки клиентского терминала (вкладка "Советники" в таблице настроек терминала)


Настройки однократного запуска эксперта и/или скрипта.

Symbol - название инструмента, график которого должен быть открыт сразу после старта терминала. После закрытия клиентского терминала информация об этом дополнительном графике теряется и при повторном запуске терминала, уже без конфигурационного файла, этот график открыт не будет. Если данный параметр отсутствует, то никакой дополнительный график открыт не будет.

Period - период графика (M1, M5, M15, M30, H1, H4, D1, W1, MN). При отсутствии данного параметра используется H1.

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

Expert - имя эксперта, который должен быть запущен после старта клиентского терминала. Эксперт запускается на графике, который открыт в соответствии с параметрами Symbol и Period. Если параметр Symbol отсутствует, то никакой дополнительный график не открывается, а эксперт запускается на первом графике текущего профайла. Если в текущем профайле не определено ни одного графика, то эксперт не будет запущен даже после ручного открытия первого графика. Если этот параметр отсутствует, то никакой эксперт не будет запущен.

ExpertParameters - имя файла с предустановленными параметрами из поддиректория experts\presets. Такой файл можно создать из свойств эксперта, вкладки "Входные параметры" путем нажатия на кнопку "Сохранить". Обычно используется для хранения параметров, отличающихся от умолчательных. При отсутствии этого параметра используются параметры по умолчанию.

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

ScriptParameters - имя файла с предустановленными параметрами из поддиректория experts\presets. Файл с параметрами для скрипта формируется точно так же, как и для эксперта.


Настройки запуска тестера стратегий.

TestExpert - имя эксперта, который должен быть запущен на тестирование. Если этот параметр отсутствует, то никакое тестирование не запускается.

TestExpertParameters - имя файла с предустановленными параметрами из поддиректория tester. Такой файл можно создать из свойств тестируемого эксперта, вкладки "Входные параметры" путем нажатия на кнопку "Сохранить". Обычно используется для хранения параметров, отличающихся от умолчательных. Другие параметры тестируемого эксперта из вкладок "Тестирование" и "Оптимизация" (а также из вкладки "Входные параметры" в случае отсутствия данного параметра) заполняются значениями, сохраненными автоматически в файле tester\<имя эксперта>.ini после последнего тестирования.

TestSymbol - название инструмента, на данных которого должно производиться тестирование эксперта. В случае отсутствия этого параметра используется последнее использованное в тестере значение.

TestPeriod - период графика (M1, M5, M15, M30, H1, H4, D1, W1, MN). При отсутствии данного параметра используется H1.

TestModel - 0, 1 или 2 в зависимости от модели тестирования (Все тики, Контрольные точки, По ценам открытия). В случае отсутствия этого параметра используется значение 0 (Все тики).

TestRecalculate - "true" или "false" в зависимости от того, должна быть нажата галочка "Пересчитать" или нет. В случае отсутствия этого параметра используется значение "false".

TestOptimization - "true" или "false" в зависимости от того, должна быть нажата галочка "Оптимизация" или нет. В случае отсутствия этого параметра используется значение "false".

TestDateEnable - "true" или "false" в зависимости от того, должна быть нажата галочка "Использовать даты" или нет. В случае отсутствия этого параметра используется значение "false".

TestFromDate - дата начала диапазона тестирования в виде YYYY.MM.DD. В случае отсутствия этого параметра подразумевается 1970.01.01.

TestToDate - дата конца диапазона тестирования в виде YYYY.MM.DD. В случае отсутствия этого параметра подразумевается 1970.01.01.

TestReport - имя файла отчета тестирования. Файл будет создан в директории клиентского терминала. Можно указывать относительный путь, например "tester\MovingAverageReport". В данном случае файл отчета будет создан в поддиректории tester. Если в имени файла отчета не указано расширение, то будет подставлено расширение ".htm". В случае отсутствия данного параметра отчет тестирования формироваться не будет.

TestReplaceReport - "true" или "false" в зависимости от того, нужно ли перезаписывать существующий файл отчета. Если указано значение "false" и файл отчета с таким именем уже существует, то к имени файла отчета будет добавлен порядковый номер в квадратных скобках. Например, "MovingAverageReport[1].htm". В случае отсутствия этого параметра используется значение "false".

TestShutdownTerminal - "true" или "false" в зависимости от того, нужно ли автоматически закрыть клиентский терминал после прогона тестирования. В случае отсутствия этого параметра используется значение "false". Если в процессе тестирования пользователь нажал кнопку "Стоп", то значение этого параметра сбрасывается в "false", так как пользователь принял управление на себя.
 
Можно ли реализовать запуск более одного эксперта/скрипта?

Примерно так:

Symbol=EURUSD
Period=M15
Expert=exp1
Symbol=USDCHF
Period=M15
Expert=exp2
 
Более одного эксперта таким образом нельзя.
Подготовьте профайл с несколькими графиками, к которым прикреплены нужные эксперты. Этот профайл и используйте при запуске.

Более одного скрипта при старте никак нельзя.
 
Спасибо :)
Причина обращения: