Как мы построили самую мощную торговую платформу с Machine Learning: хроника развития MQL и MetaTrader по архивам, форумам и релизам
От первых советников до агентного AI Assistant, MCP и OpenBLAS: как развивалась MQL-экосистема.
История MQL как путь от простого языка торговых стратегий к полноценной среде разработки и анализа с MetaEditor, MQL5, Python, ONNX, агентным AI Assistant, MCP (Model Context Protocol), OpenBLAS и Git-инфраструктурой Algo Forge.

От языка советников к среде разработки
Сегодня MetaEditor уже трудно воспринимать просто как редактор кода. В нём есть справка, компилятор, отладка, профилирование, проекты, интеграция с MQL5.COM, централизованное хранилище исходных кодов, интеграция с Python, поддержка ONNX, AI Assistant, работа с базами данных sqlite, работа с csv-файлами как с редактируемыми таблицами. Но эта логика появилась не внезапно.
С первых поколений платформ MetaQuotes двигалась в одну сторону: дать трейдеру не только график и кнопку сделки, а возможность описать торговую идею программой, проверить её на истории и запустить в работу без участия человека. История MQL — это история того, как простой язык для советников постепенно вырос в полноценную инженерную среду.
Интернет сохранил не всё. Часть старых страниц исчезла, часть осталась только в Internet Archive Wayback Machine, часть живёт в форумных архивах и старых новостях. Но сохранилось достаточно, чтобы увидеть главную линию развития:
Fx Charts → MetaQuotes → MetaTrader → MetaTrader 4 → MetaTrader 5
Это важная оговорка. В архивах можно встретить разные номера сборок, внутренние обозначения и названия старых форумных тем, но публичную историю платформ лучше читать именно как последовательность продуктов и идей, а не как механическую цепочку номеров. В центре этой истории не номер версии, а постепенное превращение торгового терминала в рабочее место разработчика.
Советники появились раньше языка
Первое упоминание сайта MetaQuotes в веб-архиве относится к февралю 2001 года. Компания MetaQuotes Software Corp была официально зарегистрирована 27 ноября 2000 года, но обсуждения будущей платформы и автоматизации торговли начались ещё раньше. В архиве сохранилась форумная запись от 23 ноября 2000 года — за четыре дня до регистрации компании.

Самое интересное в этой ранней находке — не внешний вид сайта и не технические детали. Важно другое: языка MQL ещё не было, а идея Expert Advisors уже была. Уже на самом старте речь шла не просто о графиках и котировках, а о программировании торговых систем.
Это задаёт тон всей дальнейшей истории. MetaQuotes с самого начала смотрела на терминал не как на пассивное окно для наблюдения за рынком, а как на среду, где пользователь может формализовать стратегию и передать её машине.
MetaQuotes и первый MQL
Первое заметное публичное упоминание MQL относится к ноябрю 2001 года. Тогда была выпущена версия MetaQuotes 1.78, в которой появилась возможность создавать собственные торговые стратегии — Expert Advisors — с использованием внутреннего языка MetaQuotes Language.
В новости того времени была сформулирована вся будущая программа развития: советники должны были писать торговую логику, тестироваться на исторических данных, автоматически совершать операции на счёте и контролировать открытые позиции без вмешательства человека.
По сегодняшним меркам первый MQL выглядел предельно скромно. Его описание помещалось на одной небольшой HTML‑странице. В языке не было циклов, массивов и привычной структуры полноценной программы. Для расчётов использовался небольшой набор предопределённых вещественных переменных.
Но оценивать этот этап только по синтаксису было бы ошибкой. Главный прорыв заключался не в богатстве языка, а в глубине интеграции. Программа Expert Advisor работала прямо внутри бесплатного клиентского терминала, получала доступ к таймсериям и техническим индикаторам, могла анализировать рынок и отправлять торговые приказы на сервер.
Именно здесь появляется принцип, который позже станет нормой для всей MQL‑экосистемы: торговая стратегия — это не внешний сигнал, который нужно вручную перенести в терминал, а исполняемая программа внутри торговой платформы.
MetaTrader: новая платформа и новый масштаб
В мае 2002 года началось открытое тестирование новой системы MetaTrader. Это уже был не косметический апдейт, а серьёзное переписывание серверных и менеджерских компонентов. В анонсах говорилось о поддержке сотен инструментов, рынков Forex, CFD, Futures и Stocks, новых протоколах обмена и возможности обслуживать тысячи пользователей онлайн.
Для истории MQL этот этап важен по двум причинам.
Во-первых, терминал стал частью более крупного комплекса. Автоматическая торговля должна была работать не в игрушечной песочнице, а в системе с сервером, менеджерскими инструментами, большим числом пользователей и разными классами финансовых инструментов.
Во-вторых, стало ясно, что старого языка недостаточно. Если пользователь должен не просто включить готовый советник, а действительно описывать торговую логику, язык должен становиться ближе к обычному программированию.
MQL II: язык становится похож на язык программирования
Осенью 2002 года в MetaTrader версии 2.03 появился новый вариант языка — MQL II.

Его уже нельзя было воспринимать как набор простых формул для эксперта. Описание MQL II было примерно втрое больше описания первого MQL, хотя всё ещё помещалось на одной HTML‑странице. MQL II получил переменные вещественного, строкового и логического типов, массивы, циклы for и while, а также расширенный набор встроенных функций. Среди них появились математические функции Abs, Ceil, Cos, Exp, Floor, Log, Mod, Pow, Round, Sin, Sqrt и Tan.
Это был важный сдвиг. Пользователь всё ещё писал программу в довольно жёстких рамках: один исходный файл фактически описывал одну исполняемую функцию, запускаемую при приходе тика по инструменту. Но внутри этой рамки уже можно было писать более сложную логику, использовать условия, циклы, массивы и математические расчёты.
Позже появилась возможность вызывать сторонний скомпилированный файл, что частично решало проблему отсутствия собственных функций внутри одного исходника. Внутренняя реализация была ещё далека от будущего MQL4 и MQL5: код исполнялся как стековая машина, основанная на обратной польской записи. Но для пользователя это было не главным. Главным было то, что торговая стратегия постепенно превращалась из набора условий в полноценную программу.
По синтаксису MQL II напоминал Pascal. Это тоже не случайность. Pascal долго воспринимался как удобный язык для обучения программированию, а философия MetaQuotes того периода была максимально демократичной: каждый пользователь терминала должен иметь шанс запрограммировать собственную торговую стратегию.
Пользовательские индикаторы: MQL выходит за рамки советников
Весной 2003 года развитие MQL сделало ещё один важный шаг. В марте в терминал были добавлены новые встроенные индикаторы и файловые функции: FileOpen, FileClose, FileDelete, FileSize, FileTell, FileSeek, FileWrite, FileReadNumber, FileReadString и другие.
Но главный поворот произошёл в апреле 2003 года: в MetaTrader версии 3.10 появилась возможность использовать собственные индикаторы и функции в MQL.

