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

icon

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

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

Новая статья
последние | лучшие
preview
От начального до среднего уровня: Массив (III)

От начального до среднего уровня: Массив (III)

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

От CPU к GPU в MQL5: практическая схема OpenCL для ускорения исследований, оптимизаций и паттернов

Узнайте, как выстроить практическую схему перехода от CPU к GPU в MQL5 с использованием OpenCL. Подробно рассматриваются инициализация контекста, организация буферов, крупные батчи, запуск kernel и минимизация обменов данными. Приведены типовые ошибки и способы их устранения. Пример со свечными паттернами иллюстрирует практическую пользу подхода.
preview
От начального до среднего уровня: Плавающая точка

От начального до среднего уровня: Плавающая точка

Эта статья является кратким введением к понятию числа с плавающей точкой. Поскольку этот текст очень сложный, советую вам прочитать его спокойно и внимательно. Не рассчитывайте быстро освоить систему с плавающей точкой, она становится понятной только со временем, по мере появления опыта использования. Но эта статья поможет вам понять, почему ваше приложение иногда выдает результат, отличный от ожидаемого.
preview
Оптимизация нейробоидами — Neuroboids Optimization Algorithm (NOA)

Оптимизация нейробоидами — Neuroboids Optimization Algorithm (NOA)

Новая авторская биоинспирированная метаэвристика оптимизации — NOA (Neuroboids Optimization Algorithm), объединяющая принципы коллективного интеллекта и нейронных сетей. В отличие от классических методов, алгоритм использует популяцию самообучающихся "нейробоидов", каждый с собственной нейросетью, адаптирующей стратегию поиска в реальном времени. Статья раскрывает архитектуру алгоритма, механизмы самообучения агентов и перспективы применения этого гибридного подхода в сложных задачах оптимизации.
preview
Автоматизация торговых стратегий на MQL5 (Часть 12): Реализация стратегии смягчения ордер-блоков (MOB)

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

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

Автоматизация торговых стратегий на MQL5 (Часть 21): Улучшение торговли на основе нейронных сетей с помощью адаптивных темпов обучения

В этой статье мы улучшим торговую стратегию на основе нейронной сети на MQL5 с помощью адаптивного темпа обучения (adaptive learning rate) для повышения точности. Мы разработаем и внедрим это улучшение, а затем протестируем его работу. В заключении приводятся рекомендации по оптимизации алгоритмической торговли.
preview
Автоматизация торговых стратегий на MQL5 (Часть 22): Создание системы зонального восстановления для трендовой торговли по индикатору Envelopes

Автоматизация торговых стратегий на MQL5 (Часть 22): Создание системы зонального восстановления для трендовой торговли по индикатору Envelopes

Мы разработаем систему зонального восстановления (Zone Recovery System), интегрированную со стратегией трендовой торговли на основе конвертов (Envelopes trend-trading strategy) на MQL5. Также мы опишем архитектуру использования индикаторов RSI и конвертов для инициирования сделок и управления зональным восстановлением с целью минимизации потерь. На практике и в ходе тестирования мы продемонстрируем, как создать эффективную автоматизированную торговую систему для динамичных рынков.
preview
Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (Основные компоненты)

Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (Основные компоненты)

В статье мы подробно рассмотрели интеграцию модуля SSAM в блок SEW‑ResNeXt, демонстрируя, как фреймворк S3CE‑Net позволяет эффективно объединять спайковое внимание с остаточными блоками. Такая архитектура обеспечивает точную обработку временных и пространственных потоков данных и высокую стабильность обучения. Модульность и гибкость компонентов упрощают расширение модели и повторное использование проверенных методов.
Материалы Automated Trading Championship: Регистрация
Материалы Automated Trading Championship: Регистрация

Материалы Automated Trading Championship: Регистрация

В данной статье собраны полезные материалы, которые помогут вам узнать больше о процедуре регистрации на Automated Trading Championship.
preview
Ансамблевые методы для улучшения численного прогнозирования в MQL5

Ансамблевые методы для улучшения численного прогнозирования в MQL5

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

Автоматизация торговых стратегий на MQL5 (Часть 21): Улучшение торговли на основе нейронных сетей с помощью адаптивных темпов обучения

