Статьи по программированию на языках MQL4 и MQL5

icon

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами - членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: "Интеграция", "Тестер", "Торговые стратегии" и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие
preview
Создание и форвардное тестирование автономного LLM агента для трейдинга с SEAL

Создание и форвардное тестирование автономного LLM агента для трейдинга с SEAL

Гибридная архитектура на базе Llama 3.2 и SEAL тестируется на восьми валютных парах (M15) с форвардной изоляцией данных и контролем утечки информации. Методология объединяет adversarial self-play, curriculum learning и балансировку классов для стабильного обучения. Эксперименты подтверждают разрыв между точностью прогноза и реальной доходностью, что дает читателю практические ориентиры по проверке стратегий и корректной оценке их обобщающей способности.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (II)

Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (II)

Ранее мы обсуждали советник на основе индикатора, который также работал в паре с независимым скриптом для построения структуры риска и вознаграждения. Сегодня мы обсудим архитектуру MQL5-советника, объединяющего все функции в одной программе.
preview
Теория категорий в MQL5 (Часть 6): Мономорфные расслоенные произведения и эпиморфные кодекартовы квадраты

Теория категорий в MQL5 (Часть 6): Мономорфные расслоенные произведения и эпиморфные кодекартовы квадраты

Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который лишь недавно начал освещаться в MQL5-сообществе. Эта серия статей призвана рассмотреть некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
preview
Разработка инструментария для анализа движения цен (Часть 12): Внешние библиотеки (III) TrendMap

Разработка инструментария для анализа движения цен (Часть 12): Внешние библиотеки (III) TrendMap

Движение рынка определяется силами быков и медведей. Существуют определенные уровни, которые рынок соблюдает из-за действующих на них сил. Уровни Фибоначчи и VWAP особенно сильно влияют на поведение рынка. В этой статье мы рассмотрим стратегию, основанную на VWAP и уровнях Фибоначчи для генерации сигналов.
preview
Построение модели ограничения тренда свечей (Часть 7): Улучшаем нашу модель для разработки советника

Построение модели ограничения тренда свечей (Часть 7): Улучшаем нашу модель для разработки советника

В этой статье мы подробно рассмотрим подготовку нашего индикатора для разработки советника. В ходе обсуждения будут рассмотрены дальнейшие усовершенствования текущей версии индикатора с целью повышения его точности и функциональности. Кроме того, мы внедрим новые функции, которые будут отмечать точки выхода, устранив ограничение предыдущей версии, которая определяла только точки входа.
preview
Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах

Пользовательский индикатор: Отображение сделок входа, выхода и разворота позиции на неттинговых счетах

В данной статье мы рассмотрим нестандартный способ создания индикатора в MQL5. Вместо того, чтобы фокусироваться на тренде или графическом паттерне, нашей целью будет управление собственными позициями, включая частичные входы и выходы. Мы будем активно использовать динамические матрицы и некоторые торговые функции, связанные с историей сделок и открытыми позициями, чтобы указать на графике, где осуществились данные сделки.
preview
Автоматизация торговых стратегий на MQL5 (Часть 15): Гармонический паттерн «Шифр» (Cypher) ценового действия с визуализацией

Автоматизация торговых стратегий на MQL5 (Часть 15): Гармонический паттерн «Шифр» (Cypher) ценового действия с визуализацией

В настоящей статье мы исследуем автоматизацию гармонического паттерна «Шифр» (Cypher) на MQL5, подробно описывая его обнаружение и визуализацию на графиках MetaTrader 5. Мы реализуем советник, который определяет точки колебания, проверяет паттерны на основе Фибоначчи и совершает сделки с четкими графическими аннотациями. Статья завершается рекомендациями по тестированию на истории и оптимизации программы для эффективной торговли.
preview
Знакомство с языком MQL5 (Часть 25): Создание советника для торговли по графическим объектам (II)

Знакомство с языком MQL5 (Часть 25): Создание советника для торговли по графическим объектам (II)

В этой статье объясняется, как создать советник, который взаимодействует с графическими объектами, особенно с трендовыми линиями, чтобы выявлять потенциальные пробои и развороты и торговать по ним. Вы узнаете, как советник подтверждает действительность сигналов, управляет частотой торговли и поддерживает согласованность с выбранными пользователем стратегиями.
preview
Разработка системы репликации (Часть 55): Модуль управления

