Статьи по машинному обучению в трейдинге

icon

Создание торговых роботов на основе искусственного интеллекта: нативная интеграция с Python, операции с матрицами и векторами, библиотеки математики и статистики и многое другое.

Узнайте, как использовать машинное обучение в трейдинге. Нейроны, перцептроны, сверточные и рекуррентные сети, модели прогнозирования — начните с основ и продвигайтесь к созданию собственного ИИ. Вы научитесь обучать и применять нейронные сети для алгоритмической торговли на финансовых рынках.

Новая статья
последние | лучшие
preview
Машинное обучение в условиях ограничений (Часть 2): Калибровка размера позиции по оставшемуся бюджету допустимой просадки

Машинное обучение в условиях ограничений (Часть 2): Калибровка размера позиции по оставшемуся бюджету допустимой просадки

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

Архитектура машинного обучения для MetaTrader 5 (Часть 20): Подавление шума, удаление рыночной компоненты и кластеризация корреляционной матрицы признаков

Исходные корреляции признаков содержат шум оценивания и компоненту общей рыночной моды, которые искажают результаты кластеризации. Мы оцениваем верхнюю границу шумового спектра по теореме Марченко — Пастура (с поправкой на эффективный размер выборки), подавляем шум методом выравнивания остаточных собственных значений, удаляем рыночную компоненту и запускаем алгоритм оптимального числа кластеров (ONC). В результате получаются очищенная корреляционная матрица и устойчивые метки кластеров, которые позволяют избежать эффекта замещения и служат входными данными для оценки групповой важности признаков методами среднего уменьшения неоднородности (MDI) и среднего снижения точности (MDA) в следующей статье.
preview
Ценовые каналы в MQL5 без предположений о форме распределения: Квантильная регрессия методом итеративно перевзвешенных наименьших квадратов (IRLS)

Ценовые каналы в MQL5 без предположений о форме распределения: Квантильная регрессия методом итеративно перевзвешенных наименьших квадратов (IRLS)

Мы строим скользящий ценовой канал по условным квантильным прямым уровней 0.1, 0.5 и 0.9, оцениваемым методом итеративно перевзвешенных наименьших квадратов (IRLS) с квантильной функцией потерь (pinball loss); реализация включает класс для повторного использования и два индикатора MetaTrader 5. Мы проверяем охват внутри выборки, анализируем пересечение квантильных прямых и сравниваем ширину канала со средним истинным диапазоном (ATR), шириной полос Боллинджера и шириной регрессионного канала на одинаковых горизонтах. Проверки в тестере стратегий показывают, что границы канала носят описательный характер, тогда как нормированная ширина служит признаком волатильности и рыночного режима.
preview
Машинное обучение онлайн для фильтрации торговых сигналов в MQL5 (Часть 1): Фильтр, обучающийся на результатах закрытых сделок

Машинное обучение онлайн для фильтрации торговых сигналов в MQL5 (Часть 1): Фильтр, обучающийся на результатах закрытых сделок

В этой статье на чистом MQL5 реализован фильтр торговых сигналов на основе логистической регрессии с онлайн-обучением, интегрированный в советник (EA) на основе пересечения экспоненциальных скользящих средних (EMA) с контуром обратной связи по закрытым сделкам. В статье подробно описаны общий класс, признаки, обновление методом стохастического градиентного спуска (SGD), сохранение состояния модели и отображение вероятности без возможности изменения модели. Эксперименты на синтетических данных охватывают оценку разделения при разных начальных значениях генератора случайных чисел, калибровку вероятностей, абляционный анализ признаков, сравнение с базовыми моделями в условиях смены режима и перебор значений гиперпараметров. Вы получите скрипты для воспроизводимых экспериментов и протокол пошаговой проверки со сдвигом временных окон, чтобы проверить фильтр на выбранном вами торговом инструменте.
preview
Как разработать мультивалютного советника с ИИ-помощником (AI Assistant) в MetaTrader 5

Как разработать мультивалютного советника с ИИ-помощником (AI Assistant) в MetaTrader 5

Собрать мультисимвольного советника, да чтобы еще и торговал по разным стратегиям — это задача со звездочкой даже для алготрейдера с многолетним опытом. Но с появлениям полноценного встроенного AI помощника в терминале MetaTrader 5 теперь это посильно разработчику любого уровня. При этом даже не требуется быть специалистом в математике и риск-менеджменте — языковая модель все вам объяснит в чате и напишет полностью за вас код.
preview
Нейросети в трейдинге: AlphaGen — поиск торговых факторов

