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

icon

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

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

Новая статья
последние | лучшие
preview
Создание интерактивного индикатора профиля объема AnchorFlow (MTF) на языке MQL5

Создание интерактивного индикатора профиля объема AnchorFlow (MTF) на языке MQL5

Мы реализуем интерактивный мультитаймфреймовый (MTF) профиль объема с якорной привязкой на языке MQL5 для MetaTrader 5. Индикатор строит профиль текущего таймфрейма на основном графике и профиль старшего таймфрейма (HTF) в подокне индикатора; оба профиля согласованы по положению общей линии с якорной привязкой и видимому диапазону. Вы освоите настройка количества ценовых интервалов (бинов) профиля с помощью клавиатуры (двойное нажатие клавиши E или S), надежную проверку таймфреймов, обновления с учетом видимой области графика и восстановление графических объектов, чтобы организовать надежную, синхронизированную работу с объемами.
preview
Конструирование признаков для машинного обучения (Часть 9): Tесты на структурные сдвиги на Python

Конструирование признаков для машинного обучения (Часть 9): Tесты на структурные сдвиги на Python

Мы представляем реализацию тестов на структурные сдвиги из главы 17 AFML, готовую для использования в реальных системах. Модуль включает тест Чу — Стинчкомба — Уайта (односторонний и двусторонний варианты), тест Дики — Фуллера типа Чоу (DFC), SADF для шести моделей (линейная, квадратичная, sm poly 1, sm poly 2, sm exp, sm power), а также квантильную статистику ADF (QADF) с параметрами q и v и условное среднее ADF (CADF) с параметром q; результаты возвращаются в виде скалярных признаков с индексацией по барам. Мы устраняем проблемы масштабируемости фрагментов кода из книги и ошибку, связанную с порядком аргументов, а также показываем, как фиксированная глубина ретроспективы (L=504) ограничивает вычислительную сложность SADF величиной O(L²) на бар при выявлении рыночных режимов.
preview
Интерактивное управление зонами спроса и предложения на MQL5 (Часть II): Событийно-ориентированная архитектура и журналирование жизненного цикла с долговременным хранением

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

В этой статье мы совершенствуем систему управления зонами спроса и предложения с отслеживаемым состоянием для MetaTrader 5, заменяя опрос событийно-ориентированной моделью на основе OnChartEvent(). Мы распределяем задачи синхронизации между отдельными обработчиками создания, изменения и удаления, а также отделяем рыночную логику в OnTick() от обработки действий пользователя в OnChartEvent(). Компонент журналирования в формате CSV с долговременным хранением и режимом только с добавлением записей фиксирует все события жизненного цикла, улучшая скорость отклика, согласованность состояний и возможность восстановления истории для последующего анализа.
preview
Тепловая карта внутридневной доходности в MQL5: Визуализация с помощью CCanvas

Тепловая карта внутридневной доходности в MQL5: Визуализация с помощью CCanvas

В MetaTrader 5 отсутствует встроенный инструмент для визуализации внутридневных закономерностей доходности одновременно по нескольким временным измерениям. В данной статье реализован пользовательский индикатор, который собирает данные о доходности исторических баров в матрицу размером 5×24, индексированную по дням недели и часам суток. Затем индикатор отрисовывает результат в виде тепловой карты с цветовой интерполяцией в подокне индикатора с помощью CCanvas. Зеленые ячейки обозначают положительную среднюю доходность, красные — отрицательную, причем интенсивность цвета отражает величину доходности.
preview
От прогноза цены к узкому торговому уравнению

От прогноза цены к узкому торговому уравнению

Исследуется прогноз следующего часового движения EURUSD H1 на длинной истории. Сравнивается исходное ценовое уравнение с простейшим ориентиром, после чего задача переносится на направление и величину следующего изменения с хронологическим разделением данных. Отдельно анализируется переход 23:00→00:00 и его поведение на 100 последовательных двухмесячных участках вне обучения. Читатель получает воспроизводимую схему подготовки данных и отбора сигналов по уверенности.
preview
Создание индикатора профиля объёма на уровнях поддержки и сопротивления в видимой области графика в MQL5

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