Это расширило роль языка. До этого MQL в первую очередь ассоциировался с советниками: пользователь описывает торговую стратегию, а терминал выполняет её на каждом тике. Пользовательские индикаторы добавили другой сценарий: теперь трейдер мог программировать не только торговые решения, но и собственные способы анализа рынка.
Так MQL начал охватывать два слоя работы трейдера: принятие торговых решений и построение аналитических инструментов. В дальнейшем эта связка станет естественной для MetaTrader 4: советники, индикаторы, скрипты и библиотеки будут восприниматься как разные типы программ внутри одной среды.
Переходный этап: от простоты к полноценному языку
К середине 2003 года стало ясно, что следующая крупная платформа должна быть не просто продолжением старой архитектуры. Нужен был новый продукт, новый язык и новая среда разработки.
Внутри разработки существовали переходные решения, которые почти не оставили следов в публичном интернете. Но направление изменений видно хорошо. Разработчики решили отказаться от модели “один исходник — одна функция”, от стекового исполнения и от слишком учебного синтаксиса. Будущий язык должен был стать ближе к C‑подобным языкам, поддерживать более сложную структуру программы и позволять писать не только простые советники, но и крупные торговые системы.
Здесь меняется и сама философия. На первом этапе идея звучала примерно так: каждый трейдер может запрограммировать свою стратегию. К моменту подготовки MQL4 эта мысль становится точнее: каждый квалифицированный пользователь может запрограммировать сколь угодно сложную торговую стратегию, не покидая терминал.
При этом простота не отменялась. Простые стратегии должны были оставаться простыми. Но потолок сложности нужно было резко поднять.
MetaTrader 4 и MQL4: терминал становится IDE
Работа над MetaTrader 4 началась летом 2003 года. В обсуждениях того времени разработчики постепенно раскрывали будущие возможности: более серьёзное тестирование, доступ к таймсериям разных символов и периодов, расширенные торговые функции, скрипты, пользовательские индикаторы с большим количеством индикаторных буферов, вызов внешних функций из DLL. 5 февраля 2004 года опубликован пример исходного текста программы на MQL4. для ознакомления.
К началу 2004 года стало понятно, что речь идёт не о небольшом обновлении. Система фактически переписывалась заново. Это заняло больше времени, чем ожидалось, но именно поэтому MetaTrader 4 в итоге стал не набором улучшений, а новой платформой.
18 ноября 2004 года MetaQuotes объявила о предстоящем выпуске бета-версии MetaTrader 4. В анонсе важны не только торговые и аналитические возможности. Впервые в одном продукте так чётко была собрана будущая модель массовой алгоритмической торговли: терминал, язык программирования MetaQuotes Language 4, среда разработки MetaEditor 4, советники, пользовательские индикаторы и скрипты.

С этого момента MetaTrader перестал быть просто торговым терминалом с возможностью автоматизации. MetaTrader 4 стал платформой, внутри которой у разработчика есть отдельное рабочее место.
На сайте MetaQuotes документация MQL4 выглядела очень компактно: типы данных, операции и выражения, операторы, функции, переменные, препроцессор, позже — синтаксис языка. Но полная справка была встроена в MetaEditor. Это был принципиальный ход: разработчику не нужно было постоянно уходить из редактора в браузер. Справка, код и компиляция находились рядом.

MQL4 уже был полноценным процедурно-ориентированным языком программирования. В нём появились собственные функции, более привычная структура программы, скрипты для однократного выполнения, библиотеки в виде EX4‑файлов и возможность вызывать функции из сторонних DLL.
MetaEditor стал не просто текстовым редактором. Он дал пользователю навигацию по справке, подсветку синтаксиса, компиляцию, работу с типами MQL‑программ и встроенную документацию. На этом этапе окончательно складывается формула, благодаря которой MetaTrader 4 станет массовой платформой для алгоритмической торговли:
ТЕРМИНАЛ + ЯЗЫК + РЕДАКТОР + СПРАВКА + ТЕСТИРОВАНИЕ + СООБЩЕСТВО
1 июля 2005 года после длительной разработки MetaTrader 4 был выпущен как готовая торговая платформа. Дальше началась уже не только история языка, но и история экосистемы: отдельный сайт для разработчиков, Code Base, статьи, чемпионаты торговых роботов и огромное сообщество пользователей MQL4.
Именно об этом — следующая часть.
MQL4.COM: язык получает своё сообщество
После выхода MetaTrader 4 стало понятно, что одной платформы недостаточно. Если пользователь может писать советники, индикаторы, скрипты и библиотеки, ему нужны документация, примеры, обсуждения, статьи и место, где можно делиться кодом.
8 ноября 2005 года для MQL4-разработчиков был открыт специализированный сайт MQL4.COM.
Это был важный шаг: MQL4 перестал быть только встроенным языком терминала и стал центром отдельной разработческой экосистемы. На сайте появились форум, документация, Code Base и статьи. Позже материалы стали публиковаться не только на русском и английском, но и на китайском языке.
Code Base быстро начал заполняться готовыми программами. Меньше, чем через месяц в базе уже было больше 50 советников, около 200 индикаторов, 35 скриптов и 17 библиотек. Советники, индикаторы, скрипты и библиотеки превращали MQL4 из языка “для своих” в практический инструмент массового использования. Пользователь мог не только написать программу с нуля, но и изучать чужой код, модифицировать готовые решения, задавать вопросы авторам и постепенно входить в разработку.
Показательно, что уже в 2006 году среди ранних публикаций появился советник с использованием искусственного интеллекта — однослойной нейронной сети. Тогда это ещё не было мейнстримом, не сопровождалось сегодняшним шумом вокруг AI и машинного обучения, но сама идея уже жила внутри сообщества: торговую стратегию можно строить не только на правилах и индикаторах, но и на обучаемой модели.
Этот эпизод хорошо показывает, почему дальнейшая история MQL естественно пришла к Python, ONNX, AI Assistant и OpenBLAS. Интерес к машинному обучению не возник внезапно. Он просто долго ждал, пока платформа, язык и вычислительные возможности дорастут до нужного уровня.
Automated Trading Championship: советники выходят на сцену
Следующим большим шагом стал Automated Trading Championship. Первый чемпионат торговых систем, написанных на языке MQL4, прошёл в конце 2006 года. Это было не просто соревнование ради призов. Чемпионат стал публичной демонстрацией главной идеи MetaTrader 4: советники могут торговать самостоятельно, а результаты их работы можно наблюдать в реальном времени.
В чемпионате 2006 года участвовали 258 разработчиков. Призовой фонд составлял 80 000 долларов США, а торговля длилась 12 недель. Для того времени это был сильный публичный жест: автоматическая торговля переставала быть темой для узкого круга программистов и становилась зрелищем, за которым могли следить трейдеры, брокеры и разработчики.
Но важнее даже не призы. Чемпионат стал нагрузочным тестом всей инфраструктуры. Для него готовили серверное оборудование, запускали множество терминалов, обеспечивали одинаковые условия работы советников и давали зрителям возможность наблюдать за результатами онлайн.
Из этой практики выросло много идей, которые позже пригодились в экосистеме MetaTrader: автоматические проверки экспертов, защита программ, VPS-хостинг и облегчённый клиентский терминал, веб-терминал, торговые сигналы и будущий Маркет приложений.
В 2007 году число участников выросло до 603, в 2008 году — до 705. Это уже была не разовая акция, а показатель масштаба сообщества. Люди писали торговые роботы, спорили об алгоритмах, сравнивали подходы, изучали чужие интервью и пытались понять, почему одни системы выдерживают реальную торговлю, а другие ломаются после первых недель.
Отдельно примечательно, что в чемпионатах снова всплывала тема нейронных сетей. Победитель 2007 года Александр Топчило использовал в советнике нейросетевой подход, предварительно разрабатывая и тестируя систему на C++, а затем перенося её на MQL4. Интервью с Александром Топчило (Better)
В 2008 году Леонид Величковский представил советника, использующего нейронную сеть, обученную в NeuroShell. Интервью с Леонидом Величковским (LeoV)
Это важная деталь для всей статьи. История MQL — это не только история синтаксиса. Это история того, как трейдеры пытались перенести в терминал всё более сложные идеи: от простых правил на индикаторах до статистики, оптимизации, нейронных сетей и машинного обучения.
В 2009 году чемпионат не проводился. MetaQuotes завершала разработку следующей крупной платформы — MetaTrader 5 — и нового языка MQL5.
MQL5: новая платформа начинается с языка
Разговоры о будущем MQL5 начались задолго до публичного запуска MetaTrader 5. Уже в 2007 году на форуме MQL4.COM активно обсуждали пожелания к новому языку. Поиск по слову MQL5 в октябре 2007 года выдавал больше 15 страниц со ссылками на сообщения в форуме MQL4.COM. Пользователи хотели большей скорости, более строгой структуры, новых возможностей тестирования, удобной работы с данными и более современного программирования.
Внутри разработки направление было ещё более радикальным. Новый язык должен был уйти от промежуточного представления, характерного для MQL4, и перейти к генерации нативного кода. Это означало другой уровень производительности и другой уровень требований к архитектуре языка.
Первое упоминание домена MQL5.COM в веб-архиве относится к ноябрю 2007 года. Сам факт появления отдельного домена показывал: речь идёт не просто о новом синтаксисе, а о будущей экосистеме.