Нейросети в трейдинге: AlphaGen — поиск торговых факторов

Начинаем изучение AlphaGen — фреймворка автоматического поиска формульных факторов для прогнозирования рыночной доходности и формирования торговых сигналов. Разбираем, как генератор создаёт выражения из цен и объёмов, а совместная оценка факторов помогает отбирать полезные признаки для торговой модели. Рассматриваем адаптацию алгоритма к финансовым временным рядам. В практической части реализуем OpenCL-примитивы типизированного стека и маскирования токенов, обеспечивающие корректное построение формул с учётом ограничений доступной истории.
preview
Измеряем главное (Часть 1): Декомпозиция портфельного риска в MQL5

Измеряем главное (Часть 1): Декомпозиция портфельного риска в MQL5

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

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

Жестко заданные в коде правила проп-фирмы привязывают модуль расчета размера позиции к одной программе проп-фирмы. В этой статье правила выделяются в PropFirmRuleSet, а PropFirmAccountState и модификаторы размера позиции перерабатываются для его использования, в том числе для учета различий между динамическим и фиксированным дневными лимитами и снижения доли засчитываемой прибыли в новостном окне. Проверка: соответствие поведения исходной реализации для FundedNext проверяется на смоделированной траектории средств счета, поэтому расчет размера позиции можно адаптировать к другой программе через конфигурацию, не переписывая код.
preview
Как запустить локальную LLM для MetaTrader 5 без Ollama?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этой статье мы обосновываем целесообразность объединения картирования дивергенций с имитационной моделью на основе TFT. Основная идея картирования дивергенций состоит в том, чтобы не полагаться на запаздывающие подтверждения со стороны цены, а использовать метод как структурный датчик, помогающий выявлять скрытые изменения импульса по движению цены и аномалиям индикаторов. Чтобы определить, как эти аномалии интерпретируются с течением времени, мы используем упрощенную модель TFT. Эта сеть учитывает исторический контекст при оценке формирующихся трендов, поэтому ее объединение с картированием дивергенций должно позволить нам выявлять изменения в накоплении и распределении еще до ценовых пробоев.
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
Архитектура машинного обучения для MetaTrader 5 (Часть 19): Режимы бэггинга

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

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

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

Исследуется прогноз следующего часового движения EURUSD H1 на длинной истории. Сравнивается исходное ценовое уравнение с простейшим ориентиром, после чего задача переносится на направление и величину следующего изменения с хронологическим разделением данных. Отдельно анализируется переход 23:00→00:00 и его поведение на 100 последовательных двухмесячных участках вне обучения. Читатель получает воспроизводимую схему подготовки данных и отбора сигналов по уверенности.
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

Цифровая обработка сигналов для трейдеров: Создаем библиотеку фильтров Элерса на языке MQL5

Мы реализуем фильтры цифровой обработки сигналов (ЦОС) по методам Элерса в единой библиотеке MQL5, пригодной для многократного использования, и на ее основе создадим два индикатора. В Roofing Filter за двухполюсным фильтром верхних частот (ФВЧ) следует Super Smoother, что позволяет выделить диапазон периодов 10–48 баров, пригодный для торговли. Even Better Sinewave нормирует сигнал примерно до диапазона ±1: в циклических рыночных режимах он колеблется, а при трендах удерживается у предельного уровня, что позволяет анализировать циклы и выявлять смены рыночного режима на графиках и в советниках.
preview
Конструирование признаков для машинного обучения (Часть 8): Энтропийные признаки в MQL5

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

Реализация на MQL5 четырех методов оценки энтропии — энтропии Шеннона, подстановочной оценки энтропии (Plug-In), сложности Лемпеля — Зива и энтропии Контоянниса — для последовательности, полученной по тиковому правилу внутри бара. CopyTicksRange() ограничивает доступные данные окном тикового кеша брокера, поэтому признаки можно рассчитывать только для недавних баров. В реализации тики из структуры MqlTick кодируются по направлению изменения цены Bid, операции, зависящие от NumPy, заменяются методами работы с массивами, а для использования в советниках и индикаторах предоставляются файлы CEntropyFeatures.mqh и EntropyViewer.mq5.
preview
Нейросети в трейдинге: Habi — быстрое принятие решений без сложного планирования (формирование и оценка действий)

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

