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

icon

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

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

Новая статья
последние | лучшие
preview
Создание динамических графических интерфейсов на MQL5 через бикубическую интерполяцию

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

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

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

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

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

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

WebSocket для MetaTrader 5 — Асинхронные клиентские соединения с помощью Windows API

В данной статье подробно описывается разработка пользовательской динамически подключаемой библиотеки, предназначенной для упрощения асинхронных клиентских соединений по протоколу WebSocket для программ MetaTrader.
preview
Создание динамических графических интерфейсов на MQL5 через бикубическую интерполяцию

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

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

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

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

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

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

Нейросимвольные системы в алготрейдинге: Объединение символьных правил и нейронных сетей

Статья рассказывает об опыте разработки гибридной торговой системы, объединяющей классический технический анализ с нейронными сетями. Автор подробно разбирает архитектуру системы — от базового анализа паттернов и структуры нейросети до механизмов принятия торговых решений, делясь реальным кодом и практическими наблюдениями.
preview
Оптимизация и тонкая настройка исходного кода для улучшения результатов тестирования на истории

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

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

Знакомство с языком MQL5 (Часть 26): Советник по зонам поддержки/сопротивления — выявление, проверка пробоя и вход

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

Марковские цепи в трейдинге и прогнозировании цены

В этой статье мы рассмотрим, как строить и применять марковские цепи в условиях рынка: от выбора состояний и подсчета переходов до генерации прогнозов траекторий и уровней. Также, мы увидим, как можно применять марковские цепи для качественных и количественных данных, способы учета редких событий и влияние горизонта прогноза. Даны примеры на ценах и индикаторах, а также вариант для оценки последовательности сделок, с готовыми реализациями в MQL5.
preview
Пример сетевого анализа причинно-следственных связей (CNA) и модели векторной авторегресси для прогнозирования рыночных событий

Пример сетевого анализа причинно-следственных связей (CNA) и модели векторной авторегресси для прогнозирования рыночных событий

В настоящей статье представлено подробное руководство по реализации сложной торговой системы с использованием сетевого анализа причинно-следственных связей (CNA) и векторной авторегрессии (VAR) в MQL5. В ней излагаются теоретические основы этих методов, предлагаются подробные объяснения ключевых функций торгового алгоритма, а также приводится пример кода для реализации.
preview
Нейросети в трейдинге: Адаптивная периодическая сегментация (Окончание)

Нейросети в трейдинге: Адаптивная периодическая сегментация (Окончание)

Предлагаем погрузиться в захватывающий мир LightGTS — лёгкого, но мощного фреймворка для прогноза временных рядов, где адаптивная свёртка и RoPE‑кодирование сочетаются с инновационным методами внимания. В нашей статье вы найдёте детальное описание всех компонентов — от создания патчей до сложной смеси экспертов в декодере, готовых к интеграции в MQL5‑проекты. Откройте для себя, как LightGTS выводит автоматическую торговлю на новый уровень!
preview
Создание торговой панели администратора на MQL5 (Часть III): Расширение встроенных классов для управления темами (II)

Создание торговой панели администратора на MQL5 (Часть III): Расширение встроенных классов для управления темами (II)

Мы расширим существующую библиотеку Dialog, включив в нее логику управления темами. Кроме того, мы интегрируем методы переключения тем в классы CDialog, CEdit и CButton, используемые в нашем проекте панели администратора.
preview
Разработка системы репликации (Часть 30): Проект советника — класс C_Mouse (IV)

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

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

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

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

Подробная информация о торговле на основе объема: Выход за рамки графиков OHLC

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

Создаем интерактивную MQL5-панель с использованием класса Controls (Часть 2): Добавление отзывчивости кнопок

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 43): Обучение с подкреплением с помощью SARSA

SARSA (State-Action-Reward-State-Action, состояние-действие-вознаграждение-состояние-действие) — еще один алгоритм, который можно использовать при реализации обучения с подкреплением. Рассмотрим, как можно реализовать этот алгоритм в качестве независимой модели (а не просто механизма обучения) в советниках, собранных в Мастере, аналогично тому, как мы это делали в случаях с Q-обучением и DQN.
preview
Упрощаем торговлю на новостях (Часть 5): Совершаем сделки (II)

Упрощаем торговлю на новостях (Часть 5): Совершаем сделки (II)

