В MetaEditor появились полноценные проекты. Разрабатывать программы стало значительно удобнее.
Теперь в качестве проекта не выступает основной MQ5 файл
программы. Проект — это отдельный файл "MQPROJ", в котором хранятся
настройки программы, параметры компиляции и информация обо всех
используемых файлах. Доступ к основным настройкам проекта организован
через отдельное диалоговое окно, больше нет необходимости указывать их в
исходном коде через #property.
Для удобной работы с проектом предусмотрена отдельная вкладка в
Навигаторе. В ней по категориям отображаются все используемые файлы:
включаемые, ресурсные, заголовочные и т.д. При этом файлы добавляются в
навигатор проекта автоматически. Например, если вы включите новый
MQH-файл в код, он будет автоматически показан в разделе "Dependencies"
навигатора.
Мы сразу же предусмотрели возможность работы с новыми проектами в
онлайн хранилище MQL5 Storage. Теперь намного удобнее заниматься
разработкой больших проектов вместе с другими участникам сообщества
MQL5.community.
Для работы с групповыми проектами добавлен новый раздел Shared
Projects. Проект, созданный в этом разделе, сразу же отправляется в
хранилище: вы можете быстро раздать права на него другим участникам и
приступить к совместной разработке.
При компиляции проекта в Shared Project исполняемый файл EX5
автоматически копируется в локальный каталог Experts, Indicators или
Scripts, в зависимости от типа программы. Вы можете сразу запустить
программу на графике, не копируя файлы каждый раз вручную.
Изменения в работе с хранилищем MQL5 Storage
Для реализации полноценной работы с групповыми проектами был
полностью переделан протокол взаимодействия с хранилищем MQL5 Storage. К
сожалению, после обновления на новую версию платформы вам потребуется
заново извлечь все данные из хранилища. Сами данные, которые в нем
хранятся, не будут затронуты и не потеряются.
Перед обновлением на новую версию платформы мы рекомендуем отправить все локальные изменения в хранилище (выполнить Commit).
Команда "Извлечь данные из хранилища" (Checkout from Storage)
теперь недоступна. Для извлечения данных используются команды
"Активировать MQL5 Storage" и "Получить файлы из хранилища":
- Если в текущей копии MetaEditor вы еще не пользовались
хранилищем, нажмите "Активировать MQL5 Storage" в контекстном меню окна
"Навигатор". Все имеющиеся в вашем хранилище каталоги и файлы будут
перенесены на локальный компьютер.
- Если вы уже работаете с хранилищем, то для извлечения данных
нажмите "Получить файлы из хранилища" в контекстном меню конкретного
проекта или корневого элемента MQL5 в окне "Навигатор".
Новые проекты: пример создания и подробности работы
В MetaEditor появилась новая сущность — собственно проект. Это
файл с расширением mqproj, в котором хранятся общие свойства программы, а
также информация обо всех используемых файлах. Теперь свойствами
программы можно удобно управлять в отдельном диалоговом окне MetaEditor,
а не изменять их вручную в исходном коде (директивы #property).
Если у вас уже есть разработки, то самый простой способ
попробовать новые проекты — воспользоваться командой "Новый проект из
исходного файла".
В том же каталоге, что и выбранный исходный файл, будет создан
одноименный файл проекта с расширением mqproj. В проект автоматически
добавятся основные свойства программы, указанные в виде #property в
исходном файле: имя, копирайт, версия, ссылка на разработчика и
описание.
Свойства программы в файле проекта имеют
приоритет над свойствами, указанными в исходном коде. Если вы укажете
свойства и в проекте, и в исходном коде, будут использоваться свойства
из проекта.
В свойствах проектов появились две новые опции для компиляции MQL5-программ:
- Включить дополнительную оптимизацию — приложения с отключенной оптимизацией компилируются быстрее, но работают медленнее.
- Проверять вещественные делители — приложения с отключенной
проверкой работают несколько быстрее, поскольку ошибки деления на ноль
не проверяются при исполнении кода.
Для работы с проектом предназначена отдельная вкладка "Проект" в
окне "Навигатор". В ней удобно показываются все файлы, используемые в
проекте. При генерации проекта из исходного файла в раздел
"Dependencies" автоматически добавляются все используемые включаемые
файлы (указанные при помощи директивы #include в основном MQ5-файле и во
всех включенных в него файлах).
При добавлении новых включаемых файлов в исходный код, они также
будут появляться в Навигаторе проекта. В раздел Headers будут
добавляться используемые заголовочные файлы, а в раздел Resources —
изображения, звуки и другие MQL5-программы, включенные в проект в виде
ресурсов. В разделе Sources показываются MQ5-файлы с исходным кодом. В
раздел Settings and files можно добавлять другие файлы, например,
настройки для тестирования или шаблоны для графиков.
Для добавления существующих файлов в проект и удаления из него
файлов воспользуйтесь командами контекстного меню. Будьте внимательны
при удалении: вы можете убрать файл из проекта (убрать привязку) или
полностью удалить его с жесткого диска:
Новый проект создать также легко, как и обычную MQL5-программу.
Нажмите "Новый проект", а затем в Мастере MQL5 выберите тип
создаваемой программы и укажите ее свойства (имя, обработчики событий и
т.п.).
Для получения исполняемого файла EX5 вы можете открыть проект и
выполнить команду компиляции (F7) или же, как раньше, открыть основной
MQ5-файл программы и скомпилировать его.
Групповые проекты в MQL5 Storage: подробности работы
Для работы с групповыми проектами предусмотрен раздел Shared
Projects. Если у вас еще не подключено хранилище, выполните в
контекстном меню этой папки команду Activate MQL5 Storage. MetaEditor
сразу же проверит, есть ли в вашем хранилище сохраненные данные, а также
доступны ли вам какие-либо групповые проекты. Имеющиеся данные будут
сразу же извлечены из хранилища и загружены на компьютер (Checkout).
Доступные групповые проекты будут показаны в разделе Shared Projects;
чтобы получить их, нажмите "Извлечь файлы из хранилища" в контекстном
меню.
Для создания нового группового проекта выберите папку Shared Projects и нажмите "Новый проект":
Далее пройдите стандартные шаги Мастера MQL5: задайте тип, имя и
свойства будущей программы. Выбирайте для групповых проектов четкие и
понятные имена, чтобы другие участники легко их различали. В имени
допускаются только латинские буквы и цифры, пробелы не допускаются.
Сразу после создания проект будет автоматически добавлен в хранилище MQL5 Storage. Используемые файлы стандартной библиотеки в хранилище не добавляются, при необходимости вы можете добавить их вручную.
Чтобы разрешить другим участникам работать с проектом, откройте
его свойства: здесь можно назначить права конкретным пользователям
(указать логин MQL5.community), а также задать общие параметры групповой
работы:
- Приватный проект
- К проекту может присоединиться любой
- Участие в проекте по запросу
Для удобства работы при компиляции группового проекта конечный
исполняемый файл (EX5) автоматически копируется в папку Experts,
Indicators или Scripts в зависимости от типа программы. Таким образом,
вы сразу можете запустить программу в терминале без ее ручного
копирования в нужный каталог.
Публичные проекты в MQL5 Storage: участие в разработках
Как уже упоминалось выше, у каждого группового проекта в MQL5
Storage есть настройки публичности: проект может быть приватным или же
открытым для участия других пользователей. Теперь все проекты, к которым
можно свободно присоединиться, отображаются в отдельной вкладке
"Публичные проекты".
Каждый может найти интересный проект и принять участие в его
разработке. Достаточно нажать "Присоединиться", а затем получить проект
из хранилища.
Каждый присоединившийся пользователь получает права только на
просмотр проекта. Для получения прав на отправку собственных изменений в
хранилище обратитесь к автору проекта. Чтобы узнать его логин,
откройте свойства проекта через контекстное меню.