Разработка системы репликации (Часть 55): Модуль управления

В этой статье мы реализуем индикатор управления, чтобы его можно было интегрировать в разрабатываемую систему обмена сообщениями. Несмотря на то, что это не очень сложно, необходимо понять некоторые детали инициализации этого модуля. Представленный здесь материал предназначен исключительно для учебных целей. Ни в коем случае он не должен рассматриваться как приложение, целью которого не является изучение и освоение показанных концепций.
preview
Алгоритм верблюда — Camel Algorithm (CA)

Алгоритм верблюда — Camel Algorithm (CA)

Алгоритм верблюда, разработанный в 2016 году, моделирует поведение верблюдов в пустыне для решения оптимизационных задач, учитывая факторы температуры, запасов и выносливости. В данной работе представлена еще его модифицированная версия (CAm) с ключевыми улучшениями: применение гауссова распределения при генерации решений и оптимизация параметров эффекта оазиса.
preview
Разработка системы репликации (Часть 49): Все усложняется (I)

Разработка системы репликации (Часть 49): Все усложняется (I)

В этой статье мы немного усложним ситуацию. Используя то, что было показано в предыдущих статьях, мы начнем открывать доступ к файлу шаблона, чтобы пользователь мог использовать свой собственный шаблон. Однако я буду вносить изменения постепенно, так как также буду дорабатывать индикатор, чтобы снизить нагрузку на MetaTrader 5.
preview
От начального до среднего уровня: Переменные (I)

От начального до среднего уровня: Переменные (I)

Многим начинающим программистам тяжело понять почему их код работает не так, как они ожидают. Существует множество моментов, которые делают код действительно функциональным. Это не просто набор разных функций и операций, который заставляет код работать. Сегодня я предлагаю вам научиться правильно создавать настоящий код, а не копировать и вставлять его фрагменты. Представленные здесь материалы имеют исключительно дидактический характер. Ни в коем случае нельзя рассматривать приложение ни с какой иной целью, кроме как для изучения и освоения представленных концепций.
preview
Конструктор советников MQL5 (Часть 1): Простой статический шаблон

Конструктор советников MQL5 (Часть 1): Простой статический шаблон

В статье разбирается пример многоцелевого шаблона торгового робота, который подойдет как для создания собственных стратегий, так и в качестве кодовой базы для работы на фрилансе. Ключевая особенность решения — торговля по барам, при этом код уже оснащен встроенными режимами усреднения, мартингейла и длительного удержания позиций. Материал будет наиболее полезен новичкам, которые хотят написать свои простые стратегии или познакомиться с распространенными торговыми техниками.
preview
Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 1): Индикатор

Создание пользовательской системы определения рыночного режима на языке MQL5 (Часть 1): Индикатор

В этой статье подробно описывается создание системы определения рыночного режима на языке MQL5 с использованием статистических методов, таких как автокорреляция и волатильность. Она предоставляет код для классов, чтобы классифицировать трендовые, диапазонные и волатильные условия, а также пользовательский индикатор.
preview
Разработка системы репликации (Часть 29): Проект советника — класс C_Mouse (III)

Разработка системы репликации (Часть 29): Проект советника — класс C_Mouse (III)

После улучшения класса C_Mouse, мы можем сосредоточиться на создании класса, призванного создать совершенно новую основу для обучения. Как уже упоминалось в начале статьи, мы не будем использовать наследование или полиморфизм для создания этого нового класса. Вместо этого мы изменим, а точнее, добавим новые объекты в ценовую линию. Именно этим мы и займемся в данный момент, а в следующей статье мы рассмотрим, как изменить исследования. Но мы сделаем всё это, не меняя код класса C_Mouse. Признаюсь, на практике было бы легче достичь этого с помощью наследования или полиморфизма. однако существуют и другие методы достижения такого же результата.
preview
Нейронная сеть на практике: Псевдообратная (I)

Нейронная сеть на практике: Псевдообратная (I)

Сегодня мы начнем рассматривать, как можно реализовать вычисление псевдообратной на чистом языке MQL5. Код, который мы просмотрели, будет значительно сложнее для новичков, чем хотелось бы, и я всё еще думаю над тем, как объяснить его в простой форме. Поэтому пока считайте, что это возможность изучить необычный код. Спокойно и без спешки. Несмотря на то, что он не ориентирован на эффективное или быстрое применение, его цель - быть как можно более дидактичным.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 57): Обучение с учителем совместно со скользящей средней и стохастическим осциллятором