В этой статье мы улучшим торговую стратегию на основе нейронной сети на MQL5 с помощью адаптивного темпа обучения (adaptive learning rate) для повышения точности. Мы разработаем и внедрим это улучшение, а затем протестируем его работу. В заключении приводятся рекомендации по оптимизации алгоритмической торговли.
preview
Автоматизация торговых стратегий на MQL5 (Часть 22): Создание системы зонального восстановления для трендовой торговли по индикатору Envelopes

Автоматизация торговых стратегий на MQL5 (Часть 22): Создание системы зонального восстановления для трендовой торговли по индикатору Envelopes

Мы разработаем систему зонального восстановления (Zone Recovery System), интегрированную со стратегией трендовой торговли на основе конвертов (Envelopes trend-trading strategy) на MQL5. Также мы опишем архитектуру использования индикаторов RSI и конвертов для инициирования сделок и управления зональным восстановлением с целью минимизации потерь. На практике и в ходе тестирования мы продемонстрируем, как создать эффективную автоматизированную торговую систему для динамичных рынков.
preview
Нейросети в трейдинге: Адаптивное масштабирование представлений (Окончание)

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

В статье представлена интеграция ранее реализованных компонентов фреймворка ADS в прикладную торговую модель и их проверка на исторических данных. Показано, как построение объекта верхнего уровня позволяет встроить сложную архитектуру в существующие решения, сохранив управляемость и прозрачность модели. Проведенное тестирование раскрывает как потенциал подхода в генерации прибыли, так и его ограничения, формируя основу для дальнейшей оптимизации риск-менеджмента и повышения устойчивости системы.
preview
Оптимизация нейробоидами — Neuroboids Optimization Algorithm (NOA)

Оптимизация нейробоидами — Neuroboids Optimization Algorithm (NOA)

Новая авторская биоинспирированная метаэвристика оптимизации — NOA (Neuroboids Optimization Algorithm), объединяющая принципы коллективного интеллекта и нейронных сетей. В отличие от классических методов, алгоритм использует популяцию самообучающихся "нейробоидов", каждый с собственной нейросетью, адаптирующей стратегию поиска в реальном времени. Статья раскрывает архитектуру алгоритма, механизмы самообучения агентов и перспективы применения этого гибридного подхода в сложных задачах оптимизации.
preview
Знакомство с языком MQL5 (Часть 13): Руководство для начинающих по созданию пользовательских индикаторов (II)

Знакомство с языком MQL5 (Часть 13): Руководство для начинающих по созданию пользовательских индикаторов (II)

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

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

В настоящей статье нами будет создана торговая система на MQL5, которая автоматизирует обнаружение ордер-блоков для для торговли по концепции Smart Money. Мы опишем правила стратегии, реализуем логику средствами MQL5 и интегрируем управление рисками для эффективного совершения сделок. Наконец, проведём тестирование системы на истории, чтобы оценить ее эффективность и доработать для получения оптимальных результатов.
preview
Автоматизация торговых стратегий на MQL5 (Часть 5): Разработка стратегии Adaptive Crossover RSI Trading Suite

Автоматизация торговых стратегий на MQL5 (Часть 5): Разработка стратегии Adaptive Crossover RSI Trading Suite

В этой статье мы разработаем систему Adaptive Crossover RSI Trading Suite, которая использует пересечения скользящих средних с периодами 14 и 50 в качестве сигналов, подтверждаемых фильтром RSI с периодом 14. Система включает в себя фильтр торговых дней, стрелки сигналов с пояснениями и дашборд для мониторинга в реальном времени. Такой подход обеспечивает точность и адаптивность автоматической торговли.
preview
Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

В статье рассматривается комплексный подход к разработке торговых алгоритмов: от настройки проекта и отладки логики до защиты готового продукта. Разбираются встроенные инструменты MetaEditor, включая пошаговый дебаггинг на реальных тиках, профилирование производительности и прямую интеграцию с C++ DLL для ускорения вычислений. Описывается методика защиты интеллектуальной собственности с помощью MQL5 Cloud Protector. Применение описанных техник позволяет превратить разработку эксперта из хаотичного поиска решений в системный процесс, существенно сокращая время разработки стратегии.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 54): Обучение с подкреплением с гибридным SAC и тензорами

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

Soft Actor Critic (мягкий актер-критик) — это алгоритм обучения с подкреплением, который мы рассматривали в предыдущей статье, где мы также представили Python и ONNX как эффективные подходы к обучению сетей. В этой статье мы вернемся к алгоритму с целью использования тензоров — вычислительных графов, которые часто используются в Python.
preview
Как реализовать конкуренцию LLM-агентов в MetaTrader 5