В этой статье мы детально рассмотрим класс управления сделками, включив в него ордера buy stop и sell stop для торговли новостными событиями, а также введем ограничение срока действия этих ордеров, чтобы предотвратить переносы торговли на следующий день. В советник будет встроена функция проскальзывания, которая попытается предотвратить или минимизировать возможное проскальзывание, которое может возникнуть при использовании стоп-ордеров в торговле, особенно во время выхода новостей.
preview
Автоматизация торговых стратегий на MQL5 (Часть 11): Разработка многоуровневой системы сеточной торговли

Автоматизация торговых стратегий на MQL5 (Часть 11): Разработка многоуровневой системы сеточной торговли

В настоящей статье мы разрабатываем советник многоуровневой системы сеточной торговли с использованием MQL5, уделяя особое внимание архитектуре и алгоритмам, лежащим в основе стратегий сеточной торговли. Мы изучим внедрение многоуровневой сетевой логики и методов управления рисками для работы в изменяющихся рыночных условиях. Наконец, приведём подробные объяснения и практические советы, которые помогут вам в создании, тестировании и совершенствовании автоматической торговой системы.
preview
Знакомство с кривыми рабочих характеристик приемника (ROC-кривыми)

Знакомство с кривыми рабочих характеристик приемника (ROC-кривыми)

ROC-кривые — графические представления, используемые для оценки эффективности классификаторов. Хотя графики ROC относительно просты, на практике при их использовании существуют распространенные заблуждения и подводные камни. Цель данной статьи — познакомить читателя с графиками ROC как инструментом для практикующих специалистов, стремящихся разобраться в оценке эффективности классификаторов.
preview
Нейросети в трейдинге: Распутывание структурных компонентов (Окончание)

Нейросети в трейдинге: Распутывание структурных компонентов (Окончание)

В статье подробно раскрывается SCNN-архитектура и один из вариантов её реализация средствами MQL5. Мы покажем, как декомпозиция временных рядов сочетается с нейросетевыми методами и вниманием.
preview
Тенденции и традиции: Использование функций Радемахера в трейдинге

Тенденции и традиции: Использование функций Радемахера в трейдинге

Несмотря на то, что функции, о которых пойдет речь, известны уже довольно давно, их применение в области трейдинга до сих пор остается terra incognita. В этой статье мы рассмотрим некоторые возможности, которые эти новые старые функции открывают для разработки торговых стратегий, и оценим их потенциал.
preview
Введение в Connexus (Часть 1): Как использовать функцию WebRequest?

Введение в Connexus (Часть 1): Как использовать функцию WebRequest?

Настоящая статья является началом серии разработок для библиотеки под названием “Connexus”, предназначенной для облегчения выполнения HTTP-запросов с помощью MQL5. Цель настоящего проекта - предоставить конечному пользователю такую возможность и показать, как использовать эту вспомогательную библиотеку. Я намеревался сделать его как можно более простым, чтобы облегчить изучение и обеспечить возможность для будущих разработок.
preview
Создание торговой панели администратора на MQL5 (Часть II): Повышение оперативности реагирования и быстрого обмена сообщениями

Создание торговой панели администратора на MQL5 (Часть II): Повышение оперативности реагирования и быстрого обмена сообщениями

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

Нейросети в трейдинге: Адаптивное обнаружение рыночных аномалий (Окончание)

Продолжаем построение алгоритмов, заложенные в основу фреймворка DADA — передового инструмента для обнаружения аномалий во временных рядах. Этот подход позволяет эффективно отличать случайные флуктуации от значимых отклонений. В отличие от классических методов, DADA динамически адаптируется к разным типам данных, выбирая оптимальный уровень сжатия в каждом конкретном случае.
preview
Аналитическая торговля на основе профиля объема (AVPT): Архитектура ликвидности, рыночная память и алгоритмическое исполнение

Аналитическая торговля на основе профиля объема (AVPT): Архитектура ликвидности, рыночная память и алгоритмическое исполнение

Аналитическая торговля на основе профиля объема (AVPT): (Analytical Volume Profile Trading, AVPT) показывает, как архитектура ликвидности и рыночная память формируют поведение цены, что позволяет получить более глубокое понимание институционального позиционирования и структуры, определяемой объемом торгов. Графически отображая точки максимального объёма (POC), уровни высокого объёма (HVN), уровни низкого объёма (LVN) и зоны стоимости, трейдеры могут с высокой точностью определять зоны принятия, отклонения и дисбаланса.
preview
Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

Сегодня мы продолжим разработку системы и управления. Без возможности управления сервисом сложно двигаться вперед и совершенствовать систему.
preview
Причинно-следственный анализ временных рядов с помощью энтропии переноса