Возможности Мастера MQL5, которые вам нужно знать (Часть 57): Обучение с учителем совместно со скользящей средней и стохастическим осциллятором

Скользящая средняя и стохастический осциллятор — очень распространенные индикаторы, которые считаются запаздывающими. В минисерии из трех статей, посвященной трем основным формам машинного обучения, мы попытаемся выяснить, оправдана ли эта предвзятость по отношению к этим индикаторам, или же они могут иметь предсказательную силу. Мы проводим анализ с помощью советников, созданных в Мастере.
preview
Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (I) — Скрипт Quarters Drawer

Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (I) — Скрипт Quarters Drawer

Точки поддержки и сопротивления являются критическими уровнями, которые сигнализируют о возможном развороте и продолжении тренда. Хотя определение этих уровней может оказаться непростой задачей, ее решение позволит вам хорошо ориентироваться на рынке. В статье представлен инструмент Quarters Drawer. Он поможет вам определить как основные, так и второстепенные уровни поддержки и сопротивления.
preview
Нейросети в трейдинге: Иерархический двухбашенный трансформер (Hidformer)

Нейросети в трейдинге: Иерархический двухбашенный трансформер (Hidformer)

Предлагаем познакомиться с фреймворком иерархического двухбашенного трансформера (Hidformer), который был разработан для прогнозирования временных рядов и анализа данных. Авторы фреймворка предложили несколько улучшений к архитектуре Transformer, что позволило повысить точность прогнозов и снизить потребление вычислительных ресурсов.
preview
Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

Оптимизация Королевской Битвой — Battle Royale Optimizer (BRO)

Статья разбирает алгоритм Battle Royale Optimizer — метаэвристику, в которой решения конкурируют с ближайшими соседями, накапливают “повреждения”, заменяются при превышении порога и периодически сужают пространство поиска вокруг лучшего. Показаны псевдокод и реализация класса CAOBRO в MQL5, включая поиск соседей, движение к лучшему и адаптивный интервал delta. Результаты тестов на функциях Hilly, Forest и Megacity демонстрируют сильные и слабые стороны подхода. Читатель получает готовую основу для экспериментов и настройки popSize и maxDamage.
preview
Разработка системы репликации (Часть 27): Проект советника — класс C_Mouse (I)

Разработка системы репликации (Часть 27): Проект советника — класс C_Mouse (I)

В этой статье мы воплотим в жизнь класс C_Mouse. Он обеспечивает возможности программирования на самом высоком уровне. Однако разговоры о высокоуровневых или низкоуровневых языках программирования не связаны с включением в код нецензурных слов или жаргона. Всё наоборот. Когда мы говорим о высокоуровневом или низкоуровневом программировании, мы имеем в виду, насколько легко или сложно понять код другим программистам.
preview
Скрытые марковские модели для прогнозирования волатильности с учетом тренда

Скрытые марковские модели для прогнозирования волатильности с учетом тренда

Скрытые марковские модели (СММ) — это мощный статистический инструмент, позволяющий выявлять скрытые состояния рынка на основе анализа наблюдаемых ценовых движений. В трейдинге СММ позволяют улучшить прогнозирование волатильности и применяются при разработке трендовых стратегий, моделируя изменения рыночных режимов. В этой статье мы представим пошаговый процесс разработки стратегии следования за трендом, которая использует СММ в качестве фильтра для прогнозирования волатильности.
preview
Нейросети в трейдинге: Двойная кластеризация временных рядов (DUET)

Нейросети в трейдинге: Двойная кластеризация временных рядов (DUET)

Фреймворк DUET предлагает инновационный подход к анализу временных рядов, сочетая временную и канальную кластеризацию для выявления скрытых закономерностей в анализируемых данных. Это позволяет адаптировать модели к изменениям во времени и повысить качество прогнозирования за счет устранения шума.
preview
Нейросети в трейдинге: Обобщение временных рядов без привязки к данным (Mamba4Cast)

Нейросети в трейдинге: Обобщение временных рядов без привязки к данным (Mamba4Cast)

