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

icon

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

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

Новая статья
последние | лучшие
preview
Система аудита счета в MQL5 (Часть 1): Проектирование пользовательского интерфейса

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 78): Стратегии на основе осцилляторов Gator и A/D для повышения устойчивости на рынке

В статье представлена вторая часть структурированного подхода к торговле с использованием осцилляторов Gator и накопления/распределения. На примере пяти новых паттернов автор показывает, как отфильтровывать ложные движения, выявлять ранние развороты и сопоставлять сигналы на разных таймфреймах. Благодаря понятным примерам кода и результатам тестирования данный материал помогает связать теорию с практикой разработки на MQL5.
preview
Ручное тестирование на исторических данных в тестере стратегий MetaTrader 5 с кнопками Buy/Sell на графике

Ручное тестирование на исторических данных в тестере стратегий MetaTrader 5 с кнопками Buy/Sell на графике

Узнайте, как создать советника для ручного тестирования в визуальном тестере MetaTrader 5, добавив кнопки на графике с помощью CButton, размещая ордера через CTrade и фильтруя позиции с помощью «магического числа». В статье реализованы элементы управления Buy/Sell и Close All, настраиваемый размер лота и начальный стоп-лосс, а также трейлинг-стоп через CPositionInfo. Кроме того, вы узнаете, как загружать индикаторы с помощью tester.tpl для более быстрой проверки идей перед автоматизацией и сужения диапазонов оптимизации.
preview
Нейросети в трейдинге: От единственного прогноза к пространству рыночных сценариев (сценарное кросс-внимание)

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

Статья вводит промежуточный слой между Forecast и торговой политикой. CNeuronScenarioCrossAttention по отдельности анализирует сценарии, не смешивая их траектории, включает оценку неопределённости и применяет априорные вероятности только после содержательной интерпретации. Для Актёра используется исторический контекст, Критик работает без памяти. На выходе — компактные контексты для принятия решения.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 77): Использование индикаторов Gator и A/D (Accumulation/Distribution)

Возможности Мастера MQL5, которые вам нужно знать (Часть 77): Использование индикаторов Gator и A/D (Accumulation/Distribution)

Осциллятор Gator Билла Вильямса и осциллятор накопления/распределения образуют еще одну пару индикаторов, которую можно совместно использовать в советнике на MQL5. Мы используем осциллятор Gator для подтверждения наличия тренда, а A/D – для его дополнительного подтверждения по объему. Как и прежде, для изучения этой пары индикаторов мы используем Мастер MQL5, чтобы создать и протестировать соответствующий советник.
preview
Валютный граф и справедливая цена 28 пар через DFS по кросс-путям

Валютный граф и справедливая цена 28 пар через DFS по кросс-путям

В статье показано, как вместо треугольного арбитража использовать полный валютный граф из 8 валют и 28 пар. Для каждой пары DFS перечисляет простые кросс‑пути длиной от 2 до N рёбер, а справедливая цена получается как взвешенное геометрическое среднее в лог‑пространстве. Отклонение рынка от этой оценки служит источником mean‑reversion сигналов.
preview
Разработка самовосстанавливающегося советника в MQL5 (Часть 1): Архитектура постоянного хранения состояния сделки

Разработка самовосстанавливающегося советника в MQL5 (Часть 1): Архитектура постоянного хранения состояния сделки

В этой статье показано, как построить базовую архитектуру постоянного хранения состояния для самовосстанавливающегося советника в MQL5 с использованием SQLite. Читатели узнают, как создать слой постоянного хранения состояния сделок, устойчивый к перезапускам терминала, выключениям и непредвиденным сбоям. В статье рассматривается интеграция SQLite в MetaTrader 5, управление жизненным циклом базы данных, структуры постоянно сохраняемого состояния сделки и восстановление рабочего состояния во время выполнения с использованием практических реализаций в MQL5.
preview
Алгоритм бактериальной эволюции Нумаоки для быстрой адаптации (NBE)

Алгоритм бактериальной эволюции Нумаоки для быстрой адаптации (NBE)