Мы создаем индикатор «Профиль объема на уровнях поддержки и сопротивления (SnR)», который адаптируется к текущей видимой области графика в MetaTrader 5. Вы изучите методы определения видимой области графика, динамическую идентификацию SnR, изменение количества ценовых интервалов в зависимости от масштаба, масштабирование объёма в диапазоне от минимума до максимума, а также быструю отрисовку на графике, управляемую событием OnChartEvent. Данный подход отражает относительную значимость уровней SnR в зависимости от объема, позволяя сосредоточить внимание на графике на зонах, где возможны значимые ценовые реакции.
preview
Архитектура машинного обучения для MetaTrader 5 (Часть 19): Режимы бэггинга

Архитектура машинного обучения для MetaTrader 5 (Часть 19): Режимы бэггинга

Мы проверяем утверждение AFML о том, что последовательный бутстрэп снижает корреляцию между деревьями в ансамбле бэггинга на метках метода тройного барьера с перекрывающимися временными интервалами, раздельно исследуя два фактора: число наблюдений в выборке и правило отбора. Бэггинг с одной и той же базовой моделью — деревом решений — применяется в четырёх режимах формирования выборки строк и оценивается на данных EURUSD за 2022–2023 годы по уникальности сформированных выборок, корреляции между деревьями, AUC и калибровке вероятностных прогнозов. Снижение корреляции почти полностью достигается за счёт ограничения max_samples до уровня средней уникальности; последовательный бутстрэп даёт лишь небольшой дополнительный эффект. Завышение OOB-оценки наиболее выражено при последовательном бутстрэпе с полным числом извлечений.
preview
Конструирование признаков для машинного обучения (Часть 10): Tесты на структурные сдвиги в MQL5

Конструирование признаков для машинного обучения (Часть 10): Tесты на структурные сдвиги в MQL5

Мы перенесли тесты на структурные сдвиги из главы 17 AFML в MQL5 в виде единого подключаемого файла CStructuralBreaks, предоставляющего советникам шесть признаков, индексируемых по барам: статистику CSW и ее критическое значение, тест Дики — Фуллера типа Чоу (DFC), SADF со скользящим окном с заданной глубиной истории (по умолчанию 252 бара), SM-Exp и SM-Power. В SADF используются скользящие окна с вычислительной сложностью O(L²), что позволяет выполнять расчеты в реальном времени. Сопутствующий индикатор StructuralBreaksViewer строит графики всех рядов данных с возможностью настройки видимости каждого ряда и опциональной нормализацией по z-оценке. SB_EMPTY отмечает недопустимые значения для обеспечения безопасной интеграции.
preview
Поиск торгового преимущества (Часть 2): Использование картирования дивергенций и трансформера временного слияния (TFT) в торговом роботе

Поиск торгового преимущества (Часть 2): Использование картирования дивергенций и трансформера временного слияния (TFT) в торговом роботе

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

Нейросети в трейдинге: Habi — быстрое принятие решений без сложного планирования (Окончание)

Завершаем адаптацию фреймворка Habi для алгоритмической торговли с использованием MQL5 и OpenCL. Рассматриваем построение моделей, подготовку эталонных действий на истории и офлайн-обучение. Показываем, как критик учится оценивать денежные последствия торговых решений и как его оценки используются для обновления политики в режиме имитации онлайн-торговли. На примере EURUSD H1 за январь–апрель 2026 года разбираем проверку готовых моделей и ограничения полученных результатов.
preview
Сертифицированный радиус устойчивости: Оцениваем уровень шума торговой модели ONNX

Сертифицированный радиус устойчивости: Оцениваем уровень шума торговой модели ONNX

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

Поиск торгового преимущества (Часть 3): Использование HMM и GRU в торговом советнике

