Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 5)
Статья является пятой частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT 5.0. В этой части мы опишем структуру пакетов PUBLISH - как мы устанавливаем их флаги публикации (Publish Flags), кодируем строки названий тем и устанавливаем идентификаторы пакетов, когда это необходимо.
Нейросети — это просто (Часть 79): Агрегирование запросов в контексте состояния (FAQ)
В предыдущей статье мы познакомились с одним из методом обнаружение объектов на изображении. Однако, обработка статического изображения несколько отличается от работы с динамическими временными рядами, к которым относится и динамика анализируемых нами цен. В данной статье я хочу предложить Вам познакомиться с методом обнаружения объектов на видео, что несколько ближе к решаемой нами задаче.
Оптимизация портфеля на форексе: Синтез VaR и теории Марковица
Как осуществляется портфельная торговля на Форекс? Как могут быть синтезированы портфельная теория Марковица для оптимизации пропорций портфеля и VaR модель для оптимизации риска портфеля? Создаем код по портфельной теории, где, с одной стороны, получим низкий риск, а с другой — приемлемую долгосрочную доходность.
Нейросети — это просто (Часть 82): Модели Обыкновенных Дифференциальных Уравнений (NeuralODE)
В данной статье я предлагаю познакомиться Вас с еще одним типом моделей, которые направлены на изучение динамики состояния окружающей среды.
MQL5-советник, интегрированный в Telegram (Часть 3): Отправка скриншотов графиков с подписями из MQL5 в Telegram
В этой статье мы создадим советник MQL5, который кодирует скриншоты графиков в виде графических данных и отправляет их в чат Telegram посредством HTTP-запросов. Внедрив кодирование и передачу изображений, мы улучшим существующую систему MQL5-Telegram путем добавления визуальной торговой аналитики непосредственно в Telegram.
Квантовые вычисления и градиентный бустинг в торговле EUR/USD
Статья описывает практическую реализацию гибридной системы алгоритмического трейдинга, объединяющей квантовые вычисления (IBM Qiskit) и градиентный бустинг (CatBoost) для предсказания движения EUR/USD на часовом таймфрейме. Система извлекает четыре уникальных квантовых признака из вероятностного распределения по 256 состояниям через восемь кубитов, которые в комбинации с классическими индикаторами и дельта-кодированием временных категорий достигают точности 62% на 15,000 свечах.
Нейросети в трейдинге: Модели пространства состояний
В основе большого количества рассмотренных нами ранее моделей лежит архитектура Transformer. Однако они могут быть неэффективны при работе с длинными последовательностями. И в этой статье я предлагаю познакомиться с альтернативным направлением прогнозирования временных рядов на основе моделей пространства состояний.
Разработка торговой системы на основе стакана цен (Часть I): индикатор
Стакан цен Depth of Market, несомненно, является очень важным элементом для выполнения быстрых сделок, особенно в алгоритмах высокочастотного трейдинга (HFT). В этой серии статей мы рассмотрим этот тип торговых событий, которые можно получить через брокера на многих торгуемых символах. Начнем с индикатора, в котором можно настроить цветовую палитру, положение и размер гистограммы, отображаемой непосредственно на графике. Мы также рассмотрим, как сгенерировать события BookEvent для тестирования индикатора в определенных условиях. Другие возможные темы для будущих статей - это хранение данных ценовых распределений и способы их использования в тестере стратегий.
Разрабатываем мультивалютный советник (Часть 19): Создаём этапы, реализованные на Python
Пока что мы рассматривали автоматизацию запуска последовательных процедур оптимизации советников исключительно в штатном тестере стратегий. Но что делать, если между такими запусками нам хотелось бы выполнить некоторую обработку уже полученных данных, используя другие средства? Попробуем добавить возможность создания новых этапов оптимизации, выполняемых программами, написанными на Python.
Нейросетевой торговый робот на современной архитектуре нейросети Mamba с селективной SSM
Статья исследует революционную архитектуру нейронной сети Mamba/SSM для прогнозирования финансовых временных рядов. Представлена полная реализация на MQL5 современной альтернативы Transformer с линейной сложностью O(N) вместо квадратичной O(N²). Детально рассмотрены селективные State Space Models, hardware-aware оптимизации, patching техники и продвинутые методы обучения AdamW. Включены практические результаты тестирования, показавшие увеличение точности с 62% до 71% при снижении времени обучения с 45 до 8 минут. Представлен готовый торговый советник с автообучением и адаптивным риск-менеджментом для MetaTrader 5.
Торгуем опционы без опционов (Часть 3): Сложные опционные стратегии
Рассматриваются флэтовые (не направленные) и трендовые (направленные) опционные стратегии и их реализация на MQL5. Модернизируется эксперт, написанный в предыдущей статье. Добавляется отображение опционных уровней. Теперь пора рассмотреть работу и реализовать те стратегии, которые используются на практике опционными трейдерами.
Нейросети в трейдинге: Модели направленной диффузии (DDM)
Предлагаем познакомиться с моделями направленной диффузии, которые используют анизотропные и направленные шумы, зависящие от данных, в процессе прямой диффузии для захвата значимых графовых представлений.
Как построить советник, работающий автоматически (Часть 09): Автоматизация (I)
Хотя создание автоматического советника не является очень сложной задачей, однако без необходимых знаний может быть допущено много ошибок. В этой статье мы рассмотрим, как построить первый уровень автоматизации: он заключается в создании триггера для активации безубытка и трейлинг-стопа.
Нейросети в трейдинге: Модели с использованием вейвлет-преобразования и многозадачного внимания (Окончание)
В предыдущей статье мы рассмотрели теоретические основы и приступили к реализации подходов фреймворка Multitask-Stockformer, объединяющего вейвлет-преобразование и многозадачную модель Self-Attention. Продолжаем реализацию алгоритмов указанного фреймворка и оценим их эффективность на реальных исторических данных.
Разрабатываем мультивалютный советник (Часть 14): Адаптивное изменение объёмов в риск-менеджере
Разработанный ранее риск-менеджер содержал только базовую функциональность. Попробуем рассмотреть возможные пути его развития, позволяющие повысить торговые результаты без вмешательства в логику торговых стратегий.
Как создать советник, который торгует автоматически (Часть 14): Автоматизация (VI)
Здесь мы действительно применим на практике все знания этой серии статей. Наконец мы построим 100% автоматическую и функциональную систему, но для этого нам придется научиться одной последней детали.
Разрабатываем мультивалютный советник (Часть 8): Проводим нагрузочное тестирование и обрабатываем новый бар
По мере продвижения мы использовали в одном советнике всё больше и больше одновременно работающих экземпляров торговых стратегий. Попробуем выяснить до какого количества экземпляров мы можем дойти прежде, чем столкнёмся ограничениями ресурсов.
Нейросети в трейдинге: Универсальная модель генерации траекторий (UniTraj)
Понимание поведения агентов важно в разных областях, но большинство методов фокусируются на одной задаче (понимание, удаление шума, прогнозирование), что снижает их эффективность в реальных сценариях. В данной статье я предлагаю познакомиться с моделью, которая способна адаптироваться к решению различных задач.
Разработка системы репликации - Моделирование рынка (Часть 23): ФОРЕКС (IV)
Теперь создание происходит в той же точке, где мы преобразовывали тики в бары. Таким образом, если в процессе преобразования что-то пойдет не так, мы сразу же заметим ошибку. Это связано с тем, что тот же код, который размещает на графике 1-минутные бары при быстрой перемотке, также используется для системы позиционирования и для размещения баров при обычной перемотке. Другими словами, код, который отвечает за эту задачу, больше нигде не дублируется. Таким образом, мы получаем гораздо более совершенную систему как для поддержания, так и для улучшения.
Переосмысливаем классические стратегии (Часть XI): Пересечение скользящих средних (II)
Скользящие средние и стохастический осциллятор можно использовать для генерации торговых сигналов, следующих за трендом. Однако эти сигналы будут наблюдаться только после того, как произойдет ценовое движение. Мы можем эффективно преодолеть этот неизбежный лаг в технических индикаторах с помощью искусственного интеллекта. В настоящей статье мы расскажем, как создать полностью автономный советник на базе ИИ таким образом, чтобы улучшить любую из ваших существующих торговых стратегий. Даже самая старая торговая стратегия может быть улучшена.
Анализ почасового движения торговых символов и их спредов в MetaTrader 5
Индикатор индекса сезонности ProSpread со скользящим средним, как инструмент технического анализа, который выявляет сезонные закономерности ценового движения, анализирует поведение цены в определенные часы торговли, может работать как с одним инструментом, так и со спредом между двумя активами, а также визуализирует статистическую вероятность направленных движений.
Нейросети в трейдинге: Гибридный торговый фреймворк с предиктивным кодированием (Окончание)
Продолжаем рассмотрение гибридной торговой системы StockFormer, которая объединяет предиктивное кодирование и алгоритмы обучения с подкреплением для анализа финансовых временных рядов. Основой системы служат три ветви Transformer с механизмом Diversified Multi-Head Attention (DMH-Attn), позволяющим выявлять сложные паттерны и взаимосвязи между активами. Ранее мы познакомились с теоретическими аспектами фреймворка и реализовали механизмы DMH-Attn, а сегодня поговорим об архитектуре моделей и их обучении.
Переходим на MQL5 Algo Forge (Часть 4): Работа с версиями и выпуск релизов
Продолжим разработку проекта Simple Candles и Adwizard, описывая нюансы использования системы контроля версий и хранилища MQL5 Algo Forge.
Эластичная чистая регрессия с использованием покоординатного спуска в MQL5
В этой статье мы исследуем практическую реализацию эластичной чистой регрессии (elastic net regression), чтобы минимизировать переобучение и в то же время автоматически отделять полезные предикторы от тех, которые имеют небольшую прогностическую силу.
Применение Conditional LSTM и индикатора VAM в автоматической торговле
В настоящей статье рассматривается разработка советника (EA) для автоматической торговли, сочетающего в себе технический анализ с прогнозами с помощью глубокого обучения.
От новичка до эксперта: Раскрываем скрытые уровни коррекции Фибоначчи
В настоящей статье мы рассмотрим основанный на данных подход к обнаружению и проверке нестандартных уровней коррекции Фибоначчи, которые могут учитываться рынками. Мы представляем полный рабочий процесс, адаптированный для реализации на MQL5, начиная со сбора данных и определения баров или колебаний и заканчивая кластеризацией, проверкой статистических гипотез, бэктестингом и интеграцией в инструмент Фибоначчи на MetaTrader 5. Цель состоит в том, чтобы создать воспроизводимый конвейер, преобразующий отдельные наблюдения в статистически обоснованные торговые сигналы.
Машинное обучение и Data Science (Часть 19): Совершенствуем AI-модели с помощью AdaBoost
Алгоритм AdaBoost используется для повышения производительности моделей искусственного интеллекта. AdaBoost (Adaptive Boosting, адаптивный бустинг) представляет собой сложную методику ансамблевого обучения, которая легко объединяет слабых учащихся, повышая их коллективную способность прогнозирования.
Знакомство с языком MQL5 (Часть 18): Введение в паттерн "Волны Вульфа"
В этой статье подробно объясняется паттерн волн Вульфа – как медвежьи, так и бычьи его вариации. В статье также проводится пошаговый разбор логики, используемой для выявления действительных сетапов на покупку и продажу на основе этого продвинутого графического паттерна.
От новичка до эксперта: Программирование японских свечей
В настоящей статье сделаем первый шаг в программировании на MQL5, даже для совсем новичков. Мы покажем вам, как преобразовать знакомые свечные паттерны в полнофункциональный пользовательский индикатор. Свечные паттерны ценны тем, что они отражают реальное движение цены и сигнализируют о сдвигах на рынке. Вместо ручного сканирования графиков — подхода, чреватого ошибками и неэффективностью, — мы обсудим, как автоматизировать этот процесс с помощью индикатора, идентифицирующего и помечающего паттерны для вас. Попутно рассмотрим такие ключевые понятия, как индексация, временные ряды, средний истинный диапазон (для обеспечения точности при различной волатильности рынка), а также разработку пользовательской библиотеки свечных паттернов для многократного использования в будущих проектах.
DoEasy. Элементы управления (Часть 11): WinForms-объекты — группы, WinForms-объект CheckedListBox
В статье рассмотрим группирование WinForms-объектов и создадим объект-список объектов CheckBox.
Оптимизация атмосферными облаками — Atmosphere Clouds Model Optimization (ACMO): Практика
В данной статье мы продолжим погружение в реализацию алгоритма ACMO (Atmospheric Cloud Model Optimization). В частности, обсудим два ключевых аспекта: перемещение облаков в регионы с низким давлением и моделирование процесса дождя, включая инициализацию капель и распределение их между облаками. Мы также разберем другие методы, которые играют важную роль в управлении состоянием облаков и обеспечении их взаимодействия с окружающей средой.
Разработка торгового советника с нуля (Часть 16): Доступ к данным в Интернете (II)
Знание того, как вводить данные из Web в советник, не так очевидно, вернее, не так просто, чтобы это можно было сделать без понимания всех возможностей, которые есть в MetaTrader 5.
Разрабатываем мультивалютный советник (Часть 10): Создание объектов из строки
План разработки советника предусматривает несколько этапов с сохранением промежуточных результатов в базе данных. Заново достать их оттуда можно только в виде строк или чисел, а не объектов. Поэтому нам нужен способ воссоздания в советнике нужных объектов из строк, прочитанных из базы данных.
Математика волатильности: Почему индикатор GRI достоин возвращения в ваш торговый терминал
Статья посвящена индикатору Gopalakrishnan Range Index (GRI/ROCI), который количественно оценивает "хаотичность" рынка через логарифм диапазона цен закрытия за заданный период. Показано, как реализовать GRI в MetaTrader 5, устранить проблему отрицательных значений с помощью сдвинутого логарифма и привести шкалу к удобным "пунктам" через нормировку на Point. Далее рассматриваются практические сценарии применения GRI как фильтра волатильности и рыночных фаз.
Торговая стратегия обратного разрыва справедливой стоимости
Обратный разрыв справедливой стоимости (IFVG) возникает, когда цена возвращается к ранее выявленному разрыву справедливой стоимости и, вместо того чтобы продемонстрировать ожидаемую поддержку или сопротивление, не справляется с ним. Этот сбой может сигнализировать о потенциальном изменении направления движения рынка и обеспечить противоположное торговое преимущество. В настоящей статье мы представим собственный подход к количественной оценке и использованию обратного разрыва справедливой стоимости в качестве стратегии для советников MetaTrader 5.
Разметка данных в анализе временных рядов (Часть 5):Применение и тестирование советника с помощью Socket
В этой серии статей представлены несколько методов разметки временных рядов, которые могут создавать данные, соответствующие большинству моделей искусственного интеллекта (ИИ). Целевая разметка данных может сделать обученную модель ИИ более соответствующей пользовательским целям и задачам, повысить точность модели и даже помочь модели совершить качественный скачок!
Как функции столетней давности могут обновить ваши торговые стратегии
В этой статье речь пойдет о функциях Радемахера и Уолша. Мы исследуем способы применения этих функций для анализа финансовых временных рядов, а также рассмотрим различные варианты их применения в трейдинге.
Как создать торговый журнал с помощью MetaTrader и Google Sheets
Создайте торговый журнал с помощью MetaTrader и Google Sheets! Вы узнаете, как синхронизировать свои торговые данные с помощью HTTP POST и извлекать их с помощью HTTP-запросов. Наконец, у вас будет торговый журнал, который поможет эффективно отслеживать ваши сделки.
Методы оптимизации библиотеки ALGLIB (Часть I)
В статье познакомимся с методами оптимизации библиотеки ALGLIB для MQL5. Статья включает простые и наглядные примеры применения ALGLIB для решения задач оптимизации, что сделает процесс освоения методов максимально доступным. Мы подробно рассмотрим подключение таких алгоритмов, как BLEIC, L-BFGS и NS, и на их основе решим простую тестовую задачу.
Определение перекупленности и перепроданности по теории хаоса
Определяем перекупленность и перепроданность рынка по теории хаоса: интеграция принципов теории хаоса, фрактальной геометрии и нейронных сетей для прогнозирования финансовых рынков. Исследование демонстрирует применение показателя Ляпунова, как меры рыночной хаотичности, и динамическую адаптацию торговых сигналов. Методология включает алгоритм генерации фрактального шума, гиперболическую тангенциальную активацию и оптимизацию с моментом.