В этой статье мы знакомимся с фреймворком Mamba4Cast и подробно рассматриваем один из его ключевых компонентов — позиционное кодирование на основе временных меток. Показано, как формируется временной эмбеддинг с учётом календарной структуры данных.
preview
Торговый инструментарий MQL5 (Часть 3): Разработка EX5-библиотеки для управления отложенными ордерами

Торговый инструментарий MQL5 (Часть 3): Разработка EX5-библиотеки для управления отложенными ордерами

Вы узнаете, как разработать и внедрить комплексную библиотеку отложенных EX5-ордеров в ваш код или MQL5-проекты. Мы рассмотрим, как импортировать и реализовать такую библиотеку в составе торговой панели или графического пользовательского интерфейса (GUI). Панель ордеров советника позволит пользователям открывать, отслеживать и удалять отложенные ордера по магическому числу непосредственно из графического интерфейса в окне графика.
preview
Разработка советника для анализа новостных событий о пробоях на основе календаря на MQL5

Разработка советника для анализа новостных событий о пробоях на основе календаря на MQL5

Волатильность, как правило, достигает пика во время важных новостных событий, создавая значительные возможности для пробоя. В настоящей статье мы расскажем о процессе реализации основанной на календаре стратегии прорыва. Мы рассмотрим все, начиная с создания класса для интерпретации и хранения календарных данных, разработки реалистичных бэк-тестов на основе этих данных и, наконец, реализации кода исполнения для реальной торговли.
preview
Майнинг данных CFTC на Python и ИИ модель на их основе

Майнинг данных CFTC на Python и ИИ модель на их основе

Попробуем смайнить даные CFTC, загрузить отчеты COT и TFF через Python, соединить это с котировками MetaTrader 5 и моделью ИИ и получить прогнозы. Что такое отчеты COT на рынке Форекс? Как использовать отчеты COT и TFF для прогнозирования?
preview
Выборочные методы марковских цепей Монте-Карло. Алгоритм HMC

Выборочные методы марковских цепей Монте-Карло. Алгоритм HMC

В статье исследуется гамильтонов алгоритм Монте-Карло (HMC) — золотой стандарт сэмплирования из сложных многомерных распределений. Представлена полноценная реализация HMC на языке MQL5, которая включает адаптивную настройку матрицы масс, поиск моды апостериорного распределения (MAP) с помощью метода оптимизации L-BFGS и комплексной диагностикой.
preview
Собственные векторы и собственные значения: Разведочный анализ данных в MetaTrader 5

Собственные векторы и собственные значения: Разведочный анализ данных в MetaTrader 5

В статье мы рассмотрим различные способы применения собственных векторов и собственных значений в разведочном анализе данных для выявления в них уникальных взаимосвязей.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 52): Осциллятор Accelerator

Возможности Мастера MQL5, которые вам нужно знать (Часть 52): Осциллятор Accelerator

Осциллятор ускорения (Accelerator Oscillator) — еще один индикатор Билла Вильямса, который отслеживает ускорение ценового импульса, а не только его темп. Хотя он во многом похож на осциллятор Awesome, который мы рассматривали в недавней статье, он стремится избежать эффектов запаздывания, концентрируясь на ускорении, а не только на скорости. Мы, как обычно, рассмотрим паттерны индикатора, а также их значение в торговле с помощью советника, собранного в Мастере.
preview
Торговый инструментарий MQL5 (Часть 8): Внедрение и использование EX5-библиотеки для управления историей в коде

Торговый инструментарий MQL5 (Часть 8): Внедрение и использование EX5-библиотеки для управления историей в коде

В заключительной статье этой серии вы узнаете, как легко импортировать и применять EX5-библиотеку для управления историей (History Manager) в исходном коде MQL5 для обработки истории сделок в вашем аккаунте MetaTrader 5. С помощью простых вызовов функций в MQL5, занимающих всего одну строку кода, вы сможете эффективно управлять своими торговыми данными и анализировать их. Кроме того, вы научитесь создавать различные скрипты для анализа истории сделок и разрабатывать советник на основе ценовых показателей в качестве практических примеров использования. Используемый в качестве примера советник применяет данные о ценах и библиотеку History Manager EX5 для принятия обоснованных торговых решений, корректировки объемов сделок и реализации стратегий восстановления на основе ранее закрытых сделок.
preview
Создание торговой панели администратора на MQL5 (Часть V): Двухфакторная аутентификация (2FA)

Создание торговой панели администратора на MQL5 (Часть V): Двухфакторная аутентификация (2FA)