Мы исследуем, как скрытая марковская модель (HMM) оценивает скрытые рыночные режимы на основе наблюдаемых последовательностей цен и значений индикаторов. Это достигается путем оценки вероятности переходов между состояниями. Сеть на основе управляемого рекуррентного блока (GRU) моделирует временные зависимости и сохраняет важную информацию на протяжении нескольких наблюдений. В советнике вероятности рыночных режимов, рассчитанные с помощью HMM, можно использовать совместно с обучением сети GRU на последовательностях, чтобы точнее классифицировать изменения в накоплении, распределении и импульсе еще до появления стандартных ценовых подтверждений.
preview
MetaTrader 5 как производитель сообщений Kafka: Рассылка сигналов нескольким торговым терминалам

MetaTrader 5 как производитель сообщений Kafka: Рассылка сигналов нескольким торговым терминалам

В статье подробно описан производитель Kafka, реализованный непосредственно на MQL5 и использующий сетевой протокол Kafka через TCP-сокеты без дополнительных библиотек. Он реализует кодирование RecordBatch v2, varint и вычисление CRC32C, а также пакетную отправку, подтверждения (acks) и логику повторных попыток — и всё это без вспомогательного процесса или DLL. Используйте его для публикации торговых сигналов в формате JSON из одного терминала в Kafka, где информационные панели и другие сервисы подписываются на них независимо друг от друга.
preview
Разработка собственного торгового советника (Часть 1): От ненадежного скрипта к работающему советнику

Разработка собственного торгового советника (Часть 1): От ненадежного скрипта к работающему советнику

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

Автоматизация классических рыночных методов в MQL5 (Часть 4): Трендовый шаблон Марка Минервини

В данной статье представлен TrendTemplateEA — советник, реализующий трендовый шаблон Марка Минервини из восьми условий для дневных графиков Forex. Он проверяет все условия на каждом баре и входит в рынок только при их одновременном выполнении, используя условие превышения индексом относительной силы (RSI) уровня 50 вместо рейтинга относительной силы (RS) фондового рынка. Сигнал входа — пробой максимума за 20 баров на фоне растущего объема; все правила реализованы в коде MQL5 и могут быть протестированы.
preview
Изолирующий лес средствами MQL5: Обнаружение аномалий качества исполнения заявок

Изолирующий лес средствами MQL5: Обнаружение аномалий качества исполнения заявок

Пошаговое руководство по созданию изолирующего леса (Isolation Forest), реализованного непосредственно на MQL5 и ориентированного на показатели исполнения, а не на цену. В руководстве подробно описаны пять признаков, построение деревьев и расчет оценки аномальности по длине пути, обучение на скользящем окне, ведение CSV-журнала, а также сохранение и восстановление модели с использованием FILE_COMMON. Все это интегрировано в OnTradeTransaction(). Полученный механизм защитной остановки торговли (circuit breaker) в реальном времени выявляет необычные исполнения заявок и применяет контролируемые меры реагирования, чтобы стабилизировать реальную торговлю при изменении условий исполнения.
preview
Как обнаруживать и нормализовать объекты графика в MQL5 (Часть 2): Сбор и структурирование данных из сложных аналитических объектов

Как обнаруживать и нормализовать объекты графика в MQL5 (Часть 2): Сбор и структурирование данных из сложных аналитических объектов

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

Теория случайных матриц (RMT): Подавление шума в корреляционной матрице для мультивалютных советников

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

Конструирование признаков для машинного обучения (Часть 11): Фрактальные признаки на Python

В статье рассматривается конвейер для конструирования признаков на основе пятибарного фрактала Вильямса и показывается, как центрированное скользящее окно приводит к реальной утечке будущей информации. В статье выявлены две дополнительные скрытые ошибки — жестко заданный сдвиг, привязанный к значению n по умолчанию, и порог волатильности, игнорирующий переданное значение, — а исправления объединены под единым флагом leak_safe. Читатели получат фрактальные признаки, признаки уровней, тренда и сигналов без утечки будущей информации, а также рекомендации о том, в каких случаях столбцы без сдвига остаются пригодными для разметки.
preview
От одной цены к четырём: Методы оценки волатильности на основе ценового диапазона в MetaTrader 5

От одной цены к четырём: Методы оценки волатильности на основе ценового диапазона в MetaTrader 5