Рассматриваем модель Нумаоки как агентную колонию с энергией, гибелью-делением и плазмидным переносом, ориентированную на быструю адаптацию. Переносим её в каркас C_AO: энергобаланс с популяционно-относительным приходом, хемотаксис-поиск, рулетка по энергии; приводим псевдокод и MQL5-реализацию. Проводим тестирование на Hilly, Forest и Megacity, показывая поведение и ограничения модели на статике для практического использования.
preview
Автоматизация торговых стратегий в MQL5 (Часть 32): Создание системы распознавания гармонического паттерна "5 Drives" с использованием Price Action

Автоматизация торговых стратегий в MQL5 (Часть 32): Создание системы распознавания гармонического паттерна "5 Drives" с использованием Price Action

В этой статье мы разрабатываем систему распознавания паттернов "5 Drives" на языке MQL5, которая определяет бычьи и медвежьи гармонические паттерны "5 Drives" с использованием точек разворота и коэффициентов Фибоначчи, совершая сделки с настраиваемыми уровнями входа, стоп-лосса и тейк-профита на основе выбранных пользователем параметров. Мы улучшим работу трейдеров с помощью визуальной обратной связи, используя графические объекты, такие как треугольники, линии тренда и подписи, для наглядного отображения структуры паттерна A-B-C-D-E-F.
preview
Встраивание торговой дисциплины в код (Часть 6): Построение единого фреймворка дисциплины на MQL5

Встраивание торговой дисциплины в код (Часть 6): Построение единого фреймворка дисциплины на MQL5

В статье представлен унифицированный фреймворк обеспечения дисциплины на MQL5, которая объединяет модули белого списка символов, торговых часов и новостных фильтров, а также ежедневных лимитов сделок в рамках файла CDisciplineEngine.mqh. Объясняется централизованная проверка сделок и синхронизация состояний, выполняемые совместно дашбордом графиков и советником-принудителем. Читатели узнают, как авторизовывать ордера через единый шлюз, отслеживать разрешения в реальном времени и автоматически обеспечивать соблюдение правил на уровне всего терминала.
preview
Создание индикатора ZigZag со статистикой волн в MQL5

Создание индикатора ZigZag со статистикой волн в MQL5

Индикатор ZigZag дополняется количественной оценкой длин волн: для восходящих и нисходящих движений считаются текущая длина, максимум, минимум, среднее и медиана, обновляемые на каждом новом баре. Разбираются ключевые элементы реализации: поиск экстремумов в скользящем окне, конечный автомат пивотов, инкрементальный пересчёт и отключение визуального слоя в тестере. Практическая польза — объективные численные ориентиры вместо визуальной оценки на глаз.
preview
Создание пользовательских индикаторов в MQL5 (Часть 11): Улучшение футпринт-графика с помощью слоёв рыночной структуры и ордер-флоу

Создание пользовательских индикаторов в MQL5 (Часть 11): Улучшение футпринт-графика с помощью слоёв рыночной структуры и ордер-флоу

В статье MQL5-индикатор футпринт-графика расширяется слоями рыночной структуры и ордер-флоу: барами объёмного профиля, точкой контроля (Point of Control, POC), подсветкой зоны стоимости (value area), выявлением последовательных дисбалансов, зонами поглощения, а также маркерами single print (одиночных принтов) и unfinished business (незавершённой аукционной отработки экстремума). Мы расширим структуры данных бара, добавим функции для POC/зоны стоимости, дисбаланса и поглощения, а также построим конвейер отрисовки с фиксированным порядком слоёв. Вы получите готовые входные параметры, метаданные и утилиты отрисовки для интеграции и настройки этих слоёв в индикаторе.
preview
Кодирование свечных моделей (Часть 1): Алфавитная система для выявления сигналов

Кодирование свечных моделей (Часть 1): Алфавитная система для выявления сигналов

Мы представляем основанный на правилах алфавит для анализа ценовых движений на основе свечных графиков, который сопоставляет измеримые формы и направления с буквенными кодами (A/a, H/h, E/e, G/g, D). В статье показана реализация на MQL5: классификация свечей, построение двухбарных последовательностей с помощью перестановок и сканирование графиков с помощью индикатора и оповещений. Читатели получают практический шаблон для объективного обнаружения паттернов и систематического тестирования.
preview
Создание пользовательских индикаторов в MQL5 (Часть 10): Дополнение футпринт-графика информационным блоком настроений по объёму по каждому бару

