English 中文 Español Deutsch 日本語 Português 한국어 Français Italiano Türkçe
preview
Как начать работу с MQL5 Algo Forge

Как начать работу с MQL5 Algo Forge

MetaTrader 5Примеры |
1 014 20
MetaQuotes
MetaQuotes

Новый портал MQL5 Algo Forge является не просто списком ваших проектов, это целая социальная сеть для разработчиков. Теперь на нем можно легко отслеживать изменения, вести историю, находить единомышленников и новые идеи. Здесь вы можете подписываться на интересных авторов, создавать команды и вести совместные проекты по алготрейдингу.  

MQL5 Algo Forge построен на основе Git — современной системы контроля версий. Это значит, что теперь у каждого разработчика под рукой полноценный инструмент для отслеживания истории проекта, создания веток, экспериментов и работы в команде. Но как всё это устроено? В этой статье мы расскажем, как начать работу с MQL5 Algo Forge.


Что такое хранилище в MQL5 Algo Forge

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

MQL5 Storage является встроенным версионным хранилищем в редакторе MetaEditor. Раньше он использовал для своей работы систему управления версиями Subversion 1.7. Эта система являлась централизованной — вся история хранилась на сервере MetaQuotes. Без подключения к интернету ты не мог зафиксировать изменения, откатить версию или увидеть историю. Сегодня его полностью заменил более мощный и гибкий инструмент — MQL5 Algo Forge.

Теперь MQL5 Algo Forge работает иначе:


MQL5 Algo Forge (на Git) MQL5 Storage (предыдущая версия)
Хранение истории Локально и в облаке Только в облаке MetaQuotes
Работа без интернета Полноценная (коммиты, откаты, diff) Ограниченная или невозможна
Скорость операций Мгновенно, локально Зависит от сети и сервера

Algo Forge даёт свободу. Можно спокойно работать в поезде, делать ветки для экспериментов, сохранять промежуточные результаты, а потом объединять их в основную ветку.

Хранилище проекта в Algo Forge — это не просто облачная папка. Это структурированное репозиторное хранилище, которое живёт у тебя на диске, а также синхронизируется с облачным сервером на MQL5 Algo Forge. Оно состоит из нескольких уровней:

Рабочая директория в MetaEditor

Это твои файлы .MQ5, .MQH , .SET и другие, которые ты редактируешь в MetaEditor. Здесь ты пишешь код советника, подключаешь индикаторы, тестируешь стратегии. Пока ты не укажешь явно, система Algo Forge не будет учитывать изменения.                                                                   

Область подготовки (индекс)

Прежде чем отправить изменения в историю проекта, ты должен их подготовить. Командой "Git Add" ты выбираешь файлы, которые будут включены в следующий коммит. Это позволяет добавлять изменения по частям — например, сначала сохранить правки в логике торгового алгоритма, а потом — изменения в интерфейсе или настройках.


Локальное хранилище (репозиторий)


После того как ты сделал коммит (команда Git Commit), Forge сохраняет снимок текущего состояния файлов в локальном хранилище — прямо на твоем компьютере. В любой момент ты можешь посмотреть, что было раньше, вернуться к старой версии или понять, какие изменения повлияли на работу советника.


Удалённое хранилище в  MQL5 Algo Forge


Когда всё готово, ты можешь отправить коммиты на сервер MQL5 Algo Forge (командой Git Push). Это создаёт надёжную резервную копию и делает изменения доступными коллегам по команде. Даже если ты работаешь один, это полезно: твой код всегда можно восстановить из облака, и ты не потеряешь историю разработки.


Как подключиться к MQL5 Algo Forge

Для работы с сайтом MQL5 Algo Forge достаточно иметь MQL5-account, просто введите свои данные на https://forge.mql5.io/ и авторизуйтесь.  


После авторизации вы сможете изучить все его возможности, публичные проекты находятся в разделе Explore. Теперь искать проекты, изучать их код, делиться своим и объединяться в команды стало гораздо проще.