Как реализовать конкуренцию LLM-агентов в MetaTrader 5

Статья описывает конкурентную архитектуру для MetaTrader 5, в которой десять LLM-агентов с разными торговыми правилами управляют собственным капиталом и открывают независимые позиции через уникальные magic numbers. Системный промпт и агрессивность агента адаптируются по результатам PnL и серии сделок. Представлен воспроизводимый каркас с режимами эксплуатации и контролируемыми метриками, пригодный для тестирования и дальнейшей оптимизации.
preview
Создание торговой панели администратора на MQL5 (Часть VI): Панель управления торговлей (II)

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

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

Управление рисками (Часть 4): Завершение ключевых методов класса

Эта статья — четвертая часть нашей серии статей об управлении рисками в MQL5, где мы продолжаем изучать продвинутые методы защиты и оптимизации торговых стратегий. Заложив важные основы в предыдущих статьях, теперь мы сосредоточимся на завершении всех оставшихся методов, которые были отложены в третьей части, включая функции для проверки достижения определенных уровней прибыли или убытков. Кроме того, в статье будут представлены новые ключевые события, обеспечивающие более точное и гибкое управление.
preview
Оптимизация на основе биогеографии — Biogeography-Based Optimization (BBO)

Оптимизация на основе биогеографии — Biogeography-Based Optimization (BBO)

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

Моделирование рынка (Часть 03): Вопрос производительности

Часто нам приходится делать шаг назад, а затем двигаться вперед. В этой статье мы покажем все изменения, необходимые для того, чтобы не нарушить работу индикаторов Mouse и Chart Trade. В качестве бонуса расскажем о других изменениях, произошедших в других заголовочных файлах, которые будут широко использоваться в будущем.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 6): Предотвращение стоп-аутов

Создание самооптимизирующихся советников на MQL5 (Часть 6): Предотвращение стоп-аутов

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

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

В этой статье мы представляем разработку интерактивного инструмента Trade Assistant Tool на языке MQL5, предназначенного для упрощения размещения отложенных ордеров на рынке Форекс. В статье описан концептуальный дизайн. Особое внимание уделено удобному графическому интерфейсу пользователя для визуальной установки уровней входа, стоп-лосса и тейк-профита на графике. Кроме того, мы подробно описываем реализацию на MQL5 и тестирование на истории для обеспечения надежности инструмента, что подготавливает почву для введения расширенных функций в последующих частях серии.
preview
Моделирование рынка (Часть 04): Создание класса C_Orders (I)

Моделирование рынка (Часть 04): Создание класса C_Orders (I)

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

От новичка до эксперта: Мониторинг бэкэнд операций с использованием MQL5

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

Создание торговой панели администратора на MQL5 (Часть IX): Организация кода (V). Класс AnalyticsPanel

В этой статье мы рассмотрим, как получать рыночные данные в реальном времени и информацию о торговом счете, выполнять различные вычисления и отображать результаты на настраиваемой панели. Для достижения этой цели мы углубимся в разработку класса AnalyticsPanel, который будет включать в себя все эти функции, в том числе создание панелей. Эта работа является частью нашего продолжающегося расширения советника новой панели администратора (New Admin Panel EA), внедряющей расширенные функции с использованием принципов модульного проектирования и лучших практик организации кода.
preview
Разработка системы репликации (Часть 67): Совершенствуем индикатор управления

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

В данной статье мы рассмотрим, чего можно добиться с помощью небольшой доработки кода. Данная доработка направлена на упрощение нашего кода, более активное использование вызовов библиотеки MQL5 и, прежде всего, на то, чтобы сделать его гораздо более стабильным, безопасным и простым для использования в другом коде, который мы будем разрабатывать в будущем.
preview
Создание торговой панели администратора на MQL5 (Часть VIII): Панель аналитики

Создание торговой панели администратора на MQL5 (Часть VIII): Панель аналитики

В этой статье мы углубимся в добавление полезных торговых показателей в специализированное окно, интегрированное в панель администратора советника. Основное внимание уделено внедрению MQL5 для разработки аналитической панели. Подчеркивается ценность данных, которые она предоставляет администраторам. Панель в основном играет образовательную роль, позволяя извлекать из процесса разработки ценные уроки, приносящие пользу как начинающим, так и опытным разработчикам. В статье демонстрируются безграничные возможности, которые предлагает данная серия в плане предоставления передовых программных инструментов. Кроме того, мы рассмотрим реализацию классов PieChart и ChartCanvas в рамках продолжающегося расширения возможностей панели администратора.
preview
Трейдинг с экономическим календарем MQL5 (Часть 3): Добавление сортировки по валюте, важности и времени