Создание пользовательских индикаторов в MQL5 (Часть 10): Дополнение футпринт-графика информационным блоком настроений по объёму по каждому бару

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

Ассоциативные правила и теория вероятностей на Форекс: Фильтр сигналов без нейросетей и без магии

Рассматриваем альтернативу нейросетевым фильтрам сигналов: ассоциативные правила и базовую теорию вероятностей в MQL5, без Python и внешних библиотек. Показано, как дискретизировать рыночные условия (RSI, EMA, ATR, импульс, сессия), собрать статистику по support, confidence, lift и edge с сглаживанием Лапласа и применять результат как прозрачный входной фильтр перед сделкой.
preview
Нейросети в трейдинге: От единственного прогноза к пространству рыночных сценариев (кодовая книга сценариев)

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

Статья описывает переход к многосценарному прогнозу на базе ORION: создаётся кодовая книга рыночных прототипов с EMA-памятью и слой, объединяющий генератор, роутер и оценку неопределённости. Такой модуль формирует траектории, их априорные вероятности и допустимый разброс, что позволяет учитывать альтернативные продолжения рынка при проектировании торговых решений.
preview
Создание пользовательских индикаторов в MQL5 (Часть 9): Футпринт-график с отслеживанием объёма по ценовым уровням

Создание пользовательских индикаторов в MQL5 (Часть 9): Футпринт-график с отслеживанием объёма по ценовым уровням

В этой статье мы создадим в MQL5 индикатор футпринта, который агрегирует потиковый объём по дискретизированным ценовым уровням и поддерживает режимы отображения Bid vs Ask (bid против ask) и Delta (дельта). Наложение на базе Canvas отрисовывает текст объёма с цветовым масштабированием, выравнивает его по свечам и обновляется на каждом тике. Вы узнаете, как сортировать ценовые уровни, нормализовать максимальные значения для цветового отображения и выполнять быструю перерисовку при масштабировании, прокрутке и изменении размера графика, чтобы анализировать распределение объёма и преобладание агрессивных покупателей или продавцов внутри каждого бара.
preview
Теория графов: Применение алгоритма эвристического поиска A* в торговле

Теория графов: Применение алгоритма эвристического поиска A* в торговле

В статье эвристический алгоритм A* применяется к структуре рынка путем моделирования подтвержденных максимумов и минимумов свингов в качестве узлов графа, где веса ребер рассчитываются с учетом нормализованного по ATR расстояния, спреда и штрафов за шум. Модуль ищет наиболее эффективный маршрут для определения направления сделки и целевых уровней, а затем фильтрует сигналы по коэффициенту направленности, общей стоимости пути и противоположным свингам. TP привязывается к конечному узлу, а SL — к предыдущей структуре, с визуализацией на графике и настраиваемыми входными данными.
preview
Создание пользовательских индикаторов в MQL5 (Часть 8): Интеграция объёма для углублённого анализа рыночного профиля (Market Profile)

Создание пользовательских индикаторов в MQL5 (Часть 8): Интеграция объёма для углублённого анализа рыночного профиля (Market Profile)

В этой статье мы расширяем гибридный индикатор рыночного профиля Time Price Opportunity (TPO) в MQL5 за счёт интеграции данных объёма для расчёта точки контроля по объёму, области стоимости и средневзвешенной по объёму цены с настраиваемыми вариантами подсветки. Система вводит расширенные возможности, такие как определение начального баланса, линии продления ключевых уровней, режим split-профиля и альтернативные TPO-символы, например квадраты или круги, для улучшенного анализа графика на нескольких таймфреймах.
preview
Нейросети в трейдинге: От единственного прогноза к пространству рыночных сценариев (ORION)

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

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

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

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

Встраивание торговой дисциплины в код (Часть 5): Контроль соблюдения риск-ограничений на уровне счёта в MQL5