Продолжаем торговую адаптацию фреймворка Habi на MQL5 с использованием OpenCL. Разбираем реализацию выходных слоёв Decoder и Critic, передачу общих параметров латентного распределения вместе с пакетом торговых действий и подготовку обучающих сигналов по эталону, историческим результатам и TD-цели. Показываем, как объединяются прямой градиент критика и сигнал, прошедший через декодер и латентную выборку. Это позволяет подготовить компоненты к последующей сборке и обучению торговой модели.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 99): Использование KD-дерева и эхо-сети (ESN) в пользовательском классе управления капиталом

Возможности Мастера MQL5, которые вам нужно знать (Часть 99): Использование KD-дерева и эхо-сети (ESN) в пользовательском классе управления капиталом

В этой статье описывается пользовательский класс управления капиталом CMoneyKDTreeESN, совместимый с Мастером MQL5 и объединяющий алгоритм KD-дерева и эхо-сеть (ESN). Мы применяем KD-дерево к логарифмическим доходностям и ATR (среднему истинному диапазону), чтобы получить оценку риска, а ESN отслеживает недавнюю рыночную динамику и выдает множитель объема позиции с ограниченным диапазоном значений. Наш класс можно использовать в различных советниках, созданных с помощью Мастера MQL5, как показано здесь на примере сигналов Envelopes и RSI; общая цель — регулировать рисковую экспозицию в условиях высокой волатильности и хвостового риска.
preview
Архитектура машинного обучения в MetaTrader 5 (Часть 18): Исправленный последовательный бутстрэп — клонирование, стирание типа и инструментарий сравнения

Архитектура машинного обучения в MetaTrader 5 (Часть 18): Исправленный последовательный бутстрэп — клонирование, стирание типа и инструментарий сравнения

В статье выявляются два дефекта, которые сводят на нет эффект последовательного бутстрэпа при перекрестной проверке: стирание типа SequentiallyBootstrappedBaggingClassifier и несоответствие размерностей на уровне фолда из-за клонирования полного набора информационных интервалов наблюдений. Предлагаемое исправление сохраняет принадлежность классификатора к исходному классу, добавляет функцию _find_seq_bagging() для повторной передачи в CalibratorCV.fit данных t1, ограниченных текущим фолдом, и сбрасывает состояние при каждом разбиении. Новый модуль bootstrap_comparison выводит OOF-метрики и на наблюдениях вне бутстрэп-выборки (OOB), а также данные об использовании памяти, позволяя проверить правильность применения последовательного отбора и количественно оценить его влияние.
preview
Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций

Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций

Пересечение линий DI часто дает сигналы на боковом рынке, где +DI и -DI колеблются без устойчивого преобладания одной из линий. Мы создаем двухслойную гибридную модель: алгоритм выбора гиперпараметров TPE в Optuna оптимизирует фильтр рыночного режима по порогу ADXR, периоду расчета DI и минимальному расстоянию между линиями DI, чтобы максимизировать точность (precision) сигналов на отложенном валидационном интервале; затем случайный лес использует одиннадцать признаков, рассчитанных на основе ADX, для допуска входов в рынок или определения размера позиций с помощью afml.bet_sizing. Полученная модель отфильтровывает всплески сигналов на боковом рынке и калибрует размер позиции при торговле EURUSD на H1.
preview
Поиск торгового преимущества (Часть 1): Использование дискретного преобразования Фурье (ДПФ) и импульсной нейронной сети (SNN) в торговом роботе

Поиск торгового преимущества (Часть 1): Использование дискретного преобразования Фурье (ДПФ) и импульсной нейронной сети (SNN) в торговом роботе

В этой статье мы приводим аргументы в пользу сочетания дискретного преобразования Фурье (ДПФ) и импульсной нейронной сети (SNN) в торговом роботе. Преобразование Фурье позволяет представить данные в виде колебаний, а не в виде исходных значений. Для интерпретации этих циклов мы используем импульсную нейронную сеть (SNN), которая, в отличие от обычных сетей, накапливает потенциал за счёт изменяющихся во времени электрических зарядов и генерирует импульс только при достижении заданного порога. Сочетание этих двух модулей позволяет нам точнее определять моменты отдельных рыночных движений, что в теории должно давать сигналы входа со строгим математическим подтверждением.
preview
Фундаментальные модели для торговли (Часть III): Запуск генеративной ИИ-модели прогнозирования в MetaTrader 5

Фундаментальные модели для торговли (Часть III): Запуск генеративной ИИ-модели прогнозирования в MetaTrader 5

