Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях.
Мало кто пытался выложить проект в Github. Единого стандарта нет. MetaQuotes не учитывают использование системы контроля версий при создании проекта. Почему-то программисты из MetaQuotes считают, что проект должен быть одного типа. Для мелких проектов, которые публикуются в CodeBase на сайте MQL5.com, такое разделение обосновано. Для средних и крупных проектов невозможно выбрать один тип проекта.
Я экспериментировал с разной структурой построения проекта. Для использования Git пришлось вынести файлы за пределы стандартной структуры папок, принятой в MetaQuotes. Создать ссылку на промежуточную папку (в этой библиотеке папка “Roffild”) - лучший вариант.
MetaEditor может сохранять код в UTF-16, но кодировка UTF-8 с BOM тоже поддерживается. Для конвертации файла с исходным кодом нужно использовать сторонний редактор (рекомендую Notepad++).
Библиотеку можно разделить на интересы:
MQL5 является частью торговой платформы MetaTrader 5 (MT5) для Forex, CFD и Futures. До сих пор используется версия MetaTrader 4 (MT4) с MQL4, но после последних обновлений совместима с синтаксисом MQL5. Официально версия MetaTrader 4 (MT4) уже не поддерживается, но для совместимости можно использовать #property strict
в начале файла.
Roffild.com
Github
GitLab
BitBucket
MQL5.com: topic for discussion in English
MQL5.com: тема для обсуждения на Русском
(Необязательно)
mklink /j ссылка куда
- не требует прав администратора.
Имеет смысл вынести папку %APPDATA%\MetaQuotes
в корень раздела или на раздел большего размера.
Windows имеет ограничения на 255 символов пути к файлу. Полный путь к папке MQL5 у меня состоит из 88 символов.
При тестировании терминал копирует историю по количеству локальных агентов, что увеличивает размер этой папки на несколько гигабайт.
%APPDATA%\MetaQuotes
в D:\MQLProjects
mklink /j "%APPDATA%\MetaQuotes" "D:\MQLProjects"
mklink /j "D:\MQLProjects\MQL5" "D:\MQLProjects\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5"
(Важно)
Запустить create_links.bat
из папки MQL5\MyProjects\RoffildLibrary
после клонирования проекта.
Tab = 3 spaces
Column limit = 110