Нейросети в трейдинге: Унифицированное смешивание признаков для торговых решений (Основные компоненты)
В статье показана адаптация фреймворка UniMixer средствами MQL5 для анализа финансовых рынков. Модуль UniMixer сначала выполняет смешивание токенов на локальном масштабе. Затем при глобальном смешивании токены сжимаются для фильтрации шума и снижения вычислительной нагрузки. После чего восстанавливаются до исходного количества. Интеграция с PerToken SwiGLU обеспечивает доработку каждого токена, повышая точность и устойчивость модели к рыночным колебаниям.
Разрабатываем мультивалютный советник (Часть 32): Секреты шага создания проекта оптимизации (II)
В статье рассматриваются параметры второго этапа конвейера автоматической оптимизации мультивалютного советника. Мы анализируем критерии фильтрации проходов первого этапа и правила формирования групп торговых стратегий. Демонстрируется влияние настроек на результаты оптимизации, обсуждаются аспекты надёжности процесса и баланс между строгостью отбора и достаточностью кандидатов для алгоритма.
Нейросети в трейдинге: Унифицированное смешивание признаков для торговых решений (Окончание)
В статье представлена завершающая часть адаптации фреймворка UniMixer средствами MQL5, включая построение SiameseNorm и объекта верхнего уровня CNeuronUniMixerBlock. Описана полная цепочка обработки рыночных данных от токенизации и контекстного выделения до сценарного моделирования и смешивания признаков. Приведены результаты тестирования на исторических данных EURUSD, демонстрирующие умеренную прибыль.
Возможности Мастера MQL5, которые вам нужно знать (Часть 61): Использование паттернов ADX и CCI с обучением с учителем
Осцилляторы ADX и CCI — это индикаторы следования за трендом и импульса, которые можно использовать в паре при разработке советника. Мы рассмотрим, как их можно систематизировать, используя все 3 основных режима машинного обучения. Созданные с помощью Мастера советники позволяют нам оценить паттерны, представленные этими двумя индикаторами. Начнем с рассмотрения того, как к этим паттернам можно применить обучение с учителем.
Нейросети в трейдинге: Адаптивное масштабирование представлений (Основные компоненты)
Статья продолжает адаптацию фреймворка ADS под задачи трейдинга. Рассматривается отказ от PSRG и интеграцию его функций в PCRG, где адаптация выполняется в пространстве запросов. Применен порядок вычислений, аналогичный STCA, для линейного масштабирования по длине истории. Представлены OpenCL‑кернелы ConcatVecMatrix/Grad и класс CNeuronPCGR, что упрощает архитектуру и уменьшает вычислительную нагрузку при анализе длинных временных рядов.
Разработка системы репликации (Часть 77): Новый Chart Trade (IV)
В этой статье мы расскажем о некоторых деталях и мерах предосторожности, которые следует учитывать при создании протокола связи. Это довольно простые и понятные вещи, так что мы не будем слишком углубляться в эту статью. Но чтобы понять, что произойдет у получателя, нужно разобраться в содержании статьи.
Автоматизация торговых стратегий в MQL5 (Часть 25): Советник для торговли по линиям тренда с аппроксимацией методом наименьших квадратов и динамической генерацией сигналов
В данной статье мы разрабатываем программу для торговли по линиям тренда, которая использует аппроксимацию методом наименьших квадратов (least squares fit) для определения линий поддержки и сопротивления, генерируя динамические сигналы на покупку и продажу при касании ценой этих линий и открывая позиции по полученным сигналам.
Нейросети в трейдинге: Внимание, память и рыночные паттерны в GDformer
Статья разбирает архитектуру GDformer применительно к алгоритмическому трейдингу. Показано, как обучаемая память, Dictionary-based Cross-Attention и Similarity Branch помогают сопоставлять текущее состояние рынка с выученными режимами и оценивать степень надёжности интерпретации. Дана реализация прямого прохода механизма внимания в OpenCL с использование разреженных коэффициентов без повторного перенормирования, что повышает устойчивость модели и эффективность на длинных последовательностях.
Статистический арбитраж на коинтегрированных акциях (Часть 2): Советник, тестирование и оптимизация
В данной статье представлен пример реализации советника для торговли корзиной из четырёх акций компаний, котирующихся на Nasdaq. Сначала акции были отфильтрованы на основе тестов на корреляцию Пирсона. Затем для отфильтрованной группы была проведена проверка на коинтеграцию с помощью тестов Йохансена. Наконец, стационарность коинтегрированного спреда проверялась с помощью тестов ADF и KPSS. Здесь мы рассмотрим некоторые замечания по поводу этого процесса, а также результаты бэктестов после небольшой оптимизации.
От матриц к модели: Как запустить ML-пайплайн в MQL5 и довести его до ONNX
Показано, как организовать согласованный ML-конвейер в MetaTrader 5 с разделением ролей: Python обучает и экспортирует модель в ONNX, MQL5 воспроизводит нормализацию и PCA через matrix/vector и выполняет инференс. Такой подход делает входы модели стабильными и проверяемыми, а тестер стратегий MetaTrader 5 даёт метрики для анализа поведения системы.
Разработка торговой стратегии: Метод Butterfly Oscillator
В этой статье мы продемонстрировали, как можно преобразовать увлекательную математическую концепцию Butterfly Curve («кривая-бабочка») в практичный торговый инструмент. Мы разработали индикатор Butterfly Oscillator и создали на его основе базовую торговую стратегию. Эта стратегия эффективно сочетает уникальные циклические сигналы осциллятора с традиционным подтверждением тренда на основе скользящих средних, формируя системный подход к выявлению потенциальных точек входа на рынок.
Разработка инструментария для анализа Price Action (Часть 36): Прямой доступ Python к потокам рыночных данных MetaTrader 5
Раскройте потенциал терминала MetaTrader 5 по максимуму с помощью Python-экосистемы анализа данных и официальной клиентской библиотеки MetaTrader 5. В этой статье показано, как пройти аутентификацию и напрямую передавать тики и минутные бары в хранилище Parquet, применять продвинутые методы создания признаков с помощью ta и Prophet, а также обучать модель градиентного бустинга с учетом временной структуры данных. Затем мы разворачиваем легковесный сервис Flask, который выдает торговые сигналы в реальном времени. Независимо от того, строите ли вы гибридную количественную торговую систему или усиливаете советник машинным обучением, в результате у вас будет надежный сквозной пайплайн для алгоритмической торговли на основе данных.
Автоматизация торговых стратегий в MQL5 (Часть 29): Создание системы торговли по гармоническому паттерну "Гартли" на основе Price Action
В этой статье мы разрабатываем систему распознавания гармонических паттернов "Гартли" (Gartley) на языке MQL5, которая определяет бычьи и медвежьи гармонические паттерны "Гартли" с использованием точек разворота и уровней Фибоначчи, запуская сделки с точными уровнями входа, стоп-лосса и тейк-профита. Мы также улучшим визуальное представление паттерна с помощью графических объектов — треугольников, линий тренда и меток, которые чётко отображают структуру паттерна XABCD.
Архитектура системы машинного обучения в MetaTrader 5 (Часть 3): Метод разметки сканированием тренда
Мы создали надежный конвейер разработки признаков на основе тиковых баров, чтобы исключить утечку данных, и решили критическую проблему разметки с помощью метода тройных барьеров и мета-разметки. В этой части рассматривается продвинутая техника разметки — сканирование тренда — для адаптивных горизонтов. После изложения теории будет показан пример использования меток сканирования тренда в сочетании с мета-разметкой для улучшения классической стратегии на основе пересечения скользящих средних.
Внедрение в MQL5 практических модулей из других языков (Часть 06): Операции файлового ввода-вывода в MQL5, как в Python
В этой статье показано, как упростить сложные операции MQL5 с файлами, создав интерфейс в стиле Python для удобного чтения и записи. В ней объясняется, как воссоздать интуитивно понятные шаблоны работы с файлами в Python с помощью пользовательских функций и классов. В результате получился более ясный и надежный подход к файловому вводу-выводу в языке MQL5.
Нейросети в трейдинге: Масштабируемые трансформеры со структурной декомпозицией признаков (Окончание)
Статья посвящена практической реализации Field-Aware архитектуры для алгоритмической торговли в среде MQL5. Рассматривается проблема слабой переносимости классических attention-моделей на финансовые данные: нестабильность вне выборки, чувствительность к смене рыночного режима и избыточная вычислительная сложность.
Низкочастотные количественные стратегии в MetaTrader 5: (Часть 2) Бэктестинг Lead/Lag-анализа в SQL и MetaTrader 5
В статье описывается полный конвейер, использующий анализ данных для поиска низкочастотных торговых возможностей Lead/Lag. Пошагово строится анализатор Lead/Lag на основе кросс-корреляции, с особым вниманием к самым распространенным ошибкам, которые новички чаще всего допускают при разработке запросов для анализа межактивной диффузии информации. После скрининга десятков коинтегрированных и коррелированных пар выбирается торговая пара-кандидат, оценивается её торговая реализуемость в чистом SQL-бэктесте. После того как пара проходит отбор, стратегия тестируется в MetaTester для оптимизации параметров. Советник с соответствующими настройками бэктеста и входными параметрами оптимизации предоставляется вместе со скриптами Python и SQL.
Разработка инструментария для анализа Price Action (Часть 30): Советник CCI Zero Line
Будущее – за автоматизацией анализа движения цен. В этой статье мы используем индикатор Dual CCI (Commodity Channel Index – индекс товарного канала), стратегию пересечения нулевой линии (Zero Line Crossover), EMA и анализ движения цены, чтобы разработать инструмент, который генерирует торговые сигналы и задает уровни стоп-лосса и тейк-профита с помощью ATR. Прочитайте эту статью, чтобы узнать наш подход к разработке советника CCI Zero Line.
Разработка инструментария для анализа Price Action (Часть 40): ДНК-профиль рынка
В этой статье рассматривается уникальный профиль каждой валютной пары через призму исторической динамики ее цены. Вдохновляясь концепцией генетической ДНК, которая задает уникальный генетический код каждого живого существа, мы применяем аналогичный подход к рынкам, рассматривая динамику цены как "ДНК" каждой валютной пары. Анализируя такие структурные характеристики, как волатильность, свинги, откаты, всплески и особенности сессий, инструмент выявляет базовый профиль, который отличает одну пару от другой. Этот подход дает более глубокое понимание поведения рынка и помогает трейдерам системно соотносить стратегии с естественными склонностями каждого инструмента.
Преодоление ограничений машинного обучения (Часть 5): Краткий обзор кросс-валидации временных рядов
В этой серии статей мы рассмотрим проблемы, с которыми сталкиваются алгоритмические трейдеры при внедрении торговых стратегий, основанных на машинном обучении. Некоторые проблемы в нашем сообществе остаются незамеченными, поскольку требуют более глубокого технического понимания. Сегодняшнее обсуждение служит отправной точкой для изучения "белых пятен" кросс-валидации в машинном обучении. Несмотря на то, что этот шаг часто рассматривается как рутинный, при небрежном обращении он может легко привести к вводящим в заблуждение или недостаточно оптимальным результатам. В этой статье кратко рассматриваются основы кросс-валидации временных рядов, чтобы подготовить нас к более глубокому пониманию скрытых слепых зон.
Повышение эффективности торговли с использованием Smart Money Concepts (SMC): OB, BOS и FVG
Повысьте эффективность торговли с помощью Smart Money Concepts (SMC), объединив ордер-блоки (Order Blocks, OB), пробой структуры (Break of Structure, BOS) и разрывы справедливой стоимости (Fair Value Gaps, FVG) в одном мощном советнике. Выбирайте автоматическое исполнение или работайте с отдельной концепцией SMC для более гибкой и точной торговли.
Роевой оптимизатор с иерархией суброев — Flock by Leader
Мы строим и реализуем в MQL5 алгоритм Flock by Leader: суброи формируются по метрике ARF, лидер определяется по лучшему личному рекорду, а не по положению центроида. Приводим формулы обновления для ролей роя и механизм separation. Класс C_AO_FBL совместим с тестовым стендом и проверен на функциях Hilly, Forest и Megacity в размерностях 10–1000 координат, что упрощает воспроизведение и сравнение.
Нейросети в трейдинге: Принятие торговых решений с учётом неопределенности (UncAD)
Статья предлагает перенос принципов риск-ориентированного фреймворка UncAD в алгоритмический трейдинг и обосновывает сходство задач навигации и управления капиталом при неполной информации. Мы строим на MQL5/OpenCL карту плотности рыночных состояний, которая компактно кодирует историческую структуру. Это позволяет выявлять зоны поддержки/сопротивления и области низкой плотности для более устойчивого выбора действий.
Торговые инструменты на языке MQL5 (Часть 9): Мастер первого запуска для советников с прокручиваемым руководством
В этой статье мы разрабатываем мастер первоначальной пользовательской настройки в MQL5 для советников, включающий прокручиваемое руководство с интерактивной панелью, динамическое форматирование текста и визуальные элементы управления, такие как кнопки и флажки, позволяющие пользователям эффективно перемещаться по инструкциям и настраивать торговые параметры. Пользователи программы получают представление о том, что представляет собой программа и что нужно делать при первом запуске, что больше похоже на ориентирующий сценарий.
Популяционные алгоритмы оптимизации: строим защиту от читеров
Проведён повторный прогон алгоритмов на обновлённых функциях и предложен метод быстрой проверки их «честности». Составной тест объединяет пять разных ландшафтов и исключает выигрыш за счёт геометрии отдельных задач, позволяя быстро оценить реальную поисковую способность алгоритма. Прилагается скрипт для предварительной валидации алгоритмов перед применением к оптимизации торговых стратегий.
Алгоритм оптимизации быков — Bull Optimization Algorithm (BOA)
Представляем эволюционный алгоритм без оператора селекции: лучшая особь становится единственным партнёром по скрещиванию для всей популяции, а классическая мутация заменена мультипликативной с самонастраивающимся шагом. В статье разбираем три ключевые идеи, реализуем алгоритм на MQL5 во фреймворке C_AO и проверяем его на стандартном стенде и античитер-тесте — где BOA вплотную приближается к порогу топ-45, но не входит в рейтинг.
Нейросети в трейдинге: Оптимизация Cross-Attention для анализа длинных последовательностей рынка (Окончание)
В статье рассматривается практическая реализация архитектуры STCA с интеграцией механизмов OneTrans для совместной обработки временных рядов и контекстных признаков рынка. Описаны особенности построения модели, алгоритмы прямого прохода и накопления исторического состояния. Отдельное внимание уделено процессу обучения и результатам тестирования на реальных данных, демонстрирующим поведение модели в рыночных условиях.
Разработка инструментария для анализа Price Action (Часть 34): Построение прогнозных моделей на основе необработанных рыночных данных с помощью усовершенствованного пайплайна загрузки данных
Случалось ли вам пропустить внезапный рыночный всплеск или оказаться застигнутым врасплох, когда такой всплеск происходил? Лучший способ заранее распознавать события в реальном времени – учиться на исторических паттернах. Если вы хотите обучить модель машинного обучения, в этой статье сначала показано, как создать скрипт для MetaTrader 5, который собирает исторические данные и отправляет их в Python для хранения, закладывая основу системы обнаружения всплесков. Читайте дальше, чтобы увидеть каждый шаг на практике.
Нейросети в трейдинге: Оценка риска по несогласованности представлений (Основные компоненты)
В статье реализована адаптация ReGEN-TAD под MQL5: риск трактуется как согласованность двух путей анализа — трансформера (контекст) и рекуррентной сети (динамика). Введён модуль токенизации разности, который формирует токен риска в общем пространстве признаков и передаёт его в последующие решения. Практический итог — готовые блоки для интеграции оценки уверенности в советники и для последующего обучения и тестирования.
Нейросети в трейдинге: Принятие торговых решений с учётом неопределённости (Оценка неопределённости)
В статье продолжена адаптация фреймворка UncAD для задач алгоритмического трейдинга. Реализованы объект распределения рыночных состояний и энкодер неопределённости, формирующий совместное представление состояния рынка и степени доверия к нему. Предложенная архитектура позволяет модели учитывать не только структуру рыночного режима, но и устойчивость собственной интерпретации, что особенно важно в условиях нестационарности финансовых рынков.
Повторное использование нарушенных ордер-блоков в качестве блоков смягчения (SMC)
В этой статье мы рассмотрим, как ранее ставшие недействительными ордер-блоки можно повторно использовать в качестве блоков смягчения последствий в рамках «Концепции умных денег» (Smart Money Concepts, SMC). Эти зоны показывают, где институциональные трейдеры повторно входят на рынок после неудачного ордер-блока, предоставляя зоны высокой вероятности продолжения торговли в рамках доминирующего тренда.
Тестер стратегий для Python и MetaTrader 5 (Часть 1): Торговый симулятор
Модуль MetaTrader 5 для Python, предоставляет удобный способ открывать сделки в приложении MetaTrader 5 с помощью Python, но у него есть серьезная проблема: в нем нет возможностей тестера стратегий, присутствующих в приложении MetaTrader 5. В этой серии статей мы создадим фреймворк для бэктестинга ваших торговых стратегий в средах Python.
Автоматизация торговых стратегий в MQL5 (Часть 31): Создание системы распознавания гармонического паттерна "3 Drives" с использованием Price Action
В этой статье мы разрабатываем систему распознавания гармонических паттернов "3 Drives" на языке MQL5, которая определяет бычьи и медвежьи гармонические паттерны "3 Drives" с использованием точек разворота и уровней Фибоначчи, открывая сделки с пользовательскими уровнями входа, стоп-лосса и тейк-профита в соответствии с вариантами, выбранными пользователем. Мы также повысим наглядность и информативность системы для трейдера с помощью графических объектов на графике.
Торговые инструменты на MQL5 (Часть 17): Изучение векторных скругленных прямоугольников и треугольников
В этой статье мы рассматриваем векторные методы для рисования скругленных прямоугольников и треугольников в MQL5 с использованием canvas и суперсэмплирования для сглаживания изображения. Мы реализуем заливку методом сканирования строк, геометрические предварительные вычисления для дуг и касательных, а также рисование границ для создания плавных, настраиваемых фигур. Такой подход закладывает основу для современных элементов пользовательского интерфейса в будущих торговых инструментах, поддерживающего входные параметры для установки размеров, радиусов, рамок и прозрачности.
Разработка инструментария для анализа Price Action (Часть 44): Создание в MQL5 сигнального советника на основе пересечений VWMA
В этой статье представлен инструмент для MetaTrader 5, сигнализирующий о пересечениях VWMA, который помогает трейдерам выявлять потенциальные бычьи и медвежьи развороты, сочетая анализ движения цены и торгового объема. Советник генерирует четкие сигналы на покупку и продажу прямо на графике, оснащен информативной панелью и позволяет гибко настраивать входные параметры, что делает его практичным дополнением к торговой стратегии.
Архитектура машинного обучения в MetaTrader 5 (Часть 6): Проектирование системы кэширования промышленного уровня
Устали смотреть на индикаторы выполнения вместо того, чтобы тестировать торговые стратегии? Традиционное кэширование не подходит для финансового машинного обучения, что приводит к потере результатов вычислений и вынуждает вас к повторному запуску, что вызывает раздражение. Мы разработали сложную архитектуру кэширования, учитывающую специфику финансовых данных — временные зависимости, сложные структуры данных и постоянную угрозу смещения look-ahead. Наша трёхслойная система обеспечивает значительное повышение скорости, автоматически отбрасывая устаревшие результаты и предотвращая утечку ценных данных. Хватит ждать результатов расчетов — начинайте действовать в темпе, которого требуют рынки.
Нейросети в трейдинге: Многодоменная архитектура анализа финансовых данных (Основные компоненты)
В статье продолжается перенос подходов фреймворка MDL в область решения задач финансовых рынков. Рассмотрены модули унифицированной токенизации разнородных данных, доменно-ориентированного внимание и Feature Self-Iteration, позволяющий эффективнее работать с историей признаков. Особое внимание уделено архитектурным решениям, снижающим вычислительную нагрузку и сохраняющим рыночный контекст в процессе анализа.
Автоматизация торговых стратегий в MQL5 (Часть 26): Создание системы усреднения на основе пин-баров для многопозиционной торговли
В данной статье мы разрабатываем систему усреднения на основе пин-баров на языке MQL5, которая обнаруживает паттерны пин-баров для открытия сделок и использует стратегию усреднения для управления несколькими позициями, дополненную трейлинг-стопами и переводом в безубыток. Мы объединяем настраиваемые параметры с дашбордом для мониторинга позиций и прибыли в реальном времени.
Разработка системы репликации (Часть 61): Нажатие кнопки воспроизведения в сервисе (II)
В данной статье мы рассмотрим изменения, которые позволят системе репликации/моделирования работать более эффективно и безопасно. Также я не оставлю без внимания тех, кто хочет извлечь максимум пользы из использования классов. Кроме того, рассмотрим специфическую проблему в MQL5, которая снижает производительность кода при работе с классами, и объясним, как ее решить.
Торговые инструменты на MQL5 (Часть 16): Улучшенное сглаживание методом суперсэмплинга (SSAA) и рендеринг в высоком разрешении
Мы добавляем сглаживание на основе суперсэмплинга и рендеринг высокого разрешения на панель Canvas на MQL5, а затем понижаем дискретизацию до целевого размера. В статье реализованы закругленные прямоугольные заливки и границы, закругленные треугольные стрелки и пользовательская полоса прокрутки с темой оформления для статистических и текстовых панелей. Эти инструменты помогут вам создать более плавные и разборчивые компоненты пользовательского интерфейса в MetaTrader 5.