Оценка по ценам закрытия не учитывает максимумы, минимумы и межсессионные ценовые разрывы. Мы создадим библиотеку MQL5 для повторного использования, реализующую четыре способа оценки волатильности на основе ценового диапазона — от способа Паркинсона до устойчивого к ценовым разрывам способа оценки Янга—Чжана, — и применим её в сравнительном индикаторе и наборе адаптивных полос волатильности.
preview
Скрытые полумарковские модели (HSMM) на MQL5: Распознавание рыночных режимов с учетом их длительности

Скрытые полумарковские модели (HSMM) на MQL5: Распознавание рыночных режимов с учетом их длительности

Стандартные HMM предполагают, что длительности состояний имеют геометрическое распределение со свойством отсутствия памяти, что плохо соответствует реальным рыночным фазам. В этой статье скрытая полумарковская модель (HSMM) с явным учетом длительности реализуется непосредственно на MQL5: для каждого состояния задается распределение времени пребывания в состоянии, а для фильтрации используется прямой фильтр по оставшейся длительности. Параметры оцениваются вне торговой среды с помощью алгоритма ожидания-максимизации (EM) и загружаются через компактный манифест в формате JSON. Торговый советник (EA) для XAUUSD на таймфрейме M5 использует ожидаемую оставшуюся длительность для фильтрации торговых решений о входе и выходе, что помогает удерживать позиции по тренду и избегать запоздалых входов перед завершением рыночного режима.
preview
Шероховатая волатильность: Индекс шероховатости на основе модели RFSV для фильтрации сделок с помощью машинного обучения

Шероховатая волатильность: Индекс шероховатости на основе модели RFSV для фильтрации сделок с помощью машинного обучения

В этой статье мы строим практически применимый индекс шероховатости на основе теории шероховатой волатильности, оценивая локальное значение H с помощью регрессии по структурной функции на доходностях, агрегированных по блокам, — и всё это средствами MQL5. Мы объединяем его с признаками волатильности волатильности, обучаем классификатор на основе градиентного бустинга в Python, экспортируем модель в формат ONNX и вызываем её из торгового советника. Вы сможете вычислять H на каждом баре и использовать модель в качестве фильтра входа, учитывающего рыночный режим.
preview
Генетическое программирование — Genetic Programming (GP)

Генетическое программирование — Genetic Programming (GP)

Разбираем алгоритм Genetic Programming (GP) — классический метод, который выращивает не числа, а формулы. Почему знаменитый алгоритм в каноническом виде проигрывает обычному случайному поиску во всех тестах, и какая одна строка возвращает ему силу? Ответ касается любого оптимизатора с пропорциональным отбором. В конце статьи — готовый код GP на MQL5, который можно сразу использовать для своих задач.
preview
Анализ рекуррентных сетей (RNA) в MQL5: От матриц рекуррентности к сложным сетям

Анализ рекуррентных сетей (RNA) в MQL5: От матриц рекуррентности к сложным сетям

В статье библиотека анализа рекуррентности на MQL5 расширяется средствами анализа рекуррентных сетей (RNA): матрицы рекуррентности рассматриваются как матрицы смежности неориентированных графов. В ней реализованы основные сетевые метрики — кластеризация, транзитивность, средняя длина пути, посредничество, ассортативность и плотность, — которые применяются в скользящих окнах для анализа рекуррентных сетей (RNA) одного временного ряда и совместного анализа рекуррентных сетей (JRNA). Модульный механизм расчета метрик и два индикатора позволяют визуализировать динамику структуры сети на графиках MetaTrader 5 для практического анализа временных рядов.
preview
Управление позициями: Построение самокалибрующейся лестницы выхода по историческим данным MFE в MQL5

Управление позициями: Построение самокалибрующейся лестницы выхода по историческим данным MFE в MQL5