31 марта 2008 года новый язык MQL5 был официально анонсирован в интервью об особенностях будущего языка. Текст этого интервью в публичном доступе не сохранился, но сама дата важна: ещё до выхода MetaTrader 5 разработчики начали готовить сообщество к новой модели программирования.
К лету 2009 года сайт MQL5.COM уже прямо обещал скорый запуск.

12 октября 2009 года началось бета-тестирование MetaTrader 5. Через месяц, 18 ноября 2009 года, открылась бета-версия MQL5.community — нового сайта для разработчиков MQL5.
MQL5.community: не форум, а инфраструктура
MQL5.community с самого начала строился не как обычный форум. В нём сразу закладывалась структура будущей экосистемы: документация, форум, Code Base, статьи, учебные материалы и новые сервисы, которые должны были появляться по мере развития платформы.
Разработчики постарались сохранить то, что уже работало на MQL4.COM: обсуждения, базу кодов, статьи и привычную модель обмена знаниями. Но новый сайт должен был стать шире. MQL5 был сложнее, MetaTrader 5 — масштабнее, а значит, сообществу требовалась более мощная инфраструктура.
Важным жестом стал перенос аккаунтов с MQL4.COM. Пользователям не нужно было начинать с нуля: они могли авторизоваться на новом сайте со старыми учётными записями. Это связывало две эпохи и показывало, что MQL5 не отменяет накопленный опыт MQL4, а продолжает его на новом уровне.
Так возникла новая точка сборки: язык, документация, статьи, код, форум и будущие сервисы оказались в одном месте. MQL5.community стал не приложением к терминалу, а частью платформы.
MetaTrader 5 и MQL5: язык становится инженерным инструментом
1 июня 2010 года была выпущена торговая платформа MetaTrader 5. В отличие от предыдущего поколения, она была ориентирована не только на Forex, но и на работу с биржевыми рынками. Это потребовало изменений не только в терминале, но и в языке.
MQL5 стал большим шагом вперёд по сравнению с MQL4. Это уже объектно-ориентированный язык программирования, близкий к C++. MQL5‑программы компилировались в нативный x86 или x64 код, что давало иной уровень производительности. При этом сохранялась главная идея MQL: пользователь должен иметь возможность писать как простые программы, так и сложные торговые системы.
Сложнее стала и торговая модель. В MetaTrader 5 появились отдельные сущности ордеров, сделок и позиций. Торговые операции стали ближе к реальности биржевой инфраструктуры, но для разработчика это означало больше деталей. Поэтому вместе с языком развивалась стандартная библиотека, включающая в том числе и торговые классы для упрощения работы с типовыми сценариями.
На старте в MQL5 было около 400 встроенных функций — примерно столько же, сколько в MQL4 того периода. Но важнее было не количество функций, а направление развития. MQL5 создавался как язык, в котором можно строить крупные системы: с классами, обработкой событий, стандартной библиотекой, тестированием, оптимизацией и будущими сервисами вокруг платформы.
Для пользователей MQL4 был подготовлен отдельный раздел документации о переходе на MQL5. Это было необходимо: новый язык был мощнее, но требовал другого мышления. Если MQL4 сделал алгоритмическую торговлю массовой, то MQL5 должен был сделать её более инженерной.
Чемпионаты MQL5: новая платформа проходит публичную проверку
В 2010 году Automated Trading Championship вернулся уже как соревнование MQL5‑экспертов. Это было логично: новая платформа нуждалась в публичной демонстрации, а разработчикам нужно было увидеть, как MQL5 ведёт себя не в примерах из документации, а в реальной трёхмесячной гонке торговых роботов.
В чемпионате 2010 года было зарегистрировано 314 участников. В 2011 году — 395, в 2012 году — 451. Эти соревнования стали не только продолжением традиции MQL4‑чемпионатов, но и витриной преимуществ новой платформы: более высокой производительности, нового тестера, более сложной торговой модели и возможностей для разработки крупных советников.
Чемпионаты снова выполнили множественную роль. Для трейдеров это было зрелище и способ увидеть автоматическую торговлю в действии. Для разработчиков — школа практической проверки идей. Для MetaQuotes — обратная связь по языку, терминалу, тестеру, инфраструктуре и поведению программ в реальных условиях. И, конечно же, популяризация языка MQL5.
Новый MQL4: обратное влияние MQL5
После выхода MetaTrader 5 могло показаться, что развитие MQL4 постепенно уйдёт на второй план. Но произошло иначе. Огромная база пользователей MetaTrader 4 и накопленный за годы код требовали не заморозки, а аккуратного обновления.
В июле 2013 года было объявлено о больших изменениях в MetaTrader 4 и MQL4. Идея была нестандартной: не заставлять всех переносить код с MQL4 на MQL5, а перенести в MQL4 максимум возможностей новой технологической базы.
Так появился единый компилятор для MQL4 и MQL5, единый MetaEditor, поддержка новых средств разработки, более сильная защита EX4/EX5‑файлов и возможность использовать Маркет приложений в MetaTrader 4.
Это было важное решение для всей экосистемы. MQL4 не остался “старым языком прошлого поколения”. Он получил классы, структуры, новые типы данных, обработчики событий, более строгую модель компиляции, поддержку ресурсов, новые графические возможности и общий инструментарий с MQL5.
Уже через месяц была выпущена бета версия MetaTrader 4 IDE, включающая в себя новый компилятор MQL4 и редактор. В конце 2013 года началось публичное тестирование обновлённого MetaTrader 4 с новым MQL4 и Маркетом приложений. 3 февраля 2014 года вышел MetaTrader 4 Client Terminal build 600.
Этот релиз фактически разделил историю MQL4 на две эпохи. Старый MQL4 был простым C‑подобным языком, удобным для советников и индикаторов. Новый MQL4 стал намного ближе к MQL5: с объектно-ориентированным программированием, единым MetaEditor, новым компилятором и возможностью создавать более сложные приложения.
При этом главное достоинство MetaTrader 4 сохранилось: огромная существующая база пользователей, программ и знаний не была отброшена. Наоборот, старой экосистеме дали новую технологическую основу.
Так MQL4 и MQL5 перестали выглядеть как два полностью разных мира. Один язык вырос из массовой практики автоматической торговли, второй — из попытки построить более строгую и мощную инженерную платформу. А после build 600 между ними появился общий слой: MetaEditor, компилятор, стиль разработки, защита программ и сервисы MQL5.community.
К этому моменту история MQL уже давно вышла за рамки “языка для советников”. Вокруг него существовали терминалы, редактор, документация, Code Base, статьи, чемпионаты, Маркет, сигналы, VPS и огромное сообщество. Но следующий этап развития потребовал ещё большего: работы с внешними данными, распределённых вычислений, машинного обучения, матриц, нейросетей и серьёзной линейной алгебры.
Об этом — следующая часть.
Развитие MQL5: язык взрослеет
После запуска MetaTrader 5 развитие MQL5 пошло сразу в нескольких направлениях. Одно направление касалось самого языка: он становился ближе к C++ и удобнее для крупных проектов. Второе — среды исполнения: MQL5‑программы начали работать не только как советники и индикаторы на графике. Третье — вычислений: тестер стратегий, облачная оптимизация, OpenCL, матрицы, Python и ONNX постепенно расширяли границы того, что можно делать прямо из платформы.
Если смотреть на эти обновления по отдельности, они выглядят как длинный список релизов. Но вместе они показывают более важную картину: MQL5 превращался из языка торговых роботов в универсальную среду для разработки, вычислений, анализа данных и интеграции с внешними технологиями.
Язык становится ближе к C++
Сначала MQL5 развивался как более строгий и быстрый наследник MQL4. Но уже в первые годы стало понятно, что простого объектно-ориентированного синтаксиса недостаточно. Разработчикам нужны были инструменты для крупных проектов: повторное использование кода, обобщённые алгоритмы, более безопасное наследование, пространства имён и работа со сложными типами данных.
Ресурсы появились 19 января 2011 года. MetaTrader 5 Client Terminal build 384. Это позволило встраивать в программу изображения, данные и другие вспомогательные файлы. Позже появились ресурсные переменные: код OpenCL, бинарные данные или текст можно было подключать как часть MQL5‑программы, не превращая проект в набор внешних зависимостей.
Шаблоны функций появились 16 ноября 2012 года. MetaTrader 5 Trading Terminal build 722.
Шаблоны классов появились 23 октября 2015 года. MetaTrader 5 build 1200: тиковая история и оплата сервисов напрямую. Это были важные шаги к обобщённому программированию. Один и тот же код можно было использовать для разных типов данных, не переписывая алгоритмы вручную.
В 2016 году язык получил сразу несколько возможностей, привычных разработчикам на C++:
Абстрактные классы появились 1 апреля 2016 года. MetaTrader 5 build 1295.
Динамическое приведение типов dynamic_cast появилось в июне 2016 года.
Интерфейсы появились 15 августа 2016 года.
Модификаторы final и override добавлены 16 сентября 2016. Новая версия платформы MetaTrader 5 build 1430: Обновленная вкладка Exposure.
Все эти изменения не были косметическими. Они позволили строить более строгие и безопасные иерархии классов, явно фиксировать намерения разработчика и ловить часть ошибок ещё на этапе компиляции.
Пространства имён появились 5 октября 2019 года. MetaTrader 5 build 2170: Области видимости в MQL5, глобальное обновление тестера стратегий и встроенного хостинга. Для больших проектов и сторонних библиотек это особенно важно: имена классов, функций и переменных перестают конфликтовать между собой, а код легче организовать по модулям.
Тип данных complex добавлен 21 мая 2021 года. MetaTrader 5 build 2940: Перенос витрин MQL5-сервисов в рабочую область и обновление дизайна. Это уже не функция “для советников”, а шаг в сторону инженерных и научных вычислений. Комплексные числа нужны в спектральном анализе, линейной алгебре, обработке сигналов и ряде численных методов.
Типы matrix и vector добавлены 28 января 2022 года. MetaTrader 5 build 3180: Векторы и матрицы в MQL5 и повышение удобства работы. Это ещё несколько шагов в сторону инженерных и научных вычислений. Созданы предпосылки для интеграции с ONNX и предстоящего использования библиотеки OpenBLAS.
Типы данных complexf, vectorcf, matrixcf добавлены 27 сентября 2024 года. MetaTrader 5 build 4570: улучшения веб-версии и интеграция с OpenBLAS в MQL5.
Так MQL5 постепенно получал черты языка, на котором можно писать не только торговую логику, но и большие библиотеки, вычислительные модули, оболочки для моделей и инфраструктурный код.
Тестер стратегий как вычислительная среда
Отдельная линия развития связана с тестером стратегий. В MetaTrader тестер всегда был важен: без проверки на истории автоматическая торговля превращается в набор догадок. Но в MQL5 тестер начал выходить за рамки простой проверки советника.
В 2012 году появились обработчики OnTesterInit, OnTesterDeinit, OnTesterPass и функции работы с фреймами данных: FrameAdd, FrameFirst, FrameNext, FrameInputs. Это позволило агентам тестирования передавать в терминал не только один итоговый результат, но и произвольные данные.
Значение этого обновления легко недооценить. На практике оно превратило оптимизацию в более гибкий вычислительный процесс. Советник мог не просто вернуть критерий оптимизации, а передать набор промежуточных результатов, статистику, собственные метрики или данные для дальнейшего анализа.
В сочетании с MQL5 Cloud Network это открывало дорогу к распределённым вычислениям. Формально всё оставалось внутри инфраструктуры тестера стратегий, но по сути MQL5 получал механизм для параллельной обработки задач, не обязательно сводимых только к классическому перебору параметров торгового робота.
Это ещё один пример общей линии развития: инструменты, появившиеся ради алгоритмической торговли, постепенно становятся полезны и для более широких вычислительных сценариев.
MQL5 выходит за пределы графика
Классическая модель MQL‑программы была привязана к графику: советник работает на инструменте, индикатор рисуется в окне, скрипт выполняет разовое действие. MQL5 постепенно расширил эту модель.
Работа с OpenCL добавлена 3 февраля 2012 года. MetaTrader 5 Trading Terminal build 581. Это дало возможность использовать параллельные вычисления на доступных устройствах и ускорять задачи, которые хорошо ложатся на массовую обработку данных.
Функции для работы с пользовательскими финансовыми инструментами добавлены 20 декабря 2017 года. MetaTrader 5 build 1730: проекты в MetaEditor и синтетические инструменты. Разработчик получил возможность создавать собственные символы, заполнять их историей, обновлять тики и строить синтетические инструменты. Это важно для исследований: можно проверять идеи не только на стандартных данных брокера, но и на собственных рядах, агрегированных инструментах и специальных наборах котировок.
Нативная поддержка .Net-библиотек добавлена 26 октября 2018 года. MetaTrader 5 build 1930: Плавающие окна графиков и .Net библиотеки в MQL5. MetaEditor взял на себя часть работы по импорту функций, и разработчики получили более простой путь к использованию внешнего кода без ручного написания сложных обёрток.
Новый тип MQL5-программ сервисы (программы которые не привязаны ни к какому графику) добавлен 21 февраля 2019 года. MetaTrader 5 build 2005: Экономический календарь, MQL5-программы в виде сервисов и API для языка R. Сервис может работать в фоне, запускаться вместе с терминалом и выполнять инфраструктурные задачи. Это сильно меняет представление о MQL‑программе: она больше не обязана быть советником, индикатором или скриптом.
Сетевые функции для создания TCP-соединений добавлены так же 21 февраля 2019 года в обновлении MetaTrader 5 build 2005. MQL5‑программа получила возможность обмениваться данными с внешними системами через сокеты при явном разрешении адресов в настройках терминала. Это расширило сценарии интеграции: собственные источники данных, локальные сервисы, внешняя аналитика, обмен между приложениями.
Работа с базами данных и работа с DirectX добавлены 6 декабря 2019 года. MetaTrader 5 build 2265: Функции DirectX для 3D-визуализации в MQL5 и настройка инструментов в тестере стратегий. Эти обновления кажутся разными, но смысл у них общий: MQL5 больше не ограничивается торговыми вызовами и индикаторными буферами. Он получает средства хранения данных, визуализации, внешней интеграции и фоновой обработки.
Python: мост к анализу данных и машинному обучению
14 июня 2019 года в MetaTrader 5 была добавлена интеграция с Python. Интеграция с Python, поддержка Маркета и Сигналов в Wine (Linux/MacOS) и мощная оптимизация работы тестера стратегий в MetaTrader 5 build 2085. Это был один из самых важных мостов между торговой платформой и внешним миром анализа данных.
Python к тому моменту уже стал стандартным инструментом для машинного обучения, статистики, обработки данных и визуализации. Поддержка Python позволила получать данные из MetaTrader 5 и использовать их во внешних исследовательских сценариях: строить модели, проверять гипотезы, готовить датасеты, анализировать результаты и затем возвращать идеи обратно в торговую платформу.
Здесь снова видна та же логика развития. MetaTrader не пытается заменить собой весь внешний мир. Вместо этого платформа даёт разработчику мост: данные и торговая инфраструктура остаются в терминале, а исследовательские и машинно‑обучающие сценарии можно выполнять там, где для них уже есть богатая экосистема библиотек.
ONNX: модели машинного обучения приходят в MQL5
Следующий шаг был ещё ближе к машинному обучению. 10 марта 2023 года в MetaTrader 5 появилась поддержка ONNX — открытого формата обмена моделями машинного обучения. MetaTrader 5 build 3620: улучшения веб-терминала, поддержка ONNX и ускоренное умножение матриц в MQL5.
Идея ONNX хорошо подходит для платформы вроде MetaTrader. Модель можно обучить вне терминала — например, в Python с использованием привычных библиотек, — затем экспортировать в ONNX и использовать уже внутри MQL5‑программы. Это разделяет две задачи: обучение модели и её применение в торговой логике.
Для разработчика это важное упрощение. Ему не нужно вручную переписывать нейросеть на MQL5 или строить всю инфраструктуру обучения внутри терминала. Можно использовать внешние инструменты для подготовки модели, а в MQL5 сосредоточиться на интеграции модели в советник, индикатор или исследовательскую программу.
Так давний интерес MQL‑сообщества к нейронным сетям получил более зрелую технологическую форму. Если в 2006–2008 годах нейросетевые советники были отдельными экспериментами энтузиастов, то с ONNX у разработчиков появился штатный путь для подключения обученных моделей к MQL5.
AI Assistant: от подсказки к полноценному агенту
Первая версия AI Assistant появилась в MetaEditor 14 июня 2023 года. Она уже сокращала путь от вопроса к коду: разработчик мог выделить фрагмент, попросить объяснение, получить вариант функции или исправление и затем вручную встроить результат в программу. Это было полезно, но по своей механике оставалось развитием классического чата: вопрос, текстовый ответ, копирование и проверка.
24 июля 2026 года в MetaTrader 5 build 6060 платформа перешла к другой модели. В терминале и MetaEditor появилась встроенная поддержка Model Context Protocol (MCP) и агентного искусственного интеллекта. AI Assistant теперь не ограничен генерацией текста: он может планировать последовательность действий и вызывать предоставленные платформой инструменты — читать данные, находить и изменять файлы, собирать проекты, анализировать торговое окружение и возвращать структурированный результат.
Разработчики сформулировали отличие прямо: вместо устаревающего режима "вопрос — ответ — скопировать" создаётся полноценный агент, способный выполнять сложные задачи. Это важная смена масштаба. Помощник перестаёт быть только генератором фрагментов MQL5-кода и становится участником рабочего процесса разработчика и трейдера.

MCP: стандартный мост между ИИ и MetaTrader
Model Context Protocol — открытый стандарт, через который ИИ-агент подключается к данным и функциям приложений. Для MetaTrader это означает, что терминал и MetaEditor выступают не просто окнами, в которых открыт чат, а поставщиками специализированных инструментов. Модель получает не абстрактное описание платформы, а контролируемый программный интерфейс к конкретным операциям.
В MetaEditor агент может получать сведения о рабочем пространстве, искать файлы и текст, читать и изменять исходники, создавать новые программы, проверять синтаксис, компилировать отдельные файлы и собирать проекты. В терминале ему доступны рыночные данные, открытые графики, параметры счёта, позиции, ордера и торговая история. Отдельные MCP-серверы могут добавлять внешние источники — например, публичные котировки, новости и другие данные для анализа.
Эта архитектура двусторонняя. Встроенный AI Assistant использует MCP-инструменты MetaTrader и MetaEditor, но те же серверы можно подключать к внешним агентным системам, совместимым с протоколом, включая OpenAI Codex, Claude Code и другие решения. Таким образом, пользователь не привязан к одной оболочке или одной модели: платформа предоставляет инструменты, а агент выбирается в зависимости от задачи.
Поддерживаются собственные API-ключи OpenAI, Anthropic, Gemini, DeepSeek, Ollama и других совместимых провайдеров. Для пользователя, вошедшего под учётной записью MQL5.community, автоматически настраивается бесплатный тариф MQL5 Lite: параметры AI Assistant синхронизируются между терминалом и MetaEditor.
AI Assistant в торговом терминале
Встроенный помощник в MetaTrader 5 работает с контекстом самого терминала. Он может объяснить текущую ситуацию по инструменту, изучить историю котировок, просмотреть инструменты из "Обзора рынка", проанализировать открытые позиции и историю сделок, выделить рисковые операции и подготовить отчёт.

С подключёнными сетевыми инструментами агент может объединять внутренние данные терминала с внешней информацией. В анонсе был показан сценарий, где помощник получает последние новости по инструменту, последовательно изучает материалы и сопоставляет их с котировками. Это уже не единичный запрос к справочнику, а многошаговый анализ, в котором агент сам собирает необходимые части контекста.
Торговые операции вынесены под отдельный контроль. В настройках можно полностью запретить их, разрешить либо включить ручное подтверждение. Отдельно регулируются сетевые запросы и операции командной строки. Рекомендации помощника при этом остаются информационными: окончательное решение и ответственность за торговлю сохраняются за пользователем.
AI Assistant в MetaEditor
В MetaEditor агент может создать новую программу на MQL5 по описанию на естественном языке, изучить существующий проект, найти ошибки, предложить исправления, провести рефакторинг, улучшить понятность кода и объяснить сложный алгоритм. Главное отличие от первой версии состоит в том, что результат не обязательно заканчивается текстом в чате: агент способен создать или изменить файл, запустить компиляцию и проверить итог.

Для больших кодовых баз это принципиально. Помощник может искать определения и использования идентификаторов в нескольких файлах, читать связанные include-модули, учитывать структуру проекта и выполнять задачу как серию операций. История запросов сохраняется во вкладке "Чаты" в Навигаторе, поэтому работа с агентом становится частью проекта, а не одноразовой подсказкой.
Build 6060 одновременно улучшил сам редактор: появились сворачивание блоков кода и подсветка всех вхождений выделенного идентификатора. Эти функции не относятся к ИИ напрямую, но усиливают тот же сценарий — анализ и сопровождение больших проектов.
От написания кода к циклу "разработать — проверить — улучшить"
Наиболее важное направление развития связано с тестером стратегий. В ответах в ветке открытого тестирования описан целевой автоматический цикл:
- разработать стратегию по заданию трейдера;
- запустить тестирование и оптимизацию параметров;
- проанализировать отчёт, изменить код или настройки и повторить проверку;
- остановиться при неудаче либо при достижении приемлемого результата;
- представить пользователю итоговую версию и отчёт.
Такой сценарий нужно отличать от обещания "ИИ найдёт прибыльную стратегию". Агент автоматизирует инженерный цикл и может перебрать больше гипотез, но он не отменяет переобучение, ошибки исходных данных, нестабильность рынка и необходимость независимой проверки. Значение MCP здесь в другом: тестер, компилятор, файлы проекта и результаты оптимизации можно связать в одну управляемую цепочку действий.
Во время бета-тестирования этот контур расширялся постепенно: отдельные высокоуровневые инструменты тестера ещё добавлялись и настраивались. Поэтому описанный полностью автономный цикл следует воспринимать как направление развития агентной системы, а не как гарантию, что любая сложная задача уже выполняется без участия пользователя.
Безопасность: агенту дают инструменты, а не неограниченный компьютер
Чем больше действий способен выполнять агент, тем важнее границы. Доступ строится по принципу явных разрешений. Рабочая папка MQL5 доступна для операций с исходниками, каталоги тестера и журналов могут быть ограничены чтением, а доступ к профилю пользователя включается отдельно. Торговля, сеть и командная строка также управляются независимыми настройками.
Командные операции — PowerShell, Python и другие внешние процессы — особенно мощны и потенциально опасны, поэтому в интерфейсе они помечены соответствующим образом и отключаются отдельно. Такой режим превращает помощника в агента общего назначения, но одновременно расширяет поверхность риска.
В обсуждении с трейдерами на форуме отдельно подчёркивалось обязательность резервных копий и системы контроля версий. Для агентной разработки Git — не дополнительное удобство, а базовый механизм безопасности: изменения должны быть видимы, сравнимы и обратимы. Здесь новая AI-архитектура естественно соединяется с MQL5 Algo Forge.
Инструкции проекта и skills
Агенту недостаточно видеть файлы — ему нужно понимать правила конкретной кодовой базы. Для этого в каталоге MQL5\Profiles\Agents используются файлы инструкций для MetaEditor и MetaTrader. Пользователь может заменить стандартные инструкции собственными, чтобы задать стиль кода, правила именования, порядок проверки и другие постоянные требования.
Поскольку эти файлы находятся внутри зоны MQL5, их можно хранить вместе с проектами в Algo Forge. Так репозиторий содержит не только исходники и README, но и инструкции для ИИ: как собирать проект, какие файлы не менять, какие тесты запускать и в каком формате представлять результат.
В ответах на форуме разработчики также представили локальные инструкции уровня отдельного проекта и skills — повторно используемых специализированных процедур для агента. Это показывает, куда движется система: от универсального чата к настраиваемому цифровому участнику проекта, который знает инструменты платформы и правила конкретной команды.
Матрицы и векторы: MQL5 готовится к серьёзной линейной алгебре
Для машинного обучения, статистики и численных методов одних классов, шаблонов и внешних интеграций недостаточно. Нужна удобная работа с векторами, матрицами и базовыми операциями линейной алгебры.
28 января 2022 года в MQL5 появились типы matrix и vector. Это было важное изменение не только с точки зрения синтаксиса. Матрицы и векторы были задуманы не как обычные массивы, а как объекты со свойствами и методами.
У вектора появился размер, у матрицы — число строк и столбцов, а вокруг них начал формироваться отдельный раздел методов. Разработчик получил более естественный способ писать вычислительный код: создавать матрицы, транспонировать их, умножать, считать разложения, решать системы уравнений, работать с нормами, рангом и другими численными характеристиками.
На этом этапе MQL5 уже заметно отличался от языка, который когда-то начинался с простой логики советника на тике. В языке появились структуры для математических моделей, а в платформе — связи с Python, ONNX, OpenCL и облачной оптимизацией.
Но для настоящей численной базы нужен не только удобный тип matrix. Нужна проверенная библиотека линейной алгебры, на которую можно опереться при реализации сложных методов. Именно поэтому следующим крупным шагом стала интеграция OpenBLAS.
Об этом — следующая часть.
Почему именно OpenBLAS
Когда в MQL5 появились матрицы, векторы, комплексные числа, ONNX и сценарии машинного обучения, следующий вопрос стал неизбежным: на какой математический фундамент опираться дальше?
Можно написать отдельные методы вручную. Можно добавить несколько быстрых операций для матриц. Можно ограничиться умножением, разложениями и решением систем уравнений. Но такой путь быстро приводит к набору разрозненных функций, которые сложно развивать, тестировать и поддерживать.
Для платформы уровня MetaTrader 5 нужна была не “ещё одна быстрая библиотека”, а стандартная база линейной алгебры: широкая, проверенная, переносимая и пригодная для постепенного расширения методов MQL5.
Перед выбором OpenBLAS рассматривались и другие варианты: ALGLIB, LIBXSMM, Eigen и oneMKL. У каждой библиотеки есть сильные стороны, но задача MQL5 была шире, чем ускорить одну операцию или закрыть один класс алгоритмов.
ALGLIB интересна как универсальный численный toolkit: оптимизация, аппроксимация, линейная алгебра, статистика и другие алгоритмы. Но для роли базового слоя внутри платформы важны не только функции, а ещё лицензионная модель, редакции библиотеки, условия распространения, предсказуемость интеграции и долгосрочная поддержка.
LIBXSMM сильна в специализированных плотных и разреженных матричных операциях, особенно в задачах малых матриц и deep learning primitives. Это полезный инструмент, но более узкий по назначению. Он хорошо подходит там, где нужно выжать максимум из конкретного класса операций, но не заменяет широкую LAPACK‑ориентированную базу для большого набора методов линейной алгебры.
Eigen — отличная C++ template library для матриц, векторов, численных решателей и связанных алгоритмов. Но Eigen — это прежде всего C++‑подход: заголовочная библиотека, шаблоны, expression templates и тесная работа с C++‑кодом. Для внутренней платформенной интеграции MQL5 требовался другой фокус: стабильный вычислительный слой, на который можно опереться при реализации методов matrix, matrixf, matrixc и matrixcf.
oneMKL тоже рассматривался. Это мощная математическая библиотека с большой историей, сильной оптимизацией и широким набором возможностей. Но в платформенном продукте важна не только скорость. Важны переносимость, степень вендорной зависимости, условия распространения, контроль над интеграцией и предсказуемость поведения на разных конфигурациях пользователей.
OpenBLAS оказался наиболее подходящим компромиссом. Это открытая оптимизированная библиотека BLAS, которая даёт высокую производительность в базовых операциях линейной алгебры и служит фундаментом для более сложных методов. Для MQL5 ключевым аргументом стало именно покрытие задач LAPACK: не одна быстрая операция, а широкая база для SVD, собственных значений, решений систем линейных уравнений, least squares, факторизаций и уточнения решений.
Иными словами, выбор OpenBLAS был инженерным, а не декоративным. Нужна была библиотека, которая позволит развивать математические методы MQL5 системно: от базовых матричных операций к всё более сложным численным алгоритмам.
OpenBLAS в MQL5: от матриц к полноценной численной базе
27 сентября 2024 года в MetaTrader 5 build 4570 была добавлена штатная интеграция с OpenBLAS. Одновременно в MQL5 появились новые типы данных, необходимые для поддержки комплексных вычислений на float‑данных:
- complexf — комплексное число с данными float;
- vectorcf — вектор, содержащий элементы типа complexf;
- matrixcf — матрица, содержащая элементы типа complexf.
На первый взгляд это выглядит как техническая деталь. На самом деле это важный слой будущей математики MQL5. До этого уже были matrix, vector, комплексные числа и методы матриц. Но OpenBLAS потребовал более полного набора типов: вещественные и комплексные данные, double и float, разные варианты матриц и векторов.
Так MQL5 получает не просто “метод SVD” или “метод Eigen”. Он получает основу, на которой можно строить семейства алгоритмов для разных типов данных и разных численных задач.
Первые OpenBLAS‑методы в MQL5 были связаны с сингулярным разложением и вычислением собственных значений. Это естественная отправная точка. SVD и eigenvalue‑задачи лежат в основе огромного числа практических алгоритмов: от анализа устойчивости и снижения размерности до машинного обучения, статистики, обработки сигналов и построения моделей.
Для SVD были добавлены разные алгоритмические варианты: divide and conquer, QR, QR with pivoting, bisection, Jacobi high level, Jacobi low level и методы для бидиагональных матриц. Это важно, потому что в численных методах редко существует один “лучший” алгоритм на все случаи. Быстрый вариант может быть менее точным на плохих данных, а более устойчивый — дороже по вычислениям. Платформа должна давать разработчику выбор.
Методы собственных значений решают другую группу задач. Они нужны для анализа квадратных матриц, симметричных и эрмитовых матриц, устойчивости систем, спектральных характеристик и многих вычислительных процедур, которые используются в статистике, оптимизации и моделировании.
Позже раздел OpenBLAS в документации MQL5 начал расширяться. Это важный момент: интеграция OpenBLAS — не разовый релиз, а направление развития. Методы матриц и векторов постепенно получают всё больше возможностей, применимых к разным типам матриц: matrix, matrixf, matrixc и matrixcf.
Следующий естественный слой — методы уточнения решений, оценка ошибок, улучшение численной устойчивости, дополнительные факторизации. Именно так развивается серьёзная математическая база: не скачком от “ничего” к “всё есть”, а постепенным покрытием всё большего числа стандартных LAPACK‑задач.
Почему это важно для MQL-разработчика
На уровне обычного трейдера может показаться, что OpenBLAS — это что-то далёкое: библиотека для математиков, инженеров и научных вычислений. Но для MQL‑экосистемы её появление означает вполне практичную вещь.
Разработчик получает возможность строить более сложные модели прямо в MQL5. Не только вызвать индикатор, сравнить два значения и отправить ордер, а работать с данными как с массивами, векторами и матрицами. Считать разложения. Решать системы уравнений. Оценивать устойчивость. Использовать методы, которые раньше приходилось выносить в Python, C++ или сторонние библиотеки.
Это не отменяет Python, ONNX или внешние инструменты. Наоборот, они начинают лучше дополнять друг друга. Python удобен для исследований, обучения моделей и подготовки данных. ONNX удобен для переноса обученной модели в терминал. OpenBLAS даёт MQL5 сильную численную базу для тех случаев, когда вычисления должны выполняться внутри платформы.
В результате MetaTrader 5 постепенно становится местом, где можно не только торговать и тестировать советники, но и строить полноценный вычислительный контур:
- получить рыночные данные;
- подготовить признаки и матрицы;
- использовать модель ONNX;
- провести численные расчёты на базе matrix/vector;
- протестировать идею в тестере стратегий;
- распараллелить оптимизацию;
- встроить результат в советник, индикатор или сервис.
Именно поэтому OpenBLAS важно рассматривать не изолированно, а в связке с предыдущими шагами: MQL5, MetaEditor, Python, ONNX, матрицы, векторы и AI Assistant.
Агентный AI Assistant, MCP и OpenBLAS: три слоя одной инженерной среды
На первый взгляд агентный AI Assistant, MCP и OpenBLAS относятся к разным частям платформы. AI Assistant работает с намерением пользователя, MCP связывает модель с инструментами, а OpenBLAS выполняет численные алгоритмы. Но вместе они образуют цельный вычислительный контур.
AI Assistant отвечает за постановку и декомпозицию задачи: понять запрос, составить план, выбрать действия и интерпретировать результаты. MCP даёт агенту контролируемый доступ к терминалу, MetaEditor, проектам, рынку, торговой истории и внешним данным. OpenBLAS, matrix/vector, ONNX и другие технологии дают MQL5-программе вычислительную мощность для реализации самой модели.
Раньше разработчик вручную переходил между редактором, справкой, форумом, тестером, Python-ноутбуком и внешними библиотеками. Теперь часть этих переходов можно описать одной задачей: изучить проект, изменить код, собрать программу, подготовить данные, запустить анализ и оформить отчёт. Агент не заменяет компилятор, тестер или математическую библиотеку — он связывает их.
Именно поэтому MCP важен не меньше самой языковой модели. Без специализированных инструментов даже сильная модель остаётся собеседником. С MCP она получает возможность действовать внутри платформы, но в пределах заданных пользователем прав.
Algo Forge: код становится проектом
У современной инженерной среды есть ещё один слой, без которого невозможно представить серьёзную разработку: управление версиями, история изменений, совместная работа и публикация проекта как живого репозитория. Для MQL‑экосистемы эту роль постепенно взял на себя MQL5 Algo Forge.
Предшественником Algo Forge было MQL5 Storage — встроенное в MetaEditor онлайн‑хранилище исходных кодов MQL4/MQL5. Оно уже решало важную задачу: позволяло сохранять код в защищённом хранилище, смотреть историю изменений, возвращаться к предыдущим версиям и работать с групповыми проектами прямо из редактора.
Но предыдущее хранилище было основано на Subversion и морально устарело. Его логика хорошо подходила для сохранения и синхронизации исходников, но современная разработка требует большего: локальной истории, быстрых операций, веток для экспериментов, слияния изменений, работы офлайн и прозрачного участия нескольких разработчиков в одном проекте.
6 июня 2025 года в MetaTrader 5 build 5100 хранилище исходных кодов было полностью переработано: MQL5 Storage перешёл с Subversion на Git, а вместе с этим был открыт новый портал для управления проектами онлайн — MQL5 Algo Forge.
Это важный поворот. Если Code Base отвечал на вопрос "где найти готовый пример?", то Algo Forge отвечает на другой вопрос: "как жить с проектом, который развивается?". У сложного советника или библиотеки уже есть не только один файл MQ5. Есть include‑файлы, настройки тестирования, наборы параметров, модели, документация, README, вспомогательные скрипты, история экспериментов и несколько веток разработки.
Git меняет механику работы с таким кодом. Разработчик может создать отдельную ветку для новой идеи, проверить её в тестере, сравнить изменения, вернуться к предыдущему состоянию, объединить удачный эксперимент с основной версией и отправить результат в облачный репозиторий. История проекта перестаёт храниться в голове автора или в папках вида “final_new_2”. Она становится частью самой среды разработки.
Algo Forge добавляет к этому социальный слой. Разработчики могут изучать публичные проекты, подписываться на авторов, создавать команды, делать форки, клонировать репозитории, смотреть файлы, коммиты и ветки, оформлять документацию и делиться проектом в интернете. Для экосистемы MQL это означает переход от обмена отдельными исходниками к полноценной культуре совместной разработки.
Особенно важно это для статей и обучающих материалов. Код из статьи не должен жить только в архиве или прикреплённом наборе файлов. Его можно оформить как проект в Algo Forge: добавить понятную структуру, README.md, зафиксировать историю изменений и дать читателю не просто текст, а рабочую точку входа. Статья объясняет идею, а репозиторий показывает её в действии.
Так MetaEditor снова расширяет свою роль. Сначала он был местом, где пишут и компилируют код. Потом в нём появились справка, проекты, отладка, профилирование, AI Assistant и интеграции. Теперь к этому добавляется полноценный Git‑контур: история, ветки, коммиты, синхронизация и совместная работа.
В этой логике Algo Forge — не отдельный сервис "сбоку", а продолжение той же линии развития. MQL‑программа прошла путь от простого советника на одном графике до инженерного проекта, который можно версионировать, обсуждать, развивать командой, публиковать и поддерживать годами.
От Expert Advisors к инженерной среде
Если смотреть на всю историю целиком, путь MQL выглядит удивительно последовательным.
Сначала были Expert Advisors ещё до полноценного языка. Затем появился первый MQL — маленькая страница документации, немного переменных и возможность запускать торговую стратегию прямо в терминале. Потом MQL II добавил циклы, массивы, типы данных и математические функции. Пользовательские индикаторы расширили язык за пределы советников.
MetaTrader 4 собрал всё это в массовую модель: терминал, MQL4, MetaEditor, справка, советники, индикаторы, скрипты, библиотеки и тестирование. MQL4.COM добавил сообщество, Code Base и статьи. Чемпионаты показали, что автоматическая торговля может быть публичной, соревновательной и массовой.
MetaTrader 5 и MQL5 подняли потолок сложности. Объектно-ориентированное программирование, нативный код, стандартная библиотека, новая торговая модель, расширенный тестер, облачная оптимизация и MQL5.community превратили язык в более строгий инженерный инструмент.
Затем обратное влияние MQL5 обновило MQL4: единый компилятор, единый MetaEditor, новый язык, защита программ и Маркет приложений. Старый массовый продукт получил новую технологическую основу.
Дальше MQL5 начал выходить за пределы классического советника: OpenCL, пользовательские символы, .NET, сервисы, сетевые функции, SQLite, DirectX, Python, ONNX, матрицы и векторы. Всё это постепенно расширяло представление о том, чем может быть MQL‑программа.
Агентный AI Assistant, MCP и OpenBLAS — не случайные украшения на этой истории. Они находятся в её логическом продолжении, потому что развивают тот же принцип, который был виден ещё в 2001 году: дать пользователю больше самостоятельности внутри платформы.
Тогда самостоятельность означала возможность написать советник и отправить торговую операцию без участия человека. Сегодня она означает гораздо больше: поставить задачу агенту на естественном языке, дать ему контролируемый доступ к инструментам через MCP, написать и собрать код, использовать внешнюю модель машинного обучения, выполнить численные методы линейной алгебры, протестировать систему на истории и запустить её в инфраструктуре MetaTrader.
Не история версий, а история идеи
Историю MQL легко превратить в длинный список дат, build‑номеров и названий функций. Но тогда теряется главное.
Это не история о том, как один синтаксис сменил другой. И не история о том, как к терминалу постепенно добавляли всё больше пунктов меню.
Это история о том, как торговая платформа шаг за шагом забирала внутрь себя всё больше работы разработчика. Сначала — исполнение советника. Потом — язык. Потом — редактор. Потом — справку, тестирование, Code Base, статьи, чемпионаты, Маркет, облачную оптимизацию, внешние интеграции, машинное обучение, AI‑помощника, численную линейную алгебру и управление проектами через Algo Forge.
В этом смысле современный MetaEditor — не просто потомок старого окна редактирования эксперта. Это точка сборки всей MQL‑экосистемы: языка, документации, проектов, отладки, профилирования, моделей, математических методов, агентной помощи, MCP-инструментов и Git‑инфраструктуры для командной разработки.
Именно поэтому путь от первых Expert Advisors до агентного AI Assistant, MCP и OpenBLAS выглядит не набором разрозненных событий, а одной длинной линией развития. MetaQuotes с самого начала строила не просто терминал для просмотра рынка, а среду, в которой торговая идея становится программой, а программа — управляемым инженерным процессом.
Эта идея и продолжает двигать MQL вперёд.
Предупреждение: все права на данные материалы принадлежат MetaQuotes Ltd. Полная или частичная перепечатка запрещена.
Моделирование рынка: Position View (XIII)
Автоматизация торговых стратегий в MQL5 (Часть 46): Снятие ликвидности после пробоя структуры (BoS)
Автоматизация торговых стратегий в MQL5 (Часть 49): Разворотный паттерн "Квазимодо" (QM)
Управление позициями: Пирамидальное наращивание прибыльных позиций при снижающемся риске
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Только начал читать данную статью.
Это скрин MQ-платформы от 2001 года. Вроде, за 25 лет внешних изменений почти не произошло. И это даже хорошо.
Но какого черта в Marketwatch 2001 года указан часовой пояс?!
Ретроспектива интересная, некоторые утверждения спорные.
Однако, где Тестер?! Про него ноль, если не считать упоминание Frame-функций.
Где описание развития самого главного инструмента алгоритмической торговли MetaTrader?!
Или кто-то будет спорить, что Тестер MT4/5 - это не номер один в истории развития?
Причиной заинтересованности (обсуждение, улучшение и т.д.) в советниках является язык, а не Тестер?
Название статьи.
Как мы построили самую мощную торговую платформу с Machine Learning: хроника развития MQL и MetaTrader по архивам, форумам и релизам.
Все не стали описывать - это будет огромный список фич.
Попробуйте дописать сами - вы реально специалист в тестере.