Но основную работу с проектами вы будете вести, конечно же, в среде разработки MetaEditor. Для подключения к MQL5 Algo Forge в редакторе вам достаточно авторизоваться с данными своего MQL5-аккаунта на вкладке Community.



Что такое Git и как он работает в MQL5 Algo Forge

Git — это система, которая запоминает, как выглядели ваши файлы в разные моменты времени. Она помогает не потерять важные изменения, легко откатиться назад, работать в отдельных ветках и объединять работу нескольких разработчиков  в одном проекте.

При этом вы не сталкиваетесь с Git напрямую: в MetaEditor всё происходит через удобное меню. Но "под капотом" используется несколько базовых команд. Давайте разберём, что они делают и что происходит, когда вы нажимаете соответствующие пункты в редакторе MetaEditor.

Создадим новый проект "Base_EA" в папке публичных проектов.


Кликнем на файле проекта правок кнопкой мыши и посмотрим на команды по работе с Git.


1. Git Add File/Folder — подготовка изменений к сохранению

Когда вы отредактировали файлы, Git пока не учитывает их. Чтобы сказать системе: "Вот эти файлы я хочу сохранить в историю", вы добавляете их в индекс. Это делается через пункт "Git Add File/Folder" или просто при выборе файла для коммита.

Git фиксирует текущее состояние файла и готовит его к сохранению — как будто вы сложили нужные документы в папку "На подпись".

2. Git Commit — сохранение состояния проекта

Когда вы нажимаете "Git Commit" в MetaEditor, Git делает снимок состояния проекта на данный момент. Этот снимок попадёт в историю версий.

Что происходит:

  • Git сравнивает новые файлы с предыдущими
  • Сохраняет только отличия (это экономит место)
  • Записывает изменения в специальную скрытую папку .git 
  • Присваивает коммиту уникальный цифровой идентификатор (SHA-1), чтобы можно было его найти 

Коммит — это как контрольная точка: "Вот как выглядел проект в этот момент". В будущем вы можете всегда получить свой проект на этот момент и при необходимости продолжить работу в нем.

3. Git Push — отправка в облако MQL5 Algo Forge

Когда вы нажимаете "Git Push", Git передаёт накопленные коммиты в удалённый репозиторий на сервере MQL5 Algo Forge. 

Это как если бы вы загрузили архив с новой версией проекта в облако — только с точной историей всех изменений.

Для удобства пользователей MetaEditor всегда автоматически выполняет команду "Git Push" при вызове команды "Git Commit". Это гарантирует, что разработчик всегда будет иметь в облаке текущую версию проекта и снизит количество возможных конфликтов. Но если по какой-то причине не удалось отправить изменения на сервер, отдельная команда "Git Push" пригодится.

4. Git Pull — получение свежей версии из облака

Если над проектом работают несколько человек, кто-то может внести изменения и отправить их раньше вас. Или вы закоммитили правки из одного компьютера и теперь хотите продолжить работу с ним с другого компьютера (или даже на том же компьютере, но в другом терминале — так бывает). Чтобы получить эти обновления, используется команда "Git Pull", которая означает "Обновить проект из Forge".

Git скачает новые коммиты и объединит их с вашей локальной версией.

5. Git Branch — создание ответвлений для экспериментов

Иногда вам нужно поэкспериментировать с кодом, не затрагивая основную версию. Для этого создаются ветки. Например, вы хотите создать версию советника с сигналами другого индикатора или с дополнительным фильтром, и так далее. Создаёте ветку с нужным понятным именем и ведете разработку в ней. При этом вы всегда можете легко переключаться между ветками.

Ветка — это параллельная линия разработки. Вы можете делать в ней любые изменения, а потом либо отбросить, либо объединить с основой.


6. Git Difference — посмотреть, что именно изменилось

Эта команда показывает построчно, что было добавлено, удалено или изменено в файле до коммита. Отображается как панель сравнения версий (при коммите или при просмотре истории).


7. Git Log — просмотреть историю изменений проекта

