Skip to content

Latest commit

 

History

History
100 lines (79 loc) · 9.45 KB

README_ru.md

File metadata and controls

100 lines (79 loc) · 9.45 KB

Библиотека Roffild'a

Я известен сообществу программистов на MQL5 под ником Roffild и это моя библиотека с открытым кодом для MQL5. Попытка реализовать возможности на MQL5, которые уже давно стали стандартом для популярных языков программирования. В каждом файле реализована одна идея. Библиотека пополняется по мере необходимости в новых возможностях.

Мало кто пытался выложить проект в Github. Единого стандарта нет. MetaQuotes не учитывают использование системы контроля версий при создании проекта. Почему-то программисты из MetaQuotes считают, что проект должен быть одного типа. Для мелких проектов, которые публикуются в CodeBase на сайте MQL5.com, такое разделение обосновано. Для средних и крупных проектов невозможно выбрать один тип проекта.

Я экспериментировал с разной структурой построения проекта. Для использования Git пришлось вынести файлы за пределы стандартной структуры папок, принятой в MetaQuotes. Создать ссылку на промежуточную папку (в этой библиотеке папка "Roffild") - лучший вариант.

MetaEditor может сохранять код в UTF-16, но кодировка UTF-8 с BOM тоже поддерживается. Для конвертации файла с исходным кодом нужно использовать сторонний редактор (рекомендую Notepad++).

Библиотеку можно разделить на интересы:

  • обычные задачи (ArrayList, Log4MQL, ToIndicator и т.д.);
  • эксперименты с AlgLib в машинном обучении;
  • использование Apache Spark с Amazon Web Services (EC2 и EMR), когда возможностей AlgLib перестало хватать;
  • использование TensorFlow или PyTorch через PythonDLL.

MQL5 является частью торговой платформы MetaTrader 5 (MT5) для Forex, CFD и Futures. До сих пор используется версия MetaTrader 4 (MT4) с MQL4, но после последних обновлений совместима с синтаксисом MQL5. Официально версия MetaTrader 4 (MT4) уже не поддерживается, но для совместимости можно использовать #property strict в начале файла.

Документация

MQL5
Java

Ссылки

Roffild.com
Github
GitLab
BitBucket
MQL5.com: topic for discussion in English
MQL5.com: тема для обсуждения на Русском


Установка

(Необязательно)

mklink /j ссылка куда - не требует прав администратора.

Имеет смысл вынести папку %APPDATA%\MetaQuotes в корень раздела или на раздел большего размера. Windows имеет ограничения на 255 символов пути к файлу. Полный путь к папке MQL5 у меня состоит из 88 символов. При тестировании терминал копирует историю по количеству локальных агентов, что увеличивает размер этой папки на несколько гигабайт.

  1. Переместить папку %APPDATA%\MetaQuotes в D:\MQLProjects
  2. mklink /j "%APPDATA%\MetaQuotes" "D:\MQLProjects"
  3. mklink /j "D:\MQLProjects\MQL5" "D:\MQLProjects\Terminal\D0E8209F77C8CF37AD8BF550E51FF075\MQL5"

(Важно)

Запустить create_links.bat из папки MQL5\MyProjects\RoffildLibrary после клонирования проекта.

Code style

Google Java Style

Tab = 3 spaces

Column limit = 110

License

Apache License 2.0