Мы реализуем три класса MQL5, которые заменяют фиксированные целевые уровни 1R/2R/3R на уровни поэтапного закрытия, определяемые на основе данных. CExcursionTracker фиксирует максимальное благоприятное отклонение (MFE) в единицах R для каждой закрытой позиции, CExitLadderCalibrator формирует ступени на основе процентилей распределения с учетом окна ретроспективного анализа и минимального числа наблюдений, а CLadderExecutor выполняет закрытие на этих ступенях для открытых позиций. Лестница выхода перекалибруется по мере накопления закрытых позиций. Пока наблюдений недостаточно, используется резервная лестница выхода.
preview
Автоматизация классических рыночных методов на MQL5 (Часть 5): Исходные правила торговой системы "Черепах"

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

В этой статье описывается создание полнофункционального торгового советника на MQL5, реализующего исходные правила торговой системы «Черепах», опубликованные Куртисом Фейсом. В статье рассматриваются обе системы: пробои 20/55-дневных уровней, правило пропуска сигнала Системы 1, величина N (ATR со сглаживанием Уайлдера) для расчета объема позиции с учетом волатильности, пирамида позиций из четырех торговых единиц с добавлением торговой единицы через каждые N/2, единый стоп-лосс на расстоянии 2N и выходы по 10/20-дневным уровням. Вы получите компилируемый код, подробности реализации и процедуру тестирования на исторических данных по паре EURUSD.
preview
Конструирование признаков для машинного обучения (Часть 12): Фрактальные признаки в MQL5

Конструирование признаков для машинного обучения (Часть 12): Фрактальные признаки в MQL5

При прямом переносе детектора фракталов на MQL5 каждый паттерн записывается на центральном баре, поэтому буфер, считываемый советником (EA), содержит значение, которое стало доступно лишь на n баров позже. Мы реализуем CFractalFeatures.mqh с методом ProcessBar для побарной обработки и методом Compute для пересчёта всего ряда; реализация включает обнаружение фракталов, оценку их силы относительно фиксированного или масштабируемого по волатильности минимального порога силы, кольцевой буфер событий для уровней поддержки и сопротивления, а также сигналы пробоя с фильтрацией по тренду. Результат — восемнадцать буферов, значения в которых публикуются на баре подтверждения и проверены на соответствие эталонной реализации на Python с точностью до 1e-13.
preview
Генетическое программирование — Genetic Programming (GP)

Генетическое программирование — Genetic Programming (GP)

Разбираем алгоритм Genetic Programming (GP) — классический метод, который выращивает не числа, а формулы. Почему знаменитый алгоритм в каноническом виде проигрывает обычному случайному поиску во всех тестах, и какая одна строка возвращает ему силу? Ответ касается любого оптимизатора с пропорциональным отбором. В конце статьи — готовый код GP на MQL5, который можно сразу использовать для своих задач.
preview
Торговые инструменты на MQL5 (Часть 34): Замена штатных графических объектов интерактивным слоем рисования на холсте

Торговые инструменты на MQL5 (Часть 34): Замена штатных графических объектов интерактивным слоем рисования на холсте

Мы заменяем штатные графические объекты MetaTrader движком рисования на основе холста, который попиксельно отрисовывает инструменты на растровом слое, охватывающем весь график. В статье реализованы постоянное хранение объектов с запоминанием стиля для каждого инструмента, точная проверка попадания, выделение, перетаскивание объекта целиком и управление маркерами. Также добавлены новые инструменты рисования линий, переработанная система категорий с действием удаления одним щелчком и предпросмотр с растягиваемым контуром для размещения несколькими щелчками.
preview
От статической MA к адаптивной фильтрации (Часть 1): Знакомство с SAMA на основе NLMS в MQL5

От статической MA к адаптивной фильтрации (Часть 1): Знакомство с SAMA на основе NLMS в MQL5

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

Управление позициями на MQL5: Торговый журнал с отслеживанием максимального неблагоприятного и благоприятного отклонений и расчетом R-множителя

В этой статье представлен CTradeJournal — автономный класс MQL5 для отслеживания открытых позиций в реальном времени на каждом тике. Он отслеживает MAE, MFE и первоначальный риск в денежном выражении, рассчитывает R-множитель при закрытии позиции и формирует полную запись в CSV-файл. В тексте объясняются проектные решения, приводится реализация и демонстрируется простая интеграция с советником, позволяющая анализировать входы в рынок, размещение стоп-лоссов и распределение результатов.
preview
Интерактивное управление зонами спроса и предложения на MQL5 (Часть IV): Tорговля в зонах спроса и предложения