Причинно-следственный анализ временных рядов с помощью энтропии переноса

В этой статье обсудим, как можно применить статистические причинно-следственные связи при определении прогностических переменных. Мы рассмотрим связь между причинностью и энтропией переноса, а также представим код на MQL5 для обнаружения направленных переносов информации между двумя переменными.
preview
Переосмысливаем классические стратегии (Часть V): Анализ нескольких инструментов в валютной паре USDZAR

Переосмысливаем классические стратегии (Часть V): Анализ нескольких инструментов в валютной паре USDZAR

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

Моделирование рынка (Часть 06): Перенос данных из MetaTrader 5 в Excel

Многим, особенно тем, кто не занимается программированием, очень сложно передавать информацию между MetaTrader 5 и другими программами. Одной из таких программ является Excel. Многие люди используют Excel для управления и контроля своих рисков, так как это очень хорошая программа, которую легко освоить даже тем, кто не является программистом на VBA. Далее мы рассмотрим, как установить связь между MetaTrader 5 и Excel (очень простой метод).
preview
Метод группового учета аргументов: реализация комбинаторного алгоритма на MQL5

Метод группового учета аргументов: реализация комбинаторного алгоритма на MQL5

В этой статье мы продолжаем изучение семейства алгоритмов группового учета аргументов. Реализуем средствами MQL5 комбинаторный алгоритм, а также его усовершенствованную версию — комбинаторный селективный алгоритм.
preview
Нейросети в трейдинге: Мультизадачное обучение на основе модели ResNeXt

Нейросети в трейдинге: Мультизадачное обучение на основе модели ResNeXt

Фреймворк многозадачного обучения на основе ResNeXt оптимизирует анализ финансовых данных, учитывая их высокую размерность, нелинейность и временные зависимости. Использование групповой свертки и специализированных голов позволяет модели эффективно извлекать ключевые признаки исходных данных.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

В статье добавим функционал изменения размеров элементов управления при помощи перетаскивания мышкой граней и углов элемента.
preview
Применение локализованного отбора признаков на Python и MQL5

Применение локализованного отбора признаков на Python и MQL5

В настоящей статье рассматривается алгоритм отбора признаков, представленный в статье "Выбор локальных признаков для классификации данных» ('Local Feature Selection for Data Classification') Наргеса Арманфарда и соавторов (Narges Armanfard et al.). Алгоритм реализован на Python для построения моделей бинарных классификаторов, которые могут быть интегрированы с приложениями MetaTrader 5 для логического вывода.
preview
Обучение нелинейного U-Transformer на остатках линейной авторегрессионной модели

Обучение нелинейного U-Transformer на остатках линейной авторегрессионной модели

Статья представляет инновационную гибридную систему для прогнозирования валютных курсов, которая сочетает линейную авторегрессионную модель с архитектурой U-Transformer для анализа остатков. Система автоматически переключается между источниками сигналов в зависимости от их качества и включает полноценную торговую логику с averaging/pyramiding стратегиями. Ключевое преимущество подхода заключается в том, что нейросеть обучается на остатках линейной модели, что упрощает задачу и снижает риск переобучения. Реализация выполнена полностью на MQL5 и готова к использованию в реальной торговле с автоматической адаптацией к изменяющимся рыночным условиям.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

В статье добавим функционал изменения размеров элементов управления при помощи перетаскивания мышкой граней и углов элемента.
preview
Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями

Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями

В данной статье рассматривается создание интерфейса обмена сообщениями для MetaTrader 5, предназначенного для системных администраторов, чтобы облегчить общение с другими трейдерами непосредственно внутри платформы. Недавняя интеграция социальных платформ с MQL5 позволяет быстро транслировать сигнал по разным каналам. Представьте, что вы можете проверять отправленные сигналы одним щелчком мыши — либо "ДА", либо "НЕТ". Читайте дальше, чтобы узнать больше.
preview
Нейросети в трейдинге: Модели многократного уточнения прогнозов (Основные компоненты)

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

В статье мы раскрываем внутреннюю механику фреймворка RAFT — одного из самых точных и элегантных подходов к анализу динамических процессов. Мы шаг за шагом адаптируем его идею итеративного уточнения под финансовые временные ряды, создавая прочный фундамент для будущей модели. Читателя ждёт живое погружение в архитектуру, где каждый компонент имеет свой смысл и функцию.