Мы демонстрируем отображение прогнозов Kronos на графике в реальном времени средствами MQL5 и пайплайн оценки, спроектированный для исключения заглядывания в будущее. Прогнозы из детерминированных выгрузок оцениваются для каждого горизонта в сравнении с базовым прогнозом случайного блуждания (15 113 прогнозных значений), затем используются в простом торговом правиле в Тестере стратегий на EURUSD H1. Результаты не выявляют торгового преимущества и показывают, как высокий порог может дать убедительный на вид, но малоинформативный результат тестирования на исторических данных с очень небольшим числом сделок.
preview
Конструирование признаков для машинного обучения (Часть 7): Энтропийные признаки в Python

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

В статье представлены готовые к промышленной эксплуатации оцениватели энтропии (Шеннона, подстановочный, Лемпеля — Зива, Контоянниса), работающие с последовательностями, закодированными по тиковому правилу. В статье устранены три проблемы корректности и производительности исходного кода, результаты сверены с данными из главы, а возможности кодирования расширены за счёт квантильного и сигма-кодирования. Пользователи получают воспроизводимые результаты и заметно более высокую скорость вычислений при работе с большими наборами баров.
preview
Фундаментальные модели для торговли (Часть II): Декодирование, авторегрессия и точный KV-кэш

Фундаментальные модели для торговли (Часть II): Декодирование, авторегрессия и точный KV-кэш

Мы завершаем нативную реализацию Kronos на MQL5: создаем декодировщик, этапы decode_s1 и decode_s2 предиктора с подводными камнями перекрестного внимания и авторегрессионный цикл, формирующий прогноз на несколько баров. Затем мы проводим профилирование и ускоряем реализацию примерно в 4,5 раза с помощью точного KV-кэша и предварительно транспонированных весов, сверяя результаты каждого этапа с результатами PyTorch.
preview
Метаразметка классических стратегий (Часть 1): Фильтрация сделок по RSI и определение размера позиций

Метаразметка классических стратегий (Часть 1): Фильтрация сделок по RSI и определение размера позиций

В условиях тренда RSI накапливает убытки, поскольку генерирует сигнал при каждом пересечении порога независимо от рыночного режима. Вторичный классификатор на основе случайного леса, обученный на 12 контекстных признаках — наклоне импульса RSI, скорости тренда EMA50, нормированном по ATR отклонении цены от трендовой средней и девяти других, — фильтрует исходные сигналы и масштабирует размер позиции в зависимости от уверенности классификатора на данных EURUSD H1. В результатах сравниваются исходный RSI, RSI с метафильтрацией и RSI с адаптивным размером позиции за 16-месячный период вне обучающей выборки с анализом показателей по отдельным сделкам и просадок.
preview
Фундаментальные модели для торговли (Часть I): Нативная реализация Kronos средствами MQL5

Фундаментальные модели для торговли (Часть I): Нативная реализация Kronos средствами MQL5

Kronos — предварительно обученная модель-трансформер, которая моделирует бары OHLCV так же, как языковая модель предсказывает слова. Мы с нуля реализуем ее токенизатор/кодировщик и блок трансформера на нативном MQL5, экспортируем веса в плоские файлы .bin и полностью исключаем Python из этапа выполнения модели. В части 1 реализованы предобработка, токенизация BSQ и средства побитной проверки результатов относительно PyTorch, что позволяет уверенно запускать кодировщик внутри MetaTrader 5.
preview
Нейросети в трейдинге: Habi — быстрое принятие решений без сложного планирования (вероятностное представление)

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

Рассматриваем реализацию вероятностных компонентов Habi на MQL5 и OpenCL: обработку рыночных наблюдений, преобразование параметров нормального распределения и пакетное семплирование латентных векторов. На примере CNeuronHabiObservationOCL, CNeuronHabiGaussianOCL и CNeuronHabiVAEOCL разбираем архитектуру, инициализацию, прямой и обратный проходы. Показываем согласование Prior и Posterior через условную KL-дивергенцию и накопление градиентов от нескольких выборок. Полученные компоненты создают основу для последующей генерации торговых действий.
preview
Нейросети в трейдинге: Habi — быстрое принятие решений без сложного планирования

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

Адаптируем фреймворк Habi для алгоритмической торговли на финансовых рынках. Его основной принцип — перенос опыта сложного планирования в генеративную политику для быстрого принятия решений. Модель учитывает рыночные данные и состояние счёта, формирует варианты управления торговой позицией, а Critic оценивает их потенциальные результаты. Для обучения используются эталонные действия Oracul. Рассматриваем архитектуру торговой адаптации и реализацию OpenCL-кернелов пакетного семплирования и обратного распространения градиентов.