Интерактивное управление зонами спроса и предложения на MQL5 (Часть IV): Tорговля в зонах спроса и предложения

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

Создание пользовательских индикаторов для начинающих (Часть 1): Индикатор SuperTrend

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

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

Менеджер жизненного цикла позиций с управлением на основе состояний упорядочивает сопровождение сделок после входа в рынок в MetaTrader 5. Он обнаруживает открытые позиции, отслеживает их с помощью управляемых объектов, применяет защиту на основе ATR, выполняет перевод в безубыток и удаляет завершённые сделки из отслеживания, следуя чёткой последовательности состояний: NEW → PROTECTED → BREAKEVEN → CLOSED. В статье показана интеграция менеджера со стандартным советником MACD, позволяющая повторно использовать менеджер в разных стратегиях.
preview
Конструирование признаков для машинного обучения (Часть 13): Признаки на основе сканирования трендов в Python

Конструирование признаков для машинного обучения (Часть 13): Признаки на основе сканирования трендов в Python

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

Разрабатываем менеджер терминалов (Часть 4): Используем сервис для получения информации о терминалах

Заменяем последовательный опрос терминалов из Python сервисом MQL5, который записывает состояние каждого терминала и торгового счёта в общую базу SQLite. Разбираем схему базы, чтение данных веб-приложением и развёртывание сервиса на нескольких терминалах. Такой подход позволяет получать данные параллельно и сохранять существующий интерфейс почти без изменений.
preview
Как запустить локальную LLM для MetaTrader 5 без Ollama?

Как запустить локальную LLM для MetaTrader 5 без Ollama?

Статья посвящена созданию локальной связки MetaTrader 5 и компактной LLM без Ollama. Рассматривается архитектура MAX TURBO, которая напрямую управляет llama.cpp, GGUF-моделью, HTTP-сессией и двумя уровнями кэша, а технические признаки из MT5 преобразуются в короткий запрос для прогноза направления, уверенности и цены через 24 часа. Отдельное внимание уделено честной проверке системы: различиям между backtest и live, учёту риска, издержек и ограничениям текущей реализации
preview
Свинговые экстремумы и откаты в MQL 5 (Часть 4): Динамическая глубина отката на основе моделей волатильности

Свинговые экстремумы и откаты в MQL 5 (Часть 4): Динамическая глубина отката на основе моделей волатильности

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

Машинное обучение в условиях ограничений (Часть 1): Настраиваемый набор правил для расчета размера позиции в проп-фирмах

Жестко заданные в коде правила проп-фирмы привязывают модуль расчета размера позиции к одной программе проп-фирмы. В этой статье правила выделяются в PropFirmRuleSet, а PropFirmAccountState и модификаторы размера позиции перерабатываются для его использования, в том числе для учета различий между динамическим и фиксированным дневными лимитами и снижения доли засчитываемой прибыли в новостном окне. Проверка: соответствие поведения исходной реализации для FundedNext проверяется на смоделированной траектории средств счета, поэтому расчет размера позиции можно адаптировать к другой программе через конфигурацию, не переписывая код.
preview
Тики из MetaTrader 5 без копирования (Часть 1): Мост к разделяемой памяти на основе интерфейса Arrow C Data Interface

Тики из MetaTrader 5 без копирования (Часть 1): Мост к разделяемой памяти на основе интерфейса Arrow C Data Interface

В этой статье реализуется мост без блокировок для обмена через разделяемую память в MetaTrader 5, который записывает тики в памяти в колоночном формате Apache Arrow через интерфейс Arrow C Data Interface. В ней подробно описаны расположение столбцов, двойная буферизация с использованием seqlock и стратегия формирования пакетов. Вы получите полный исходный код класса писателя, советника для потоковой передачи тиков и скрипта самопроверки, который проверяет корректность работы ещё до подключения читателя на Python.