Нейросети в трейдинге: Потоковые модели с остаточной высокочастотной адаптацией (модуль HTR)
Продолжаем работу над реализацией подходов, предложенных авторами фреймворка ResFlow. В статье представлена реализация высокочастотного модуля HTR. В нем контекст и локальная динамика приводятся к сопоставимому виду, проходят рекуррентный блок, а затем формируют согласованное внутреннее представление потока.
Нейросети в трейдинге: Единая архитектура взаимодействия рыночных признаков и торгового контекста (Основные компоненты)
Рассматривается реализация OneTrans для задач трейдинга на MQL5: FlashAttention на OpenCL, модуль многоголового кросс‑внимания, смешанный Feed‑Forward и объект верхнего уровня. Поясняется адаптация к финансовым данным, кэширование Key/Value и формирование стека токенов. Читатель получит рабочий каркас и примеры соединения компонентов в согласованный вычислительный граф.
Торговые инструменты на MQL5 (Часть 5): Создание бегущей тикерной строки для мониторинга символов в реальном времени
В данной статье мы разрабатываем бегущую тикерную строку на языке MQL5 для мониторинга в реальном времени нескольких инструментов, отображающую цены Bid, спреды и ежедневные процентные изменения с эффектом прокрутки. Мы реализуем настраиваемые шрифты, цвета и скорость прокрутки, чтобы эффективно выделять движение цен и тренды.
Преодоление ограничений машинного обучения (Часть 6): Эффективная кросс-валидация исторической памяти рынка
В этом обсуждении мы противопоставим классический подход к кросс-валидации временных рядов современным альтернативам, бросающим вызов его основным допущениям. Мы выявляем ключевые «слепые зоны» традиционной кросс-валидации, особенно её неспособность учитывать меняющиеся рыночные условия. Для устранения этих пробелов мы внедряем эффективную кросс-валидацию исторической памяти рынка (Effective Memory Cross-Validation, EMCV) - подход, ориентированный на предметную область, ставящий под сомнение устоявшееся мнение о том, что увеличение объема исторических данных всегда повышает показатели результатов.
Нейросети в трейдинге: Поиск устойчивых закономерностей в разнородных рыночных данных (INFNet)
Статья знакомит с фреймворком INFNet, предложенным для эффективного взаимодействия признаков в многозадачных системах. Проанализированы ключевые принципы в контексте финансовых рынков. Начата адаптация предложенных подходов средствами MQL5: переосмыслена структура данных и реализован механизм генерации сценарных токенов. Создана основа для дальнейшей разработки моделей с линейной сложностью и устойчивой обработкой разнородных рыночных сигналов.
Неопределённость как модель (Часть 8): Обобщение МНК
Материал показывает, как в MQL5 корректировать результаты регрессий при гетероскедастичности и автокорреляции. Реализована HAC-оценка Ньюи—Уэста для получения робастных стандартных ошибок и корректных t-статистик, что продемонстрировано на задаче оценки влияния новостей на волатильность EURUSD. Для моделей с коррелированными остатками применен CLS для ARMA с регуляризацией Левенберга—Марквардта, проверенный на спреде GOOGL/AAPL.
Статистический арбитраж с использованием коинтегрированных акций (Часть 4): Обновление параметров модели в реальном времени
В данной статье описывается простой, но комплексный алгоритм статистического арбитража для торговли корзиной коинтегрированных акций. В него входит полнофункциональный скрипт на языке Python для загрузки и хранения данных; тесты на корреляцию, коинтеграцию и стационарность, а также пример реализации сервиса Metatrader 5 для обновления базы данных и соответствующий советник. Здесь приведены некоторые проектные решения для справки и в целях содействия воспроизведению эксперимента.
Торговые инструменты на MQL5 (Часть 18): Скруглённые текстовые выноски с настройкой ориентации
В этой статье показано, как создавать скругленные текстовые выноски в MQL5, комбинируя скругленный прямоугольник с треугольником-указателем и управляя ориентацией (вверх, вниз, влево, вправо). В ней подробно описаны предварительные вычисления геометрии, суперсэмплированное заполнение, закругленные дуги вершин и сегментированные рамки с коэффициентом расширения для бесшовных соединений. Читатели получат настраиваемый код для установки размера, радиуса, цвета, прозрачности и толщины, готовый для использования в качестве оповещений или всплывающих подсказок в торговых интерфейсах.
Построение моделей волатильности в MQL5 (Часть II): Реализация моделей GJR-GARCH и TARCH
В статье реализуются GJR-GARCH и TARCH в библиотеке волатильности MQL5 и объясняется, почему учёт асимметрии даёт преимущества по сравнению со стандартными ARCH/GARCH. Рассматриваются формулировка моделей, параметризация и использование через производные классы и скрипты. Читатели получают примеры кода для калибровки и одношагового прогнозирования на реальных данных для управления рисками и диагностики моделей.
Осциллятор Parafrac: Комбинация индикаторов Parabolic SAR и Fractals
Мы рассмотрим, как объединить Parabolic SAR и индикатор Fractals для создания нового индикатора осцилляторного типа. Используя сильные стороны обоих инструментов, трейдеры могут разработать более точную и эффективную торговую стратегию.
Моделирование рынка: Position View (I)
Контент, который мы будем рассматривать с этого момента, гораздо сложнее с точки зрения теории и концепций. Я постараюсь сделать содержание как можно более простым. Сама программная часть довольно проста и понятна. Но если вы не понимаете стоящую за этим теорию, вы останетесь совершенно без ресурсов для доработки или даже адаптации системы репликации/моделирования под задачи, отличающиеся от тех, что я собираюсь показать. Я не хочу, чтобы вы просто компилировали и использовали код, который я показываю. Я хочу, чтобы вы учились, разбирались и, если возможно, могли создать что-то еще лучше.
Разработка системы репликации (Часть 63): Нажатие кнопки воспроизведения в сервисе (IV)
В этой статье мы наконец решим проблемы моделирования тиков на одноминутном баре, чтобы те могли сосуществовать с реальными тиками. Таким образом, мы избежим возникновения проблем в будущем. Представленный здесь контент предназначен только для образовательных целей. Ни в коем случае его не следует рассматривать как приложение, предназначенное для чего-то иного, кроме изучения и освоения представленных концепций.
От начального до среднего уровня: Наследование
Без сомнения, данная статья потребует от вас значительного времени, чтобы понять, как и почему работают описанные здесь материалы. Это объясняется тем, что всё, что здесь будет показано, изначально ориентировано на объектно-ориентированное программирование, но на самом деле оно основано на принципах структурного программирования.
Рыночные секреты Ларри Уильямса (Часть 14): Обнаружение разворотов Hidden Smash Day с помощью пользовательского индикатора
В этой статье разрабатывается практический индикатор MQL5, который обнаруживает бары Hidden Smash Day по строгим числовым критериям и, при необходимости, по подтверждению на следующей сессии. Рассматриваются процедуры обнаружения, регистрация буферов и настройка отрисовки, позволяющая размещать стрелки на барах, соответствующих условиям. Такой подход дает стабильные, не перерисовывающиеся сигналы для исторического тестирования и мониторинга в реальном времени.
Нейросети в трейдинге: Когнитивная инерция в анализе финансовых рынков (Окончание)
Лучше всего здесь работает сочетание вариантов 2 и 4: оно сохраняет техническую точность, не обещает доходность и сразу показывает практический смысл архитектуры. В статье завершается адаптация фреймворка CogDriver к анализу финансовых рынков. Представление рыночной сцены, временная память, прогнозный план и оценка ожидаемой ошибки объединяются в единый торговый контур, при этом прогнозирование отделено от принятия решений. Рассматриваются построение моделей, организация обучения и проверка архитектуры в тестере стратегий MetaTrader 5 с акцентом на снижение избыточной реактивности и дрожания торговых решений.
Ручное тестирование на исторических данных в тестере стратегий MetaTrader 5 с кнопками Buy/Sell на графике
Узнайте, как создать советника для ручного тестирования в визуальном тестере MetaTrader 5, добавив кнопки на графике с помощью CButton, размещая ордера через CTrade и фильтруя позиции с помощью «магического числа». В статье реализованы элементы управления Buy/Sell и Close All, настраиваемый размер лота и начальный стоп-лосс, а также трейлинг-стоп через CPositionInfo. Кроме того, вы узнаете, как загружать индикаторы с помощью tester.tpl для более быстрой проверки идей перед автоматизацией и сужения диапазонов оптимизации.
От начального до среднего уровня: Индикатор (V)
В данной статье мы рассмотрим, как обрабатывать запросы пользователей на изменение режима построения графика. Это необходимо для того, чтобы индикатор, разработанный для использования текущего режима построения графиков, не выглядел странно или не отличался от того, что ожидает пользователь MetaTrader 5.
Моделирование рынка (Часть 20): Первые шаги на SQL (III)
Хотя мы можем выполнять операции с базой данных, содержащей около 10 записей, но материал усваивается гораздо лучше, когда мы работаем с файлом, который содержит более 15 тысяч записей. То есть, если бы мы попытались создать такое вручную, то эта задача была бы огромной. Однако трудно найти такую базу данных, даже для учебных целей, доступную для скачивания. Но на самом деле нам не нужно к этому прибегать, мы можем использовать MetaTrader 5 для создания базы данных для себя. В сегодняшней статье мы рассмотрим, как это сделать.
Преодоление ограничений машинного обучения (Часть 3): Новый взгляд на неустранимую ошибку
В этой статье мы по-новому взглянем на скрытый, геометрический источник ошибок, который незаметно формирует каждое предсказание, сделанное вашими моделями. Переосмысливая то, как мы оцениваем и применяем прогнозы машинного обучения в трейдинге, мы показываем, как эта упущенная из виду перспектива может способствовать принятию более взвешенных решений, повышению доходности и более разумному способу работы с моделями, которые, как нам казалось, мы уже понимаем.
Разработка инструментария для анализа Price Action (Часть 63): Автоматизация обнаружения восходящих и нисходящих клиньев на MQL5
В этой части серии "Разработка инструментария для анализа Price Action" мы разрабатываем индикатор на языке MQL5, который в реальном времени автоматически обнаруживает паттерны восходящего и нисходящего клина. Система подтверждает структуру опорных точек, математически проверяет сходимость границ, предотвращает перекрытие формаций и отслеживает условия пробоя и слома паттерна с точной визуальной индикацией. Построенная на чистой объектно-ориентированной архитектуре, эта реализация превращает субъективное распознавание клина в структурированный компонент анализа, учитывающий состояние паттерна, предназначенный для более дисциплинированного анализа Price Action.
Возможности Мастера MQL5, которые вам нужно знать (Часть 67): Использование паттернов TRIX и процентного диапазона Уильямса
Тройной экспоненциальный осциллятор скользящей средней (Triple Exponential Moving Average Oscillator, TRIX) и осциллятор процентного диапазона Уильямса (Williams Percentage Range Oscillator) — это еще одна пара индикаторов, которые можно использовать совместно в советнике MQL5. Эта пара индикаторов, как и те, которые мы недавно рассматривали, также дополняет друг друга, поскольку TRIX определяет тренд, а процентный диапазон подтверждает уровни поддержки и сопротивления. Как всегда, мы используем Мастер MQL5 для оценки потенциала индикаторов.
Преодоление ограничений машинного обучения (Часть 4): Как уменьшить неустранимую ошибку с помощью нескольких горизонтов прогноза
Машинное обучение часто рассматривается через призму статистики или линейной алгебры, но в этой статье особое внимание уделяется геометрической перспективе предсказаний моделей. В ней демонстрируется, что модели на самом деле не приближают цель к действительности, а скорее переносят ее в новую систему координат, создавая неизбежное смещение, которое приводит к неустранимой ошибке. В статье предполагается, что многоступенчатые прогнозы, сравнивающие прогнозы модели на разных горизонтах, предлагают более эффективный подход, чем прямые сравнения с целевым показателем. Применяя этот метод к торговой модели, авторы статьи демонстрируют значительное повышение прибыльности и точности без изменения базовой модели.
Разработка инструментария для анализа Price Action (Часть 46): Создание интерактивного советника по уровням коррекции Фибоначчи с интеллектуальной визуализацией на MQL5
Инструменты Фибоначчи – одни из наиболее популярных инструментов технического анализа. В этой статье мы создадим советник Interactive Fibonacci EA, который строит уровни коррекции и расширения, динамически реагирующие на движение цены, выдает алерты в реальном времени, аккуратно оформляет линии и показывает бегущую строку в стиле новостной ленты. Еще одно важное преимущество этого советника – гибкость: вы можете вручную ввести на графике значения максимума (A) и минимума (B) движения, что дает точный контроль над анализируемым рыночным диапазоном.
Рыночные секреты Ларри Уильямса (Часть 5): Автоматизация стратегии волатильного пробоя на MQL5
В этой статье показано, как автоматизировать стратегию волатильного пробоя Ларри Уильямса в MQL5 с помощью практического пошагового подхода. Вы узнаете, как оценивать расширение дневного диапазона, определять уровни входа на покупку и продажу, управлять риском с помощью стопов на основе диапазона и целей по прибыли на основе соотношения риск/прибыль, а также разработать профессиональный советник (Expert Advisor, EA) для MetaTrader 5. Материал предназначен для трейдеров и разработчиков, которые хотят превратить торговые идеи Ларри Уильямса в полностью тестируемую и готовую к развертыванию автоматическую торговую систему.
Неопределённость как модель (Часть 5): Основы регрессии
Практическое введение в регрессионные модели временных рядов: регрессия на константу и парная регрессия при детерминированном, экзогенном и эндогенном регрессорах. Описаны ключевые шаги диагностики, включая анализ остатков и проверку гипотез, необходимые для обоснованных торговых решений. Приложены MQL5‑скрипты для MetaTrader 5, реализующие тесты и графики на реальных данных.
Алгоритм андского кондора — Andean Condor Algorithm (ACA)
В статье реализован Andean Condor Algorithm (ACA) для MQL5 — компактный оптимизатор с многомасштабным оператором интенсификации. Выявлен эффект значимого роста качества при малой популяции: одна корректировка настроек выводит его в топ-45 — и за этим стоит характерная особенность алгоритма, о которой стоит знать. Материал даёт готовый код и практические ориентиры по применению.
Нейросети в трейдинге: От рыночного шума к устойчивому торговому плану (Основные компоненты)
В статье представлена практическая реализация ключевых модулей архитектуры MomAD, адаптированных для финансовых временных рядов: TTM и MPI. Рассмотрены механизмы сопоставления сценариев-кандидатов с историей решений, выбора согласованного торгового плана и его уточнения через рыночный контекст. Работа показывает, как модель может снижать реакцию на шум, сохранять преемственность решений и формировать более устойчивую торговую гипотезу.
Клиент в Connexus (Часть 7): Добавление клиентского уровня
В настоящей статье мы продолжаем разработку библиотеки Connexus. В настоящей главе мы создаем класс CHttpClient, отвечающий за отправку запроса и получение ордера. Мы также рассматриваем концепцию моков (mocks), отделяя библиотеку от функции WebRequest, что обеспечивает большую гибкость для пользователей.
Торговые инструменты на языке MQL5 (Часть 7): Информационная панель для мониторинга позиций на счете в разрезе символов
В этой статье мы разрабатываем информационную панель в MQL5 для мониторинга позиций по нескольким символам и показателей счета, таких как баланс, эквити и свободная маржа. Мы реализовываем сортируемую сетку с обновлениями в режиме реального времени, экспорт в формате CSV и эффект светящегося заголовка для повышения удобства использования и визуальной привлекательности.
Знакомство с языком MQL5 (Часть 30): Освоение API и функции WebRequest в языке MQL5 (IV)
Ознакомьтесь с пошаговым руководством, которое упрощает извлечение, преобразование и организацию свечных данных из ответов API в среде MQL5. Это руководство отлично подходит новичкам, которые хотят улучшить навыки программирования и научиться эффективно управлять рыночными данными.
Знакомство с языком MQL5 (Часть 36): Освоение API и функции WebRequest в языке MQL5 (X)
В этой статье рассматриваются основные принципы HMAC-SHA256 и API-подписей в языке MQL5; объясняется, как сообщения и секретные ключи объединяются для безопасной аутентификации запросов. Это закладывает основу для подписывания API-вызовов без раскрытия конфиденциальных данных.
Самооптимизирующиеся советники на MQL5 (Часть 12): Построение линейных классификаторов с использованием факторизации матриц
В данной статье рассматривается важная роль факторизации матриц в алгоритмической торговле, в частности в приложениях MQL5. От регрессионных моделей до многоклассовых классификаторов — мы рассмотрим практические примеры, демонстрирующие, насколько легко эти методы можно интегрировать с помощью встроенных функций MQL5. Независимо от того, занимаетесь ли вы прогнозированием направления движения цен или моделированием поведения индикаторов, данное руководство заложит прочную основу для создания интеллектуальных торговых систем с использованием матричных методов.
Создание самооптимизирующихся советников на MQL5 (Часть 15): Идентификация линейных систем
Усовершенствовать торговые стратегии бывает непросто, поскольку мы зачастую не до конца понимаем, в чём именно заключается их недостаток. В данном разделе мы познакомимся с идентификацией линейных систем — одной из областей теории управления. Линейные системы с обратной связью способны на основе данных выявлять ошибки системы и корректировать её поведение для достижения заданных результатов. Хотя эти методы, возможно, и не дают полностью понятных объяснений, они гораздо ценнее, чем полное отсутствие системы управления. Давайте рассмотрим идентификацию линейных систем и посмотрим, как она может помочь нам, алгоритмическим трейдерам, сохранить контроль над нашими торговыми приложениями.
Нейросети в трейдинге: Масштабируемые трансформеры со структурной декомпозицией признаков (Основные компоненты)
Продолжаем разработку FAT: декомпозиция признаков по полям, отдельные проекции Query/Key/Value и параметрическое масштабирование внимания. Описаны OpenCL‑кернел многоголового внимания, свёрточный объект CNeuronFieldAwareConv и интеграция в CNeuronMHFAT с контролем памяти и градиентов. Читатель получает готовые компоненты для MQL5‑моделей, устойчивость к шуму и масштабируемость по числу полей и голов.
Моделирование рынка: Первые шаги на SQL в MQL5 (V)
В предыдущей статье я показал, как следовало действовать для добавления механизма запросов. Это было нужно для того, чтобы внутри кода MQL5 вы могли полноценно использовать SQL и получать результаты при выполнении команды SQL SELECT FROM. Но осталось рассказать последнюю функцию, которую нам необходимо реализовать. Это функция DatabaseReadBind. И, поскольку для правильного понимания требуется чуть более развернутое объяснение, было решено сделать это не в той предыдущей статье, а в сегодняшней. Итак, поскольку тема будет довольно объемной, перейдём сразу к следующему разделу.
Статистический арбитраж на основе коинтегрированных акций (Часть 10): Обнаружение структурных разрывов
В данной статье представлен тест Чоу для выявления структурных разрывов в зависимостях между парами переменных, а также применение метода кумулятивной суммы квадратов (CUSUM) для мониторинга и раннего выявления структурных разрывов. В статье объявление о партнерстве между Nvidia и Intel и заявление правительства США о введении внешнеторговых пошлин приводятся в качестве примеров, иллюстрирующих, соответственно, инверсию наклона и сдвиг пересечения. Предоставляются скрипты на Python для всех тестов.
Разработка инструментария для анализа Price Action (Часть 58): Модуль анализа сжатия диапазона и классификации зрелости
В продолжение предыдущей статьи, где был представлен модуль классификации состояния рынка, в этой части мы сосредоточимся на реализации основной логики выявления и оценки зон сжатия. В статье представлена система обнаружения сжатия диапазона и оценки зрелости на языке MQL5, которая анализирует зоны рыночной консолидации, опираясь только на динамику цены.
Нейросети в трейдинге: Оптимизация Cross-Attention для анализа длинных последовательностей рынка (Основные компоненты)
В статье продолжается реализация фреймворка STCA средствами MQL5. Оригинальные оптимизации Self-Attention перенесены в архитектуру FlashAttention-2 и адаптированы под финансовые данные. Особое внимание уделено аккумулированию и распределению градиентов между потоками рабочей группы для анализа длинных временных рядов и многоголового внимания.
Алгоритм оптимизации грифов — Buzzard Optimization Algorithm (BUZOA)
BUZOA — популяционный метаэвристический алгоритм, в котором каждый агент на каждой итерации случайно выбирает одну из трёх тактик охоты: узкий поиск вокруг личного рекорда, классический PSO-шаг к лидеру стаи или полную телепортацию в случайную точку пространства. В статье разбирается реализация алгоритма на MQL5, показывается найденная в оригинальной формулировке ошибка знака коэффициента и приводятся результаты бенчмарка на стандартном тестовом стенде.
Статистический арбитраж на основе коинтегрированных акций (Часть 9): Бэктестирование обновлений весов портфеля
В данной статье описывается использование файлов CSV для тестирования на исторических данных обновлений весов портфеля в стратегии, основанной на возврате к среднему значению и использующей статистический арбитраж на основе коинтегрированных акций. Это включает в себя как заполнение базы данных результатами сравнения собственных векторов в скользящих окнах (RWEC), так и сравнение отчетов по бэктесту. В то же время в статье подробно описывается роль каждого параметра RWEC и его влияние на общий результат бэктеста, а также показывается, как сравнение относительного просадки может помочь нам в дальнейшей оптимизации этих параметров.