Создание самооптимизирующихся советников на языках MQL5 и Python
В этой статье обсудим, как можно создать советник, способный самостоятельно выбирать и менять торговые стратегии в зависимости от преобладающих на рынке условий. Познакомимся с цепями Маркова и с их возможностями с точки зрения пользы для нас, алготрейдеров.
Одномерный сингулярный спектральный анализ
Статья рассматривает теоретические и практические аспекты метода сингулярного спектрального анализа (SSA), который представляет собой эффективный метод анализа временных рядов, позволяющий представить сложную структуру ряда в виде разложения на простые компоненты, такие как тренд, сезонные (периодические) колебания и шум.
Введение в MQL5 (Часть 6): Функции для работы с массивами для начинающих (II)
Продолжим изучение возможностей языка программирования MQL5. В этой статье, предназначенной для начинающих, мы продолжим изучать функции для работы массивами, перейдя к более сложным концепциям, которые обязательно пригодятся при разработке эффективных торговых стратегий. В этот раз познакомимся с функциями ArrayPrint, ArrayInsert, ArraySize, ArrayRange, ArrarRemove, ArraySwap, ArrayReverse и ArraySort. Функции массивы знать обязательно, если вы хотите достичь высокого уровня в области алготрейдинга. Это очередная глава на пути к мастерству.
Как функции столетней давности могут обновить ваши торговые стратегии
В этой статье речь пойдет о функциях Радемахера и Уолша. Мы исследуем способы применения этих функций для анализа финансовых временных рядов, а также рассмотрим различные варианты их применения в трейдинге.
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 4)
Статья является четвертой частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT. В этой части мы рассматриваем свойства MQTT v5.0, их семантику, то, как мы читаем некоторые из них, а также приводим краткий пример того, как свойства можно использовать для расширения протокола.
Нейросети в трейдинге: Мультиагентная адаптивная модель (MASA)
Предлагаю познакомиться с мультиагентным адаптивным фреймворком MASA, который объединяет обучение с подкреплением и адаптивные стратегии, обеспечивая гармоничный баланс между доходностью и управлением рисками в турбулентных рыночных условиях.
Нейросети в трейдинге: Оптимизация LSTM для целей прогнозирования многомерных временных рядов (DA-CG-LSTM)
Статья знакомит с алгоритмом DA-CG-LSTM, который предлагает новые подходы к анализу временных рядов и их прогнозированию. Из нее вы узнаете, как инновационные механизмы внимания и гибкость модели позволяют улучшить точность прогнозов.
Нейронная сеть на практике: Зарисовка нейрона
В этой статье мы построим базовый нейрон. И хотя с виду он кажется простым, а многие могут посчитать этот код совершенно тривиальным и бессмысленным, я хочу, чтобы вы получили удовольствие, изучая этот простой набросок нейрона. Не бойтесь изменять код, чтобы лучше его понять.
Модифицированный советник Grid-Hedge в MQL5 (Часть III): Оптимизация простой хеджирующей стратегии (I)
В третьей части мы вернемся к советникам Simple Hedge и Simple Grid, разработанным ранее. Теперь мы займемся совершенствованием советника Simple Hedge с помощью математического анализа и подхода грубой силы (brute force) с целью оптимального использования стратегии. Эта статья углубляется в математическую оптимизацию стратегии, закладывая основу для будущего исследования оптимизации на основе кода в последующих частях.
Теория категорий в MQL5 (Часть 16): Функторы с многослойными перцептронами
Мы продолжаем рассматривать функторы и то, как их можно реализовать с помощью искусственных нейронных сетей. Мы временно оставим подход, который включал в себя прогнозирование волатильности, и попытаемся реализовать собственный класс сигналов для установки сигналов входа и выхода из позиции.
Добавляем пользовательскую LLM в торгового робота (Часть 4): Обучение собственной LLM с помощью GPU
Языковые модели (LLM) являются важной частью быстро развивающегося искусственного интеллекта, поэтому нам следует подумать о том, как интегрировать мощные LLM в нашу алгоритмическую торговлю. Большинству людей сложно настроить эти модели в соответствии со своими потребностями, развернуть их локально, а затем применить к алгоритмической торговле. В этой серии статей будет рассмотрен пошаговый подход к достижению этой цели.
Нейросети в трейдинге: Иерархическое обучение признаков облака точек
Продолжаем изучение алгоритмов для извлечения признаков из облака точек. И в данной статье мы познакомимся с механизмами повышения эффективности метода PointNet.
Нейросети в трейдинге: Параметроэффективный Transformer с сегментированным вниманием (PSformer)
Предлагаем познакомиться с новым фреймворком PSformer, который адаптирует архитектуру ванильного Transformer для решения задач прогнозирования многомерных временных рядов. В основе фреймворка лежат две ключевые инновации: механизм совместного использования параметров (PS) и внимание к пространственно-временным сегментам (SegAtt).
DoEasy. Элементы управления (Часть 17): Отсечение невидимых участков объектов, вспомогательные WinForms-объекты кнопки со стрелками
В статье создадим функционал сокрытия участков объектов, выходящих за пределы своего контейнера, создадим вспомогательные объекты-кнопки со стрелками для использования их в составе других WinForms-объектов.
Фильтр Калмана для возвратных стратегий на рынке Форекс
Фильтр Калмана представляет собой рекурсивный алгоритм, применяемый в алготрейдинге для оценки истинного состояния финансового временного ряда посредством фильтрации шума из движения цен. Он динамически обновляет прогнозы на основе новых рыночных данных, что делает его ценным для таких адаптивных стратегий, как возвратные. В этой статье впервые представлен фильтр Калмана, а также рассмотрены его расчет и реализация. Кроме того, в качестве примера мы применим этот фильтр к классической возвратной форекс-стратегии. Наконец, проведем различные виды статистического анализа, сравнивая фильтр со скользящей средней на различных валютных парах.
Разработка интерактивного графического пользовательского интерфейса на MQL5 (Часть 2): Добавление элементов управления и адаптивности
Расширение панели графического интерфейса на MQL5 с помощью динамических функций может существенно улучшить торговый опыт пользователей. Благодаря включению интерактивных элементов, эффектов наведения и обновлению данных в реальном времени эта панель становится мощным инструментом современного трейдера.
Нейросети в трейдинге: Гибридный торговый фреймворк с предиктивным кодированием (StockFormer)
Предлагаем познакомиться с гибридной торговой системой StockFormer, которая объединят предиктивное кодирование и алгоритмы обучения с подкреплением (RL). Во фреймворке используются 3 ветви Transformer с интегрированным механизмом Diversified Multi-Head Attention (DMH-Attn), который улучшает ванильный модуль внимания за счет многоголового блока Feed-Forward, что позволяет захватывать разнообразные паттерны временных рядов в разных подпространствах.
Определение перекупленности и перепроданности по теории хаоса
Определяем перекупленность и перепроданность рынка по теории хаоса: интеграция принципов теории хаоса, фрактальной геометрии и нейронных сетей для прогнозирования финансовых рынков. Исследование демонстрирует применение показателя Ляпунова, как меры рыночной хаотичности, и динамическую адаптацию торговых сигналов. Методология включает алгоритм генерации фрактального шума, гиперболическую тангенциальную активацию и оптимизацию с моментом.
Квантовая нейросеть на MQL5 (Часть III): Виртуальный квантовый процессор с кубитами
Создаем торговую систему с настоящим квантовым симулятором вместо математических аналогий. Система использует 3 виртуальных кубита, квантовые гейты и принципы суперпозиции для анализа рынков. Реализована как торговый советник для MetaTrader 5 на MQL5. Главное достижение — переход от имитации к реальным квантовым принципам обработки финансовой информации.
Нейросетевой торговый робот на современной архитектуре нейросети Mamba с селективной SSM
Статья исследует революционную архитектуру нейронной сети Mamba/SSM для прогнозирования финансовых временных рядов. Представлена полная реализация на MQL5 современной альтернативы Transformer с линейной сложностью O(N) вместо квадратичной O(N²). Детально рассмотрены селективные State Space Models, hardware-aware оптимизации, patching техники и продвинутые методы обучения AdamW. Включены практические результаты тестирования, показавшие увеличение точности с 62% до 71% при снижении времени обучения с 45 до 8 минут. Представлен готовый торговый советник с автообучением и адаптивным риск-менеджментом для MetaTrader 5.
Разработка системы репликации - Моделирование рынка (Часть 11): Появление СИМУЛЯТОРА (I)
Для того, чтобы использовать данные, формирующие бары, мы должны отказаться от репликации и заняться разработкой симулятора. Мы будем использовать 1-минутные бары именно потому, что они предлагают минимальный уровень сложности.
Многослойный перцептрон и алгоритм обратного распространения ошибки (Часть 3): Интеграция с тестером стратегии - Обзор (I)
Многослойный перцептрон - это эволюция простого перцептрона, способного решать нелинейно разделяемые задачи. Вместе с алгоритмом обратного распространения можно эффективно обучить данную нейронную сеть. В третьей части серии статей о многослойном перцептроне и обратном распространении мы посмотрим, как интегрировать эту технику в тестер стратегий. Эта интеграция позволит использовать комплексный анализ данных и принимать лучшие решения для оптимизации торговых стратегий. В данном обзоре мы обсудим преимущества и проблемы применения этой методики.
Теория категорий в MQL5 (Часть 17): Функторы и моноиды
Это последняя статья серии, посвященная функторам. В ней мы вновь рассматриваем моноиды как категорию. Моноиды, которые мы уже представили в этой серии, используются здесь для помощи в определении размера позиции вместе с многослойными перцептронами.
Нейросети в трейдинге: Гиперболическая модель латентной диффузии (Окончание)
Применение анизотропных диффузионных процессов для кодирования исходных данных в гиперболическом латентном пространстве, как это предложено в фреймворке HypDIff, способствует сохранению топологических особенностей текущей рыночной ситуации, и повышает качество её анализа. В предыдущей статье мы начали реализацию предложенных подходов средствами MQL5. И сегодня продолжим начатую работу, доведя ее до логического завершения.
Шаблоны проектирования в программировании на MQL5 (Часть 3): Поведенческие шаблоны 1
В новая статье серии, посвященной шаблонам проектирования, мы рассмотрим поведенческие шаблоны, чтобы понять, как эффективно создавать методы взаимодействия между созданными объектами. Спроектировав эти шаблоны поведения, мы сможем понять, как создавать многоразовое, расширяемое и тестируемое программное обеспечение.
Алгоритм кометного следа (Comet Tail Algorithm, CTA)
В данной статье мы рассмотрим новый авторский алгоритм оптимизации CTA (Comet Tail Algorithm), который черпает вдохновение из уникальных космических объектов - комет и их впечатляющих хвостов, формирующихся при приближении к Солнцу. Данный алгоритм основан на концепции движения комет и их хвостов, и предназначен для поиска оптимальных решений в задачах оптимизации.
Многопоточный торговый робот с машинным обучением: От концепции до реализации
Статья представляет пошаговую разработку многопоточного торгового робота с машинным обучением на Python и MetaTrader 5. Рассматривается архитектура системы — от сбора данных и создания технических индикаторов до обучения XGBoost-моделей с портфельным риск-менеджментом. Детально описана реализация аугментации данных, кластеризации признаков через Gaussian Mixture Models и координации потоков для параллельной торговли несколькими валютными парами.
Нейросети в трейдинге: Мультимодальный агент, дополненный инструментами (Окончание)
Продолжаем работу по реализации алгоритмов мультимодального агента для финансовой торговли FinAgent, предназначенного для анализа мультимодальных данных рыночной динамики и исторических торговых паттернов.
Разработка системы репликации - Моделирование рынка (Часть 15): Появление СИМУЛЯТОРА (V) - СЛУЧАЙНОЕ БЛУЖДАНИЕ
В этой статье мы завершим разработку симулятора для нашей системы. Основной целью здесь будет настройка алгоритма, рассмотренного в предыдущей статье. Этот алгоритм направлен на создание движения СЛУЧАЙНОГО БЛУЖДАНИЯ. Поэтому, для понимания сегодняшнего материала, необходимо понять содержание предыдущих статей. Если вы не следили за развитием симулятора, советую посмотреть эту последовательность с самого начала. В противном случае вы можете запутаться в том, что будет здесь объяснено.
Шаблоны проектирования в MQL5 (Часть 2): Структурные шаблоны
В этой статье мы продолжим изучать шаблоны проектирования, которые позволяют разработчикам создавать расширяемые и надежные приложений не только на MQL5, но и на других языках программирования. В этот раз мы поговорим о другом типе — о структурных шаблонах. Будем учиться проектировать системы, используя имеющиеся классы для формирования более крупных структур.
Популяционные алгоритмы оптимизации: Устойчивость к застреванию в локальных экстремумах (Часть I)
Эта статья представляет уникальный эксперимент, цель которого - исследовать поведение популяционных алгоритмов оптимизации в контексте их способности эффективно покидать локальные минимумы при низком разнообразии в популяции и достигать глобальных максимумов. Работа в этом направлении позволит глубже понять, какие конкретные алгоритмы могут успешно продолжать поиск из координат, установленных пользователем в качестве отправной точки, и какие факторы влияют на их успешность в этом процессе.
Объединение стратегий фундаментального и технического анализа на языке MQL5 для начинающих
В этой статье обсудим, как эффективно интегрировать следование тренду и фундаментальные принципы в один советник для создания более надежной стратегии. Статья продемонстрирует, насколько просто любой желающий может приступить к созданию собственных торговых алгоритмов с помощью языка MQL5.
DoEasy. Элементы управления (Часть 6): Элемент управления "Панель", автоизменение размеров контейнера под внутреннее содержимое
В статье продолжим работу над WinForms-объектом "Панель" и реализуем автоизменение его размеров под общие размеры Dock-объектов, расположенных внутри панели. Кроме того добавим новые свойства в объект библиотеки "Символ".
Разработка системы репликации - Моделирование рынка (Часть 17): Тики и еще больше тиков (I)
Здесь мы увидим, как реализовать что-то действительно интересное, но в то же время очень сложное из-за отдельных моментов, которые многих смущают. И самое худшее, что может случиться - это то, что некоторые трейдеры, считающие себя профессионалами, ничего не знают о важности этих понятий на рынке капитала. Да, хотя основное внимание здесь уделяется программированию, но понимание некоторых вопросов, связанных с торговлей на рынках, имеет первостепенное значение для того, что мы собираемся здесь реализовать.
Нейросети в трейдинге: Повышение эффективности Transformer путем снижения резкости (Окончание)
SAMformer предлагает решение ключевых проблем Transformer в долгосрочном прогнозировании временных рядов, включая сложность обучения и слабое обобщение на малых выборках. Его неглубокая архитектура и оптимизация с учетом резкости обеспечивают избегание плохих локальных минимумов. В данной статье мы продолжим реализацию подходов с использованием MQL5 и оценим их практическую ценность.
Разработка системы репликации - Моделирование рынка (Часть 19): Необходимые корректировки
Здесь мы подготовим почву для того, чтобы при необходимости добавления новых функций в код это происходило плавно и легко. Текущий код пока не может охватывать или обрабатывать некоторые моменты, которые будут необходимы для значимого прогресса. Нам нужно, чтобы всё было построено так, чтобы усилия по реализации некоторых вещей были минимальными. Если сделаем всё правильно, мы сможем получить действительно универсальную систему, способную очень легко адаптироваться к любой ситуации, которую необходимо охватить.
Поиск с запретами — Tabu Search (TS)
В статье рассматривается алгоритм табу-поиска — один из первых и наиболее известных методов метаэвристики. Мы подробно разберем, как работает алгоритм, начиная с выбора начального решения и исследования соседних вариантов, с акцентом на использование табу-листа. Статья охватывает ключевые аспекты алгоритма и его особенности.
Подробная информация о торговле на основе объема: Подтверждение тренда
Усовершенствованный метод подтверждения тренда сочетает в себе ценовое движение, анализ объема и машинное обучение для выявления подлинных изменений на рынке. Для подтверждения сделки требуются как ценовые пробои, так и скачки объема (на 50% выше среднего), а для дополнительного подтверждения используется нейронная сеть LSTM. Система использует определение размера позиции на основе ATR и динамическое управление рисками, что позволяет ей адаптироваться к различным рыночным условиям и одновременно отфильтровывать ложные сигналы.
Нейронная сеть на практике: Функция прямой линии
В этой статье мы бегло просмотрим некоторые методы получения функции, которая может представлять наши данные в базе данных. Я не буду подробно останавливаться на том, как использовать статистику и исследования вероятностей для интерпретации результатов. Оставим это для тех, кто действительно хочет углубиться в математическую сторону вопроса. Тем не менее, изучение этих вопросов будет иметь решающее значение для понимания того, что связано с изучением нейронных сетей. Здесь мы довольно спокойно рассмотрим этот вопрос.
Теория категорий в MQL5 (Часть 13): События календаря со схемами баз данных
В статье рассматривается, как схемы баз данных могут быть включены для классификации в MQL5. Мы кратко рассмотрим, как концепции схемы базы данных могут сочетаться с теорией категорий при идентификации текстовой (строковой) информации, имеющей отношение к торговле. В центре внимания будут находиться события календаря.