Нейросети в трейдинге: Диффузионная генерация торговых планов (Планировщик)
Продолжаем торговую адаптацию DPCC на MQL5/OpenCL: рассматриваем кадровый денойзер CNeuronPlanDenoiserOCL и отдельно — действующий цикл планировщика CNeuronDPCCOCL. Показываем подготовку контекста, предсказание шума, обратную диффузию и возврат исправленных действий в генерацию. Разбираем режимы P0/P1/P2, проверку финансовых ограничений по ценовым сценариям и выбор первого действия по спектральной оценке денежных результатов G. Материал помогает проследить движение планов и условия допуска кандидатов к выбору.
Фильтрация новостей с помощью экономического календаря MetaTrader 5 и резервного варианта на основе CSV
В статье представлен автономный модуль фильтрации новостей для MetaTrader 5, созданный на основе API экономического календаря платформы. Модуль реализует сопоставление торговых символов с валютами, торговые паузы перед событиями и после них, а также необязательное сокращение объёма позиции в дни с событиями высокой значимости, с резервным вариантом на основе CSV для Тестера стратегий. Демонстрационный советник и панель мониторинга на графике в реальном времени показывают интеграцию и проверку как в реальной торговой среде, так и в условиях бэктеста.
Автоматизация торговых стратегий в MQL5 (Часть 52): Модель tCISD с SSMT и Quarterly Theory
Мы разрабатываем на языке MQL5 программу tCISD, которая сочетает циклы Quarterly Theory, привязанные к нью-йоркскому времени, с SSMT-дивергенцией между торгуемым и коррелирующим символами, чтобы точнее выбирать момент разворота. В статье показано, как разметить циклы и четверти, выявить расхождение между символами по снятию ликвидности и определить уровень tCISD, пробой которого подтверждает смену характера доставки цены. Вы получите рабочую логику входа, которая активирует сетап при появлении дивергенции и открывает позицию после подтверждающего закрытия бара или при ретесте.
Построение системы обнаружения дивергенций (Часть III): Советник Adaptive SuperTrend
В статье реализован автономный советник Adaptive SuperTrend, который выполняет внутренние расчеты на выбранном таймфрейме без использования внешних буферов и файлов индикаторов. В нем предусмотрены расчет размера позиции в лотах на основе риска, стоп-лоссы на основе ATR, пошаговый трейлинг по соотношению прибыли и риска (RR), дополнительное подтверждение для защиты от перерисовки, которое можно включить, и управление торговлей по сессиям. На практике эту структуру можно использовать повторно для единообразной обработки сигналов при появлении нового бара и проверки ордеров на соответствие требованиям брокера.
Автоматизация торговых стратегий в MQL5 (Часть 51): Модель Bread and Butter Judas Swing с зонами премии и дисконта
Мы создаем на языке MQL5 программу для торговли на разворотах в рамках торговых сессий по модели Bread and Butter Judas Swing. Программа определяет дневную направленность по данным старшего таймфрейма, задает килл-зоны по нью-йоркскому времени и определяет зоны премии и дисконта каждой сессии по ее текущему диапазону. Обязательное условие — снятие ликвидности, после которого смена рыночной структуры подтверждает вход. Читатели получат готовый подход с четкими, проверяемыми правилами: активировать сетапы только во время активных сессий и открывать позиции в соответствии с дневной направленностью.
Трейдинг с экономическим календарем MQL5 (часть 12): Хранение данных в SQLite и предотвращение повторных сделок
В этой статье мы заменяем встроенный CSV-снимок слоем SQLite, который сохраняет события календаря и идентификаторы сработавших сделок между перезапусками. База данных хранится в общей папке терминала и используется как графиками в реальном времени, так и тестером стратегий, поэтому оба режима читают одни и те же данные без перекомпиляции. Загрузчик по запросу с индикатором выполнения на холсте получает историю из API календаря и сохраняет ее для повторного использования в автономном режиме.
Построение системы обнаружения дивергенций (Часть II): Пользовательский индикатор Adaptive SuperTrend
В статье мы усовершенствуем индикатор SuperTrend, добавив модуль обнаружения дивергенций (MPO4 или RSI), который динамически уменьшает множитель ATR при ослаблении моментума. В ней рассматриваются формула сжатия, перенос состояния без перерисовки с использованием отдельных буферов, а также пошаговая реализация индикатора на языке MQL5 с отображением на ценовом графике. Вы узнаете, как интерпретировать стрелки и переключения линии, настраивать входные параметры и применять индикатор для трейлинга по правилам и более раннего подтверждения сигналов.
Трейдинг с экономическим календарем MQL5 (Часть 11): Модульная новостная панель на Canvas
Мы перестраиваем информационную панель Экономического календаря MQL5: вместо монолитной панели, основанной на объектах, она становится модульной системой на Canvas, разделённой на четыре файла. В обновлении добавлены две темы оформления — светлая и тёмная, сворачиваемые группы дней, макет с изменяемым размером и прокруткой с пиксельной точностью, маркеры пересмотренных значений, а также обратный отсчёт в реальном времени со всплывающими уведомлениями. Кэш событий-кандидатов и таймер с ускоренной веткой, который перерисовывает только изменившиеся ячейки, повышают отзывчивость и упрощают расширение кодовой базы.
Нейросети в трейдинге: Диффузионная генерация торговых планов (Сценарный расчёт)
Продолжаем торговую адаптацию DPCC и объединяем ранее разработанные OpenCL-кернелы в два класса MQL5: CNeuronScenarioRolloutOCL для сценарного расчёта торговых планов и CNeuronPlanProjectionOCL для их коррекции с учётом ограничений. Разбираем организацию данных, взаимодействие классов, поиск поправок и повторную проверку финансовых последствий. Показываем, как использовать эти механизмы в собственных моделях и различать допустимый план, исчерпание бюджета поиска и ошибку вычислений.
Индикатор средней цены входа маркет-мейкера
В статье исследуется, можно ли по обычным данным MetaTrader 5 оценить среднюю стоимость позиции пассивной стороны рынка, если реальные сделки и позиции маркет-мейкеров недоступны. Пошагово строится модель: от оценки направленного потока и виртуальной позиции до Inventory Basis, Reservation Price по Avellaneda–Stoikov и адаптивных Bid/Ask с учётом токсичности потока.
Инжиниринг признаков для машинного обучения (Часть 4): Реализация временных признаков в MQL5
Применение границ сессий из Python к временным меткам брокера в MQL5 приводит на любом брокере с часовым поясом, отличным от UTC, к ошибочной классификации принадлежности к сессиям на два–три часа и искажает флаги сессий по всей истории бэктеста. Мы реализуем файл CTimeFeatures.mqh, содержащий классы CRingBuffer и CTimeFeatures, с тремя методами, доступными для советников: Initialize (фиксация смещения относительно UTC и настройка частотного фильтра), Update (добавление логарифмической доходности в кольцевые буферы для соответствующих торговых сессий) и Calculate (циклическое кодирование, флаги торговых сессий и волатильность сессий). Результат — плоский массив типа double, совместимый по формату с Python-функцией get_time_features для таймфреймов меньше часа, часовых и дневных таймфреймов.
Альтернатива временным барам (Часть 3): Индикатор в подокне для отображения альтернативных баров в MQL5
AlternativeBarsViewer — индикатор в подокне, отрисовывающий все десять типов альтернативных баров как свечи с цветовой маркировкой. Он использует ту же иерархию CBarConstructor, что и BarBuilderEA, обеспечивая идентичность баров. Он поддерживает три источника данных (реальные тики, синтетические тики на основе OHLC или CSV-файл советника) и два режима отображения (TIME и INDEX), между которыми можно переключаться во время работы. Вырожденные бары выделяются, а сводная информация о них выводится на компактной панели, что позволяет выполнять калибровку в реальном времени, не выходя из терминала.
Альтернатива временным барам (Часть 2): Построение баров серий в MQL5
Мы реализуем тиковые, объемные и долларовые бары серий в Python и MQL5 и встраиваем их в существующий фреймворк построения баров. В статье подробно описаны обновление двух накопителей, офлайн-калибровка с начальными значениями для каждого направления, сохранение состояния в советниках и проверка совпадения результатов Python и MQL5. Бары серий (runs bar) выявляют односторонние всплески активности, которые может скрывать метрика чистого дисбаланса, улучшая тем самым охват данных в спокойные сессии и для моделей возврата к среднему.
Альтернатива временным барам (Часть 1): Построение баров активности и дисбаланса в Python и MQL5
В данной статье сэмплирование по времени заменяется альтернативными типами баров Лопеса де Прадо. Представлены две согласованные реализации: унифицированный модуль Python для пакетной обработки истории тиков и объектно-ориентированная библиотека MQL5 для советников, работающих в реальном времени. В статье рассматриваются инфраструктура Parquet/Dask, очистка данных и единый API. Отдельно решаются практические задачи: фильтрация временных баров с нулевым тиковым объемом, инициализация порога дисбаланса, сохранение состояния экспоненциально взвешенного среднего (EWM) и обеспечение совпадения результатов Python и MQL5.
Перекрестный рекуррентный количественный анализ (CRQA) в MQL5: Разработка полноценной библиотеки анализа
В этой статье библиотека RQA для MQL5 расширяется до перекрестного рекуррентного количественного анализа (Cross Recurrence Quantification Analysis, CRQA) для сравнения двух временных рядов. Мы реализуем вложение двух рядов, построение матрицы перекрёстной рекуррентности, адаптированные метрики (CRR, CDET, CLAM, CENTR и другие), а также анализ в скользящем окне с возможностью ускорения на графическом процессоре (GPU) через OpenCL. Готовый к использованию индикатор сравнивает два торговых инструмента (символа) в режиме реального времени, поддерживая выравнивание по временным меткам и нормализацию для практического межрыночного анализа.
Нейросети в трейдинге: Диффузионная генерация торговых планов (Вычислительная основа)
Продолжаем торговую адаптацию фреймворка DPCC и рассматриваем семь OpenCL-кернелов для коррекции торгового плана. На основе диагностики нарушений определяем порядок изменения действий, формируем варианты поправок и повторно проверяем их последствия на заданных ценовых сценариях. Разбираем сравнение предложений, выбор улучшения и контроль бюджета проверок. Итоговые статусы и диагностика позволяют отличить успешную коррекцию от завершения поиска с оставшимися нарушениями.
Нейросети в трейдинге: Диффузионная генерация торговых планов (DPCC)
Рассматриваем адаптацию фреймворка DPCC для построения торговых планов с учётом ограничений счёта. Разбираются принципы диффузионной генерации траекторий, модельной проекции и проверки допустимости последовательности действий. Для финансовых рынков используется сценарное моделирование состояния счёта. Практическая часть посвящена OpenCL-кернелам DPCCRollout и DPCCRolloutReduce, которые рассчитывают последствия планов и определяют их допустимость по заданным ценовым сценариям.
Стресс-тестирование последовательностей сделок методом Монте-Карло в MQL5
Бэктест показывает лишь одну траекторию из множества возможных исходов. Данный MQL5-скрипт выполняет 1000 бутстрап-передискретизаций Монте-Карло для ряда P&L по сделкам, строит на графике веерную диаграмму процентилей с помощью CCanvas и выводит вероятность разорения, Value at Risk (VaR) и наихудшую просадку на уровне 95-го процентиля. В результате получается практический взгляд на траекторный риск и подверженность просадкам, выходящий за рамки одной кривой эквити.
MQL5 Bootstrap (IV): Вспомогательные средства для трейлинг-стопов и переноса стоп-лосса в безубыток
В этой статье представлены переиспользуемые утилиты MQL5 для управления трейлинг-стопами и переносом стоп-лосса в безубыток. В ней рассматриваются трейлинг-стоп с фиксированным расстоянием в пунктах, трейлинг на основе скользящей средней, ATR и Parabolic SAR, трейлинг в денежном выражении и периодический трейлинг, а также перенос стоп-лосса в безубыток по пунктам и в денежном выражении. Предусмотрены пороги активации, логика пошагового переноса, защита от переноса стопа в обратном направлении и проверка ограничений брокера. Примеры кода и классы Bootstrap показывают, как интегрировать эти вспомогательные средства в советники, чтобы стандартизировать управление позициями и сократить дублирование кода.
MQL5 Bootstrap (III): Упрощенные средства работы с новостями
В этой статье представлены унифицированная модель новостей и набор переиспользуемых классов MQL5 для работы с Экономическим календарем MetaTrader 5. Вы сможете получать, фильтровать и кэшировать события по времени, валюте, стране и важности с помощью единого интерфейса для трех провайдеров: встроенного календаря, CSV и SQLite. Фреймворк поддерживает экспорт и импорт, поиск следующего и предыдущего событий, а также надежное тестирование на истории в Тестере стратегий без изменения торговой логики.
За пределами GARCH (Часть VIII): Библиотека MMAR и ее использование в советнике
Эта статья завершает проект MMAR фасадным классом CMMAR и демонстрационным советником для MetaTrader 5. Фасад предоставляет компактный API (настройка, Fit(), Forecast()), объединяющий анализ разбиений, подгонку спектра и моделирование методом Монте-Карло. Вы узнаете, как загружать данные, подгонять модель и получать прогноз волатильности, а также использовать диагностику и обработку статусов для надежного применения модели в советниках.
MQL5 Bootstrap (II): Основные валидаторы для надежных торговых систем
В статье создается переиспользуемый слой валидации для советников MQL5. В ней реализованы правила размера лота и его нормализации, проверки SL/TP и уровня заморозки, нормализация цен по количеству знаков, проверка достаточности маржи, фильтрация неизменных уровней при модификации, контроль лимита ордеров на счете, обнаружение нового бара, проверка доступности символа для торговли, новостные окна экономического календаря и функции определения торговых сессий. В результате код становится чище, а число ошибок терминала в реальной торговле уменьшается.
За пределами GARCH (Часть VII): Прогнозирование волатильности методом Монте-Карло в MQL5
Мы реализуем модуль CMonteCarlo, который преобразует подогнанные параметры MMAR в прогноз волатильности методом Монте-Карло. Модуль выполняет N независимых симуляций на выбранном горизонте прогнозирования и возвращает среднее, медиану, стандартное отклонение и 95-процентный доверительный интервал на основе процентилей. При необходимости доступны значения каждого прогона. Адаптивная глубина каскада выбирает минимальное k, при котором b^k покрывает горизонт прогнозирования, обеспечивая быстродействие и согласованность симуляции.
За пределами GARCH (Часть VI): Фракционное броуновское движение и мультипликативный каскад в MQL5
В этой статье реализуется модуль моделирования MMAR: по параметрам, полученным при подгонке (H, распределение, коэффициенты, выборочная волатильность), он строит синтетические ценовые траектории. Модуль строит мультифрактальное торговое время с помощью мультипликативного каскада, генерирует фракционное броуновское движение методом Дэвиса — Харта или разложением Холецкого, масштабирует его до целевой волатильности и строит составной процесс посредством деформации времени. Читатели получат класс на языке MQL5, пригодный для многократного использования, рекомендации по выбору метода в зависимости от длины траектории и этапы валидации для сценарного тестирования и применения метода Монте-Карло в следующей части.
За пределами GARCH (Часть V): Подгонка мультифрактального спектра в MQL5
В этой статье мы реализуем модуль подгонки спектра: из tau(q) вычисляем f(alpha) дискретным преобразованием Лежандра, затем с помощью BLEIC подгоняем нормальный, биномиальный, пуассоновский и гамма-спектры с покомпонентными ограничениями. Выбирается модель с минимальной SSE; ее параметры — например, alpha_min, alpha_max или alpha_0, gamma — становятся входными параметрами каскада для мультифрактального моделирования.
Оптимизация на основе кривых Безье — Bezier Curve-based Optimization (BCO)
Разбираем Bezier Curve-based Optimization (BCO) — один из самых современных алгоритмов, в котором новые решения строятся как точки на кривых Безье. Переносим его в MQL5 и проверяем на стандартном стенде, композитном тесте и стенде со сдвигом области поиска. Попутно выясняем, что на самом деле обеспечивает его эффективность.
За пределами GARCH (Часть IV): Реализация анализа разбиений в MQL5
В этой статье мы переходим от исследований на Python к нативной инженерной реализации на MQL5. Мы создаем первый модуль библиотеки MMAR: общий заголовочный файл с константами, класс OLS-регрессии на основе SVD, оценщик обобщенного показателя Херста и механизм анализа разбиений. Последний вычисляет функцию разбиения, определяет tau(q), оценивает H интерполяцией точки пересечения с нулем и оценивает мультифрактальность по результатам трех диагностических тестов. При проверке на 500 000 барах EURUSD на таймфрейме M10 механизм менее чем за четыре секунды правильно определил данные как мультифрактальные. Четвертая часть серии из восьми статей. В пятой части кривая tau(q) будет подгоняться к четырем распределениям-кандидатам с использованием преобразования Лежандра.
Нейросети в трейдинге: Управление риском через распределение результатов (Окончание)
Торговая адаптация AC-SRM объединяет подготовленный энкодер рынка, Актёра и два распределительных Критика на MQL5 и OpenCL. Спектральная оценка распределения результатов используется для обучения политики с учётом неблагоприятных исходов. Рассмотрены офлайн-подготовка по завершённым результатам торговых действий и последовательное онлайн-обучение в тестере MetaTrader 5 с собственной схемой перекрёстных целевых моделей Критиков. Приведены результаты эксперимента и практические ограничения подхода.
За пределами GARCH (Часть III): Построение MMAR и вердикт
Получив во второй части мультифрактальные параметры, в этой статье мы построим полный процесс MMAR. Мы строим мультипликативный каскад торгового времени, генерируем фракционное броуновское движение с помощью алгоритма Дэвиса — Харта на основе БПФ и объединяем оба компонента в X(t) = B_H[theta(t)]. Прогноз волатильности получаем моделированием методом Монте-Карло по 1000 траекториям, а затем сравниваем его с прогнозом GARCH на тех же данных EURUSD на таймфрейме M5. Превосходит ли фрактальная архитектура Мандельброта по качеству прогноза подход Энгла, основанный на условной дисперсии? Третья часть серии из восьми статей, посвященной созданию нативной библиотеки и советника на MQL5.
За пределами GARCH (Часть II): Оценка фрактальной размерности рынков
Опираясь на анализ функции разбиения из первой части, мы подробнее рассмотрим теоретическую основу, прежде чем завершить аналитический пайплайн. Сначала мы подробно и системно разберем показатель Херста: что он измеряет, что говорит о "памяти" рынка и почему важен для мультифрактальной модели доходности активов (MMAR). Затем мы дадим интуитивное объяснение мультифрактальных спектров и выясним, что f(alpha) показывает о неоднородности волатильности. Затем перейдем к реализации: определим функцию масштабирования tau(q), оценим H методом R/S и подгоним мультифрактальный спектр к четырем распределениям-кандидатам. К концу статьи у нас будет полный набор параметров для построения процесса MMAR в третьей части. Вторая часть серии из восьми статей.
За пределами GARCH (Часть I): Сравнение моделей MMAR Мандельброта и GARCH Энгла
В этой статье мы начинаем построение мультифрактальной модели доходности активов (MMAR) на данных EURUSD на таймфрейме M5. Мы загружаем рыночные данные через Python API для MetaTrader5 и анализируем функцию разбиения на неперекрывающихся интервалах, чтобы проверить наличие мультифрактального масштабирования. Результаты проверки позволят сделать эмпирически обоснованный вывод, обладают ли данные фрактальными свойствами. Это необходимый шаг перед построением MMAR и для решения, стоит ли вообще выходить за рамки GARCH.
Рыночная микроструктура в MQL5 (Часть 1): Надежный базовый слой
В этой статье мы закладываем базовый слой для инструментария рыночной микроструктуры на MQL5, состоящего из двенадцати частей. В данной статье реализованы математические функции с защитными проверками (SafeDivide, SafeLog, SafeSqrt, SafeExp, SafeTanh), устойчивая к сбоям проверка данных (ValidateSymbolV2, SafeCopyClose), усеченные статистические оценки (робастные оценки среднего и дисперсии), расчет наклона линейной регрессии, общие структуры данных и БПФ. В результате компиляции вы получаете единый подключаемый файл, который защищает индикаторы и советники от скрытых численных сбоев и стандартизирует поток данных для следующих частей серии.
Нейроструктурный торговый движок — NSTE (Часть II): Шестиступенчатый квантовый фильтр "Врата Джардина"
В этой статье представлены "Врата Джардина" — шестиступенчатый ортогональный фильтр сигналов для MetaTrader 5. Он проверяет прогнозы LSTM по шести независимым критериям: энтропии, интерференции (степени согласия) моделей-экспертов, уверенности, вероятности с поправкой на рыночный режим, направлению тренда и срабатыванию аварийного выключателя (Kill Switch) после серии убытков. Из 43 200 исходных сигналов за месяц только 127 проходят все шесть ступеней. Читатели получат полный код класса QuantumEdgeFilter на MQL5, логику калибровки порогов и анализ эффективности каждого этапа фильтрации.
Свинговые экстремумы и откаты в MQL5 (Часть 3): Определение структурной валидности за рамками простых максимумов и минимумов
В статье представлен советник MQL5, который переводит первичное обнаружение свингов на уровень основанного на правилах модуля структурной валидации. Свинги подтверждаются сломом структуры (break of structure), импульсным смещением, снятием ликвидности или удержанием уровня во времени (time-based respect), после чего связываются с картой ликвидности (liquidity map) и структурной машиной состояний (structural state machine). В результате получаются учитывающие контекст точки входа и стопы, привязанные к подтверждённым уровням, что помогает фильтровать шум и систематизировать исполнение сделок.
Алгоритм оптимизации скопы — Osprey Optimization Algorithm(OOA)
Алгоритм оптимизации скопы (OOA) — ещё один представитель метаэвристик с красивой метафорой и первыми местами на бенчмарках. Проверка на стенде показывает другое. В статье разбираем, какие две формулы ломают канон, исправляем их по одной с измерением вклада каждой правки и доводим алгоритм с 30% до 60%. На выходе — готовая реализация в C_AO с тремя параметрами для оптимизации торговых систем и понятный способ проверить любой новый алгоритм, прежде чем ему доверять.
Нейросети в трейдинге: Управление риском через распределение результатов (Объект верхнего уровня)
Продолжаем адаптацию AC-SRM для задач финансовых рынков и вводим нейронный слой для риск-чувствительной оценки распределения возможных результатов. CNeuronACSRM упорядочивает прогнозируемые исходы, корректно выделяет нижний хвост распределения и возвращает градиенты в исходную индексацию FQF. В статье разбираются архитектура слоя, прямой и обратный проходы, а также влияние вероятностей на итоговую спектральную оценку риска.
От простых кнопок закрытия до панели управления рисками на основе правил в MQL5
В статье рассмотрено создание основанной на правилах панели управления рисками на графике в MetaTrader 5 с использованием Standard Library MQL5. В руководстве рассматриваются GUI на основе CAppDialog, ручная маршрутизация событий и автоматизированный цикл обновления. Мы привяжем события пользовательского интерфейса к CTrade для выполнения условного закрытия позиций, отображения чистой плавающей прибыли/убытка и считывания автоматизированных целевых значений непосредственно с графика.
Три фильтра MACD на US_TECH100: Тестирование на данных брокера за пять лет
В этой статье тестируются три распространенных фильтра для стандартного пересечения MACD на US_TECH100 H1 с использованием нативных данных брокера за пять лет. Фильтры добавляются поэтапно: фильтр рыночного режима, согласование со старшим таймфреймом (HTF) и время американской сессии. Это позволяет изолировать добавочный эффект каждого фильтра. Результаты показывают, что выбор часов торговли дает гораздо больший эффект, чем доработки индикатора, тогда как рыночный режим и HTF сами по себе дают мало. Статья включает воспроизводимый классификатор рыночного режима на MQL5.
Нейросети в трейдинге: Управление риском через распределение результатов (Вычислительная основа)
Продолжаем адаптацию AC-SRM к торговым задачам и переносим основные операции с распределением результатов на сторону OpenCL. Реализованы выборка из распределения, расчет спектральных весов и риск-чувствительная оценка, а также градиенты по значениям и вероятностям с учетом пути через квантильное кодирование. Полученные примитивы позволяют оценивать возможные торговые результаты с заданным отношением к риску и формировать согласованный обучающий сигнал для распределительной модели.
Автоматизация индикатора рыночной энтропии: Торговая система на основе теории информации
В этой статье представлен советник, автоматизирующий ранее представленную методику рыночной энтропии. Он рассчитывает быструю и медленную энтропию, моментум и состояния сжатия, подтверждает сигналы и исполняет ордера с уровнями SL/TP и опциональным разворотом позиции. В результате получается практичный настраиваемый инструмент, применяющий сигналы на основе теории информации без ручной интерпретации.