Мы представляем модуль контроля рисков на MQL5, который обеспечивает последовательное соблюдение правил риска на уровне счета. Он непрерывно сканирует позиции из любых источников, проверяет уровни стоп-лосса и тейк-профита, риск-экспозицию на основе эквити и целевое соотношение R:R, а также автоматически корректирует отклонения, устанавливая уровни или корректируя объем. В результате получается единый риск-профиль для ручных и автоматизированных сделок, с поддержкой визуальной обратной связи на графике и режимного управления.
preview
Создание пользовательских индикаторов в MQL5 (Часть 7): Гибридные рыночные профили Time Price Opportunity (TPO) для анализа сессий

Создание пользовательских индикаторов в MQL5 (Часть 7): Гибридные рыночные профили Time Price Opportunity (TPO) для анализа сессий

В этой статье мы разрабатываем пользовательский индикатор на MQL5 для гибридных TPO-профилей с поддержкой нескольких сессионных периодов: внутридневных, дневных, недельных, месячных и фиксированных периодов с учётом часового пояса. Индикатор дискретизирует цены по сетке, отслеживает данные сессии, включая максимумы, минимумы, цены открытия и закрытия, а также рассчитывает ключевые элементы, такие как точка контроля (POC) и зона стоимости (value area) на основе количества TPO. Он визуально отображает профили на графике с настраиваемыми цветами для букв TPO, одиночных отпечатков (single prints), зон стоимости, POC и маркеров закрытия, позволяя выполнять подробный анализ сессий.
preview
Встраивание торговой дисциплины в код (Часть 4): Принудительный контроль торговых сессий и блокировка торговли на новостях в MQL5

Встраивание торговой дисциплины в код (Часть 4): Принудительный контроль торговых сессий и блокировка торговли на новостях в MQL5

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

Создание пользовательских индикаторов в MQL5 (Часть 6): Усовершенствование расчётов RSI — сглаживание, динамические цвета и поддержка нескольких таймфреймов

В этой статье мы создадим универсальный индикатор RSI в MQL5 с поддержкой нескольких вариантов расчёта, источников данных и методов сглаживания для более качественного анализа. Мы добавим изменение оттенка для цветовой индикации, динамические границы зон перекупленности/перепроданности и уведомления о смене тренда. Индикатор включает мультитаймфреймовую поддержку с интерполяцией и предоставляет настраиваемый инструмент RSI для разных стратегий.
preview
Теория графов: Применение поиска в глубину (DFS) в торговых системах

Теория графов: Применение поиска в глубину (DFS) в торговых системах

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

Нейросети в трейдинге: Когнитивная инерция в анализе финансовых рынков (Окончание)

Лучше всего здесь работает сочетание вариантов 2 и 4: оно сохраняет техническую точность, не обещает доходность и сразу показывает практический смысл архитектуры. В статье завершается адаптация фреймворка CogDriver к анализу финансовых рынков. Представление рыночной сцены, временная память, прогнозный план и оценка ожидаемой ошибки объединяются в единый торговый контур, при этом прогнозирование отделено от принятия решений. Рассматриваются построение моделей, организация обучения и проверка архитектуры в тестере стратегий MetaTrader 5 с акцентом на снижение избыточной реактивности и дрожания торговых решений.
preview
Создание пользовательских индикаторов в MQL5 (Часть 5): Доработка WaveTrend Crossover с помощью Canvas — градиентный туман, сигнальные пузырьки и управление рисками

Создание пользовательских индикаторов в MQL5 (Часть 5): Доработка WaveTrend Crossover с помощью Canvas — градиентный туман, сигнальные пузырьки и управление рисками

В этой статье мы улучшим индикатор Smart WaveTrend Crossover в MQL5, добавив отрисовку с использованием Canvas для градиентных туманных наложений, сигнальные блоки для обнаружения пробоев, а также метки сигналов в виде пузырьков с подписями или простых треугольников. Мы также реализуем функции управления рисками с динамическими уровнями Take Profit и Stop Loss, рассчитываемыми через множители свечей или проценты и отображаемыми с помощью линий и таблицы, а также добавим параметры фильтрации по тренду и расширения сигнальных блоков.
preview
Неопределённость как модель (Часть 7): Стохастические регрессоры