Команда log показывает список всех прошлых коммитов с датой, автором и сообщением. Открывает встроенный журнал изменений — можно открыть и увидеть, кто, когда и что изменил.


8. Git Revert — отменить конкретный коммит

Команда "Git Revert" создаёт новый коммит, который отменяет эффект предыдущего, не стирая его из истории. Это безопасный способ "откатить" изменения, не ломая структуру проекта. Но только в том случае, если это откатывается последний коммит.

Это особенно полезно, если вы заметили, что какой-то коммит сломал работу советника — можно быстро отменить его действие, не затрагивая остальные коммиты. Но если после коммита, который ты хочешь отменить, есть другие коммиты с изменениями в тех же участках кода, то при "Git Revert" возникнет конфликт, который придётся решить вручную.


Безопасная работа с проектами

Одна из основных проблем при работе с версионными системами хранения — это конфликты между локальной и облачной версией. Здесь вам поможет простое правило "гигиены" — сразу после того, как вы открыли проект для продолжения работы в нем, сделайте Pull запрос, чтобы гарантировано получить актуальную версию из облака Algo Forge.

Верно и обратное правило — после завершения правок в проекте всегда выполняйте Commit+Push запрос, чтобы отправить ваши изменения в облако. Это избавить вас от проблем по разрешению конфликтов и позволит вам продолжить свою работу в любой момент из любой точки.


MQL5 Algo Forge — это всё, что нужно для надежной работы с проектами в MetaEditor

Тебе не нужно писать команды вручную. Весь Git встроен в интерфейс MetaEditor:

  • Добавление, коммиты, переключение веток — всё через контекстное меню проекта.
  • Push и Pull — пара кнопок для синхронизации с облаком.
  • Branch и Revert — еще пара команд для управления процессом разработки.
  • История изменений доступна в виде наглядного журнала.

Эти 8 команд — всё, что нужно, чтобы уверенно пользоваться MQL5 Algo Forge. Они позволяют вести разработку спокойно, структурированно и с полной защитой от потерь.



Просто начни пользоваться

MQL5 Algo Forge — это не просто хранилище. Это полноценная система управления проектами для алгоритмических трейдеров. Она позволяет точно отслеживать изменения, экспериментировать без риска, работать в команде и быть уверенным в стабильности кода.

Если раньше ты избегал Git из-за кажущейся сложности — с Forge всё стало гораздо проще. MetaEditor уже интегрирует основные команды, и тебе остаётся только писать код, сохранять шаги и быть готовым к любому откату.


Добро пожаловать в MQL5 Algo Forge!


Полезные ссылки:

Последние комментарии | Перейти к обсуждению на форуме трейдеров (20)
Yuriy Bykov
Yuriy Bykov | 5 сент. 2025 в 12:33
Fernando Carreiro #:

В качестве теста я добавил описание публикации Heikin Ashi в виде файла README в формате Markdown и зафиксировал его в репозитории.

Пожалуйста, проверьте, получили ли вы уведомление об этом изменении и можете ли вы обновить форк.

В веб-интерфейсе хранилища увидел такое:

Обновить форк попробую позже

Yuriy Bykov
Yuriy Bykov | 5 сент. 2025 в 12:49
Fernando Carreiro #:

В качестве теста я добавил описание публикации Heikin Ashi в виде файла README в формате Markdown и зафиксировал его в репозитории.

Пожалуйста, проверьте, получили ли вы уведомление об этом изменении и можете ли вы обновить форк.

В начале в моём локальном клоне форка пока последнего коммита нет:


Подключаем оригинальный репозиторий, согласно документации Git:

Захожу в веб-интерфейс форка и вижу такое:


Нажимаю кнопку "Sync" после чего в MetaEditor делаю Pull:


Как видно, все ваши коммиты благополучно оказались в форке и затем после Pull в клоне форка на моем локальном компьютере.

На этой странице документации предлагаются ещё способы синхронизации с помощью консольных команд, но их я не проверил, так как все коммиты уже синхронизированы.