Трейдинг с экономическим календарем MQL5 (Часть 3): Добавление сортировки по валюте, важности и времени

В этой статье мы реализуем фильтры на панели инструментов экономического календаря MQL5 для лучшего отображения новостей по валюте, важности и времени. Сначала мы установим критерии сортировки для каждой категории, а затем интегрируем их в панель управления, чтобы отображать только релевантные события. Наконец, мы обеспечим динамическое обновление каждого фильтра, чтобы предоставлять трейдерам необходимую экономическую информацию в реальном времени.
preview
Реализация криптографического алгоритма SHA-256 с нуля на MQL5

Реализация криптографического алгоритма SHA-256 с нуля на MQL5

Создание интеграций с криптовалютными биржами без DLL-файлов долгое время было сложной задачей, но это решение обеспечивает полную основу для прямого подключения к рынку.
preview
Трейдинг с экономическим календарем MQL5 (Часть 3): Добавление сортировки по валюте, важности и времени

Трейдинг с экономическим календарем MQL5 (Часть 3): Добавление сортировки по валюте, важности и времени

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

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

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

Моделирование рынка (Часть 11): Сокеты (V)

Мы приступаем к реализации связи между Excel и MetaTrader 5, но сначала необходимо понять некоторые важные моменты, так вам не придется ломать голову, пытаясь понять, почему что-то работает или нет. И прежде, чем вы нахмуритесь, глядя на интеграцию Python и Excel, давайте посмотрим, как с помощью xlwings можно (в некоторой степени) управлять MetaTrader 5 через Excel. То, что мы покажем здесь, будет в основном сконцентрировано на образовательных задачах. Но не думайте, что мы можем делать только то, что будет рассмотрено здесь.
preview
Оптимизация и форвард-анализ стратегий (Часть 1): Метод Пардо — базовая модель

Оптимизация и форвард-анализ стратегий (Часть 1): Метод Пардо — базовая модель

Статья показывает, как выстроить воспроизводимый процесс разработки и проверки торговых систем в MetaTrader 5: от формализации правил входа/выхода и риск‑менеджмента до пост‑оптимизационной валидации. В основу положен "Метод Пардо": разбиение истории на in‑sample/out‑of‑sample, форвард‑тестирование, мульти‑рынки/таймфреймы и выбор устойчивых "плато" параметров вместо единичных пиков. На примерах PardoSystem и советников PardoEA / Breakout_Bounce показан практический тест‑план для тестера стратегий MetaTrader 5.
preview
Сеточный советник на клеточном автомате с онлайн-обучением в MQL5 (Часть I): Непрерывная адаптация торговой модели на каждом баре

Сеточный советник на клеточном автомате с онлайн-обучением в MQL5 (Часть I): Непрерывная адаптация торговой модели на каждом баре

В статье разобрана архитектура советника на клеточном автомате с 10 000 адаптирующихся параметров и независимым бинарным предиктором на горизонте 10 баров. Показано трёхуровневое онлайн-обучение, эволюция стратегий и валидация через кольцевой буфер и матрицу ошибок. Параметры входа сведены к Magic Number, торговые настройки вычисляются из ATR и пяти геномов. Тест EURUSD H1 дал ориентировочный Hit Rate около 58% против ~51% у фиксированной MLP.
preview
Разработка инструментария для анализа движения цен (Часть 20): Внешние библиотеки (IV) — Correlation Pathfinder

Разработка инструментария для анализа движения цен (Часть 20): Внешние библиотеки (IV) — Correlation Pathfinder

Correlation Pathfinder предлагает новый подход к пониманию динамики валютных пар в рамках серии инструментов для анализа ценового действия. Этот инструмент автоматизирует сбор и анализ данных, предоставляя информацию о взаимодействии таких валютных пар, как EURUSD и GBPUSD. Практическая информация в реальном времени поможет вам более эффективно управлять рисками и выявлять торговые возможности.
preview
Моделирование рынка (Часть 09): Сокеты (III)

Моделирование рынка (Часть 09): Сокеты (III)

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