Неопределённость как модель (Часть 7): Стохастические регрессоры

Материал — практическое руководство по множественной регрессии со стохастическими факторами в алготрейдинге с акцентом на эндогенность. Показаны EDA/CDA-приёмы, тест Дарбина—Ву—Хаусмана и двухэтапный МНК для получения состоятельных коэффициентов. Все расчёты реализованы в MQL5 и проверены на внутридневной волатильности EURUSD. Читатель получит рабочий конвейер для выявления эндогенности и корректной спецификации моделей.
preview
Алгоритм бактериальной эволюции — Bacterial Evolutionary Algorithm (BEA)

Алгоритм бактериальной эволюции — Bacterial Evolutionary Algorithm (BEA)

Статья посвящена бактериальному эволюционному алгоритму Нава — Фурухаси (BEA) и его двум ключевым операторам: посегментной бактериальной мутации для локальной оптимизации и горизонтальному переносу генов для обмена удачными фрагментами решений. Мы реализуем BEA в каркасе C_AO как конечный автомат под фиксированный бюджет оценок, тестируем на Hilly, Forest и Megacity и поясняем терминологическую развилку с моделью Нумаоки.
preview
MQL5 Bootstrap (I): Набор переиспользуемых функций для работы с позициями и ордерами

MQL5 Bootstrap (I): Набор переиспользуемых функций для работы с позициями и ордерами

В статье представлен компактный вспомогательный слой MQL5 для типовых торговых операций. Он включает функции проверки наличия позиций, счётчики позиций, вспомогательные функции для группового закрытия позиций, а также функции получения наиболее недавно открытой или самой старой позиции по символу, magic-номеру или типу. Интеграция демонстрируется на простом советнике с пересечением SMA. В результате советники становятся чище, уменьшается количество различий в реализации между проектами и упрощается сопровождение кода.
preview
Создание пользовательских индикаторов в MQL5 (Часть 4): Smart WaveTrend Crossover на основе двух осцилляторов

Создание пользовательских индикаторов в MQL5 (Часть 4): Smart WaveTrend Crossover на основе двух осцилляторов

В этой статье мы разработаем пользовательский индикатор MQL5 под названием Smart WaveTrend Crossover, использующий два осциллятора WaveTrend: один — для формирования сигналов пересечения, второй — для фильтрации тренда, с настраиваемыми параметрами длины канала, периода усреднения и скользящей средней. Индикатор отображает цветные свечи в зависимости от направления тренда, отображает стрелки покупки и продажи при пересечениях, а также включает параметры для включения подтверждения по тренду и настройки визуальных элементов, таких как цвета и смещения.
preview
Моделирование рынка: Position View (VIII)

Моделирование рынка: Position View (VIII)

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

Оптимизация трендовой торговли: Торговля по направлению тренда и с учётом его силы

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

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

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

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

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

Встраивание торговой дисциплины в код (Часть 3): Принудительное ограничение торговли на уровне символов с помощью белого списка в MQL5

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

Создание пользовательских индикаторов в MQL5 (Часть 2): Разработка индикатора RSI в виде шкалы со стрелкой на Canvas

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

Реализация модели гауссовской смеси в MQL5

В статье рассматриваются теоретические основы и практическая реализация модели смеси нормальных распределений (Gaussian Mixture Model) на языке MQL5. Представлен класс CGMM и примеры его использования, а также методология выбора оптимального количества компонентов модели с помощью информационных критериев AIC/BIC. Значительное внимание уделяется принципу работы EM-алгоритма — признанного стандарта при обучении вероятностных моделей со скрытыми(латентными) переменными. Реализована поддержка режима обучения MAP и инициализация параметров с помощью K-Means++. Готовый инструмент для кластеризации, оценки многомерной плотности и генерации данных теперь доступен и в MetaTrader 5.
preview
Создание пользовательских индикаторов в MQL5 (Часть 1): Построение трендового индикатора на основе пивотов с градиентной заливкой на Canvas

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

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