Потом поэкспериментирую ещё, как будет вести себя команда Commit и Push в MetaEditor для форка. Интересно, будет ли она пытаться отправить правки и в оригинальный репозиторий? 

Fernando Carreiro
Fernando Carreiro | 5 сент. 2025 в 13:00
@Yuriy Bykov #:

Во-первых, мой локальный клон форка еще не имеет последнего коммита:

Подключение оригинального репозитория, согласно документации Git:

Я захожу в веб-интерфейс форка и вижу следующее:

Я нажимаю кнопку "Sync", а затем делаю Pull в MetaEditor:

Как видите, все ваши коммиты благополучно попали в форк, а затем после Pull в клон форка на моем локальном компьютере.

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

Все это хорошо, но вы доказали мою точку зрения, что "клон" и "форк" - это не одно и то же, и метод, который приняла MetaQuotes, требует дополнительного вмешательства за пределами MetaEditor только для того, чтобы иметь возможность синхронизировать проект.

Не говоря уже о том, что для "форков" требуется дополнительное место на серверах AlgoForge, в то время как "клон" не требует ни дополнительного места, ни дополнительных шагов.

Я считаю реализацию MetaQuotes слишком "ущербной" для эффективного использования и буду продолжать использовать внешний Git-клиент или VSCode (который прекрасно работает с AlgoForge без проблем).

Vladislav Boyko
Vladislav Boyko | 5 сент. 2025 в 13:22
Fernando Carreiro #:
Я считаю реализацию MetaQuotes слишком "ущербной" для эффективного использования и буду продолжать использовать внешний Git-клиент или VSCode (который прекрасно работает с AlgoForge без проблем).

Мы рады приветствовать вас в нашем сообществе пользователей внешних Git-клиентов! 😁

Yuriy Bykov
Yuriy Bykov | 5 сент. 2025 в 14:25
Fernando Carreiro #:

Я считаю реализацию MetaQuotes слишком "ущербной" для эффективного использования и буду продолжать использовать внешний Git-клиент или VSCode (который прекрасно работает с AlgoForge без проблем).

К сожалению, пока это действительно так. Тоже пока предпочитаю использовать внешний клиент. Но если сравнивать то, что добавили в MetaEditor за последние 5 месяцев, то это заметный прогресс. Просто до этого там вообще не было инструментов работы с новым хранилищем, а теперь хоть такая урезанная версия есть.

Нейросетевой торговый советник на базе PatchTST Нейросетевой торговый советник на базе PatchTST
Статья представляет революционную архитектуру PatchTST — специально адаптированный трансформер для анализа финансовых временных рядов, который разбивает рыночные данные на патчи из 16 баров для эффективной обработки. Подробно рассматривается полная реализация торгового робота в MQL5 — от математических основ и структур данных до готового Expert Advisor с системами управления рисками и непрерывного обучения.
Методы повторной выборки для оценки прогнозирования и классификации в MQL5 Методы повторной выборки для оценки прогнозирования и классификации в MQL5
В этой статье рассмотрим и реализуем методы оценки качества модели, которые используют один и тот же набор данных как для обучения, так и для проверки.
Анализ почасового движения торговых символов и их спредов в MetaTrader 5 Анализ почасового движения торговых символов и их спредов в MetaTrader 5
Индикатор индекса сезонности ProSpread со скользящим средним, как инструмент технического анализа, который выявляет сезонные закономерности ценового движения, анализирует поведение цены в определенные часы торговли, может работать как с одним инструментом, так и со спредом между двумя активами, а также визуализирует статистическую вероятность направленных движений.
Нейросети в трейдинге: Обучение метапараметров на основе гетерогенности (Окончание) Нейросети в трейдинге: Обучение метапараметров на основе гетерогенности (Окончание)
В статье описана практическая реализация фреймворка HimNet на базе MQL5, который готов к интеграции в автоматическую торговлю. Мы показываем, как метапараметры, адаптированные под гетерогенность, превращают модель в универсальный инструмент, способный справляться с изменчивой волатильностью.