В статье рассмотрено повышение безопасности панели торгового администратора, которая в настоящее время находится в разработке. Мы рассмотрим, как внедрить MQL5 в новую стратегию безопасности, интегрировав API Telegram для двухфакторной аутентификации (2FA). Статья предоставит ценную информацию о применении MQL5 для усиления мер безопасности. Кроме того, мы рассмотрим функцию MathRand, сосредоточившись на ее функциональности и на том, как ее можно эффективно использовать в нашей системе безопасности.
preview
Разработка инструментария для анализа движения цен (Часть 4): Советник Analytics Forecaster

Разработка инструментария для анализа движения цен (Часть 4): Советник Analytics Forecaster

Мы выходим за рамки простого просмотра проанализированных показателей на графиках и переходим к более широкой перспективе, которая включает интеграцию с Telegram. Это позволит отправлять важные результаты непосредственно на мобильное устройство через Telegram.
preview
Нейросети в трейдинге: Интеллектуальный конвейер прогнозов (Окончание)

Нейросети в трейдинге: Интеллектуальный конвейер прогнозов (Окончание)

Эта статья увлекательно покажет, как SwiGLU‑эмбеддинг раскрывает скрытые паттерны рынка, а разреженная смесь экспертов внутри Decoder‑Only Transformer делает прогнозы точнее при разумных вычислительных затратах. Мы подробно разбираем интеграцию Time‑MoE в MQL5 и OpenCL, шаг за шагом описываем настройку и обучение модели.
preview
Нейросети в трейдинге: Двухмерные модели пространства связей (Chimera)

Нейросети в трейдинге: Двухмерные модели пространства связей (Chimera)

Откройте для себя инновационный фреймворк Chimera — двухмерную модель пространства состояний, использующую нейросети для анализа многомерных временных рядов. Этот метод предлагает высокую точность с низкими вычислительными затратами, превосходя традиционные подходы и архитектуры Transformer.
preview
Разработка инструментария для анализа движения цен (Часть 21): Поиск разворотов рыночной структуры

Разработка инструментария для анализа движения цен (Часть 21): Поиск разворотов рыночной структуры

Советник для поиска разворотов на рынке Market Structure Flip Detector позволяет отслеживать изменения рыночных настроений. Он использует пороговые значения, вычисленные на основе ATR, чтобы отслеживать изменения структуры. Советник помечает каждый более высокий и более низкий максимум. Благодаря быстрому выполнению кода и гибкому API, этот инструмент предлагает анализ в реальном времени, визуализирует информацию на графике и содержит интерактивную панель мониторинга для отслеживания количества и времени разворотов. Кроме того, можно настроить звуковые и push-уведомления, чтобы не пропустить ни один важный сигнал и строить действенные стратегии на основе простых входных данных и вспомогательных функций.
preview
Осциллятор Parafrac V2: Интеграция Parabolic SAR и среднего истинного диапазона (Average True Range)

Осциллятор Parafrac V2: Интеграция Parabolic SAR и среднего истинного диапазона (Average True Range)

Осциллятор Parafrac V2 — передовой инструмент технического анализа, который объединяет индикатор Parabolic SAR (параболический индикатор «остановки и разворота») с индикатором среднего истинного диапазона (Average True Range, ATR), чтобы преодолеть ограничения своего предшественника, который полагался на фракталы и был склонен к тому, что пики сигнала заглушали предыдущие и текущие сигналы. Благодаря использованию показателя волатильности ATR, версия 2 предлагает более плавный и надежный метод обнаружения трендов, разворотов и расхождений, помогая трейдерам уменьшить перегрузку графиков и аналитический паралич.
preview
Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

Улучшите свой код MQL5, оптимизировав логику, улучшив вычисления и сократив время выполнения, чтобы повысить точность тестирования на истории. Проведите тонкую настройку параметров, оптимизацию циклов и устранение неэффективности для улучшения результата.
preview
Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA): Продолжение

Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA): Продолжение

Продолжение исследования алгоритма хаотической оптимизации. Вторая часть статьи посвящена практическим аспектам реализации алгоритма, его тестированию и выводам.
preview
Разработка системы репликации (Часть 30): Проект советника — класс C_Mouse (IV)

Разработка системы репликации (Часть 30): Проект советника — класс C_Mouse (IV)

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