От первых советников до агентного 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‑программы нач
Подробнее https://smart-lab.ru/company...






