Алгоритм дуэлянта — Duelist Algorithm
Что если бы ваши торговые стратегии могли учиться друг у друга, как настоящие бойцы? Duelist Algorithm — новый метод оптимизации, где параметры торговых систем буквально сражаются в дуэлях за право называться лучшими.
Перестановка ценовых баров в MQL5
В этой статье мы представляем алгоритм перестановки ценовых баров и подробно рассказываем, как тесты на перестановку (permutation tests) можно использовать для выявления случаев, когда эффективность стратегии была сфабрикована с целью обмануть потенциальных покупателей советников.
Расширенные переменные и типы данных в MQL5
Переменные и типы данных — очень важные темы не только в программировании на MQL5, но и в любом языке программирования. Переменные и типы данных MQL5 можно разделить на простые и расширенные. Здесь мы рассмотрим расширенные переменные и типы данных. Простые мы изучали в предыдущей статье.
Разработка системы репликации (Часть 37): Прокладываем путь (I)
В этой статье мы начнем делать то, что хотелось сделать гораздо раньше. Однако из-за отсутствия "твердой почвы" я не чувствовал себя уверенно, чтобы представить вопрос публично. Теперь у меня есть основа для того, чтобы делать то, что мы начнем сейчас. Неплохо бы максимально сосредоточиться на понимании содержания этой статьи, и я говорю это не для того, чтобы вы просто это прочитали. Я хочу подчеркнуть, что если вы не поймете данную статью, то можете полностью отказаться от надежды понять содержание следующих статей.
Возможности Мастера MQL5, которые вам нужно знать (Часть 09): Сочетание кластеризации k-средних с фрактальными волнами
Кластеризация k-средних использует подход к группировке точек данных в виде процесса, изначально фокусирующегося на макропредставлении набора данных, в котором применяются случайно сгенерированные центроиды кластера. Затем эти центроиды масштабируются и настраиваются для точного представления набора данных. В статье рассматриваются кластеризация и несколько вариантов ее использования.
Возможности Мастера MQL5, которые вам нужно знать (Часть 10): Нетрадиционная RBM
Ограниченные машины Больцмана (Restrictive Boltzmann Machines, RBM) представляют собой на базовом уровне двухслойную нейронную сеть, способную выполнять неконтролируемую классификацию посредством уменьшения размерности. Мы используем ее основные принципы и посмотрим что случится, если мы перепроектируем и обучим ее нестандартно. Сможем ли мы получить полезный фильтр сигналов?
Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (MacroHFT)
Предлагаю познакомиться с фреймворком MacroHFT, который применяет контекстно зависимое обучение с подкреплением и память, для улучшения решений в высокочастотной торговле криптовалютами, используя макроэкономические данные и адаптивные агенты.
Нейросети в трейдинге: Мультиагентная адаптивная модель (Окончание)
В предыдущей статье мы познакомились с мультиагентным адаптивным фреймворком MASA, который объединяет подходы обучения с подкреплением и адаптивные стратегии, обеспечивая гармоничный баланс между доходностью и рисками в турбулентных рыночных условиях. Нами был построен функционал отдельных агентов данного фреймворка, и в этой статье мы продолжим начатую работу, доведя её до логического завершения.
Управление капиталом в трейдинге и программа домашней бухгалтерии трейдера с базой данных
Как трейдеру управлять капиталом? Как трейдеру и инвестору вести учет расходов, доходов, активов и пассивов? Я представлю вам не просто программу для учета, я покажу вам инструмент, который может стать вашим надежным финансовым навигатором в бурном море трейдинга.
Разработка системы репликации (Часть 28): Проект советника — класс C_Mouse (II)
Когда начали создаваться первые системы, способные что-то считать, всё потребовало вмешательства инженеров, обладающих обширными знаниями о том, что проектируется. Мы говорим о рассвете компьютерной техники, о времени, когда не было даже терминалов, позволяющих что-либо программировать. По мере развития и роста интереса к тому, чтобы большее число людей могли создавать что-либо, появлялись новые идеи и методы программирования этих машин, которые раньше сводились к изменению положения соединителей. Именно тогда появились первые терминалы.
Самооптимизирующийся советник на языках MQL5 и Python (Часть V): Глубокие марковские модели
Мы применим простую цепь Маркова к индикатору RSI, чтобы наблюдать за поведением цены после того, как индикатор проходит через ключевые уровни. Мы пришли к выводу, что самые сильные сигналы на покупку и продажу по паре NZDJPY генерируются, когда RSI находится в диапазоне 11–20 и 71–80 соответственно. Мы покажем, как можно манипулировать данными, чтобы создавать оптимальные торговые стратегии, основанные непосредственно на имеющихся данных. Кроме того, мы продемонстрируем, как обучить глубокую нейронную сеть оптимальному использованию матрицы перехода.
Нейросети в трейдинге: Оптимизация Transformer для прогнозирования временных рядов (LSEAttention)
Фреймворк LSEAttention предлагает пути совершенствования архитектуры Transformer, и был разработан специально для долгосрочного прогнозирования многомерных временных рядов. Предложенные авторами метода подходы позволяют решить проблемы энтропийного коллапса и нестабильности обучения, характерные для ванильного Transformer.
Совместное использование PSAR, Хейкин-Аши и глубокого обучения для трейдинга
В настоящем проекте исследуется сочетание глубокого обучения и технического анализа для тестирования торговых стратегий на рынке Форекс. Для быстрого экспериментирования используется скрипт на Python, использующий модель ONNX наряду с традиционными индикаторами, такими как PSAR, SMA и RSI, для прогнозирования движения пары EUR/USD. Затем скрипт MetaTrader 5 переносит эту стратегию в реальную среду, используя исторические данные и технический анализ для принятия обоснованных торговых решений. Результаты тестирования на исторических данных свидетельствуют об осторожном, но последовательном подходе, направленном на управление рисками и устойчивый рост, а не на агрессивную погоню за прибылью.
Разработка системы репликации - Моделирование рынка (Часть 14): Появление СИМУЛЯТОРА (IV)
В этой статье мы продолжим этап разработки симулятора. Однако сейчас мы увидим, как эффективно создать движение типа «СЛУЧАЙНОЕ БЛУЖДАНИЕ». Этот тип движения весьма интригующий, поскольку служит основой всего, что происходит на рынке капитала. Кроме того, мы начнем понимать некоторые концепции, основополагающие для тех, кто проводит анализ рынка.
Популяционные алгоритмы оптимизации: Искусственные мультисоциальные поисковые объекты (artificial Multi-Social search Objects, MSO)
Продолжение предыдущей статьи как развитие идеи социальных групп. В новой статье исследуется эволюция социальных групп с использованием алгоритмов перемещения и памяти. Результаты помогут понять эволюцию социальных систем и применить их в оптимизации и поиске решений.
Переосмысливаем классические стратегии (Часть 13): Минимизация задержки при пересечении скользящих средних
Пересечения скользящих средних широко известны трейдерам, и тем не менее суть стратегии мало изменилась с момента ее создания. В этой статье мы представим небольшую корректировку первоначальной стратегии, направленную на минимизацию задержки. Все поклонники оригинальной стратегии могут рассмотреть возможность ее пересмотра в соответствии с рассмотренными здесь идеями. Используя две скользящие средние с одинаковым периодом, мы значительно сокращаем задержку торговой стратегии, не нарушая при этом ее основополагающих принципов.
Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (Окончание)
Мы завершаем реализацию фреймворка MacroHFT для высокочастотной торговли криптовалютами, который использует контекстно-зависимое обучение с подкреплением и памятью для адаптации к динамичным рыночным условиям. И в завершении данной статьи будет проведено тестирование реализованных подходов, на реальных исторических данных, для оценки их эффективности.
Нейросети в трейдинге: Мультимодальный агент, дополненный инструментами (FinAgent)
Предлагаем познакомиться с фреймворком мультимодального агента для финансовой торговли FinAgent, который предназначен для анализа данных разных типов, отражающих рыночную динамику и исторические торговые паттерны.
Нейросети в трейдинге: Повышение эффективности Transformer путем снижения резкости (SAMformer)
Обучение моделей Transformer требует больших объемов данных и часто затруднено из-за слабой способности моделей к обобщению на малых выборках. Фреймворк SAMformer помогает решить эту проблему, избегая плохих локальных минимумов. И повышает эффективность моделей даже на ограниченных обучающих выборках.
Биологический нейрон для прогнозирования финансовых временных рядов
Выстраиваем биологически верную систему нейронов для прогнозирования временных рядов. Внедрение плазмоподобной среды в архитектуру нейронной сети создало своеобразный "коллективный разум", где каждый нейрон влияет на работу системы не только через прямые связи, но и посредством дальнодействующих электромагнитных взаимодействий. Как покажет себя нейронная система моделирования мозга на рынке?
Методы дискретизации ценовых движений на Python
Мы рассмотрим методы дискретизации цен на Python + MQL5. В этой статье я поделюсь практическим опытом разработки библиотеки на Python, которая реализует целый спектр подходов к формированию баров — от классических Volume и Range bars до более экзотических методов вроде Renko и Kagi.ары, свечи трехлинейного прорыва, рэйндж бары — какова их статистика, как еще можно представить цены дискретно?
Факторизация матриц: основы
Поскольку цель здесь дидактическая, мы будем действовать максимально просто. То есть мы будем реализовывать только то, что нам необходимо: умножение матриц. Вы сегодня увидите, что этого достаточно для симуляции умножения матрицы на скаляр. Самая существенная трудность, с которой многие сталкиваются при реализации кода с использованием матричной факторизации, заключается в следующем: в отличие от скалярной факторизации, где почти во всех случаях порядок факторов не меняет результат, при использовании матриц это не так.
Теория категорий в MQL5 (Часть 23): Другой взгляд на двойную экспоненциальную скользящую среднюю
В этой статье мы продолжаем рассматривать популярные торговые индикаторы под новым углом. Мы собираемся обрабатывать горизонтальную композицию естественных преобразований. Лучшим индикатором для этого является двойная экспоненциальная скользящая средняя (Double Exponential Moving Average, DEMA).
Прогнозирование условного распределения с помощью MLP
В данной статье мы рассмотрим модель регрессии на базе MLP, которая прогнозирует не только условное математическое ожидание, но и условную дисперсию. Другими словами, мы будем учить нашу сеть предсказывать целое распределение будущих цен на основе входного вектора признаков. Но для этой цели нам придется написать свою собственную функцию потерь.
Теория категорий в MQL5 (Часть 4): Интервалы, эксперименты и композиции
Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL5-сообществе. Эта серия статей призвана описать некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
Разработка системы репликации (Часть 32): Система ордеров (I)
Из всего, что было разработано до настоящего момента, данная система, как вы наверняка заметите и со временем согласитесь, - является самым сложным. Сейчас нам нужно сделать нечто очень простое: заставить нашу систему имитировать работу торгового сервера на практике. Эта необходимость точно реализовывать способ моделирования действий торгового сервера кажется простым делом. По крайней мере, на словах. Но нам нужно сделать это так, чтобы для пользователя системы репликации/моделирования всё происходило как можно более незаметно или прозрачно.
Разработка системы репликации - Моделирование рынка (Часть 12): Появление СИМУЛЯТОРА (II)
Разработка симулятора может оказаться гораздо интереснее, чем кажется. Сегодня мы сделаем еще несколько шагов в этом направлении, потому что всё становится интереснее.
Возможности Мастера MQL5, которые вам нужно знать (Часть 07): Дендрограммы
Классификация данных для анализа и прогнозирования — очень разнообразная область машинного обучения с большим количеством подходов и методов. В этой статье рассматривается один из таких подходов, а именно агломеративная иерархическая классификация (Agglomerative Hierarchical Classification).
Нейросети в трейдинге: Актер—Режиссёр—Критик (Actor—Director—Critic)
Предлагаем познакомиться с фреймворком Actor-Director-Critic, который сочетает в себе иерархическое обучение и многокомпонентную архитектуру для создания адаптивных торговых стратегий. В этой статье мы подробно рассмотрим, как использование Режиссера для классификации действий Актера помогает эффективно оптимизировать торговые решения и повышать устойчивость моделей в условиях финансовых рынков.
Нейросети в трейдинге: Обобщение временных рядов без привязки к данным (Базовые модули модели)
Продолжаем знакомство с фреймворком Mamba4Cast. И сегодня мы погрузимся в практическую реализацию предложенных подходов. Mamba4Cast создавался не для долгого прогрева на каждом новом временном ряде, а для мгновенного включения в работу. Благодаря идее Zero‑Shot Forecasting модель способна сразу выдавать качественные прогнозы на реальных данных без дообучения и тонкой настройки гиперпараметров.
Нейросети в трейдинге: Устойчивые торговые сигналы в любых режимах рынка (Модули внимания)
В данной статье мы продолжаем реализацию подходов фреймворка ST-Expert, сосредотачиваясь на практических аспектах его применения средствами MQL5. Ранее мы рассмотрели теоретические основы и ключевые компоненты модели, а теперь переходим к непосредственной работе с алгоритмами графового внимания, локального и глобального распределения внимания. Основная цель текущей работы — показать, как концептуальные идеи ST-Expert превращаются в работоспособные решения для анализа и прогнозирования финансовых рядов.
Популяционные алгоритмы оптимизации: Устойчивость к застреванию в локальных экстремумах (Часть II)
Продолжение эксперимента, цель которого - исследовать поведение популяционных алгоритмов оптимизации в контексте их способности эффективно покидать локальные минимумы при низком разнообразии в популяции и достигать глобальных максимумов. Результаты исследования.
Возможности Мастера MQL5, которые вам нужно знать (Часть 19): Байесовский вывод
Байесовский вывод — это применение теоремы Байеса для обновления вероятностной гипотезы по мере поступления новой информации. Это намекает на необходимость адаптации в анализе временных рядов, и поэтому мы рассмотрим, как мы могли бы использовать его при создании пользовательских классов не только применительно к сигналам, но и для управления капиталом и трейлинг-стопами.
Разработка системы репликации - Моделирование рынка (Часть 25): Подготовка к следующему этапу
В этой статье мы завершаем первый этап разработки системы репликации и моделирования. Дорогой читатель, этим достижением я подтверждаю, что система достигла продвинутого уровня, открывая путь для внедрения новой функциональности. Цель состоит в том, чтобы обогатить систему еще больше, превратив ее в мощный инструмент для исследований и развития анализа рынка.
Отбор признаков и снижение размерности с помощью анализа главных компонент (PCA)
В статье рассматривается реализация модифицированного алгоритма анализа компонентов прямого отбора, вдохновленного исследованиями, представленными в книге Луки Пуггини (Luca Puggini) и Шона Маклуна (Sean McLoone) “Анализ компонентов прямого отбора: алгоритмы и приложения”.
Возможности Мастера MQL5, которые вам нужно знать (Часть 48): Аллигатор Билла Вильямса
Аллигатор, детище Билла Вильямса, представляет собой универсальный индикатор определения тренда, который дает четкие сигналы и часто сочетается с другими индикаторами. Классы Мастера MQL5 позволяют нам тестировать различные сигналы на основе паттернов, что позволяет нам рассмотреть и этот индикатор.
Изучение передовых методов машинного обучения в стратегии пробоя «коридора Дарваса» (Darvas Box Breakout)
Стратегия Darvas Box Breakout, созданная Николасом Дарвасом, представляет собой подход в технической торговле, который выявляет потенциальные сигналы на покупку, когда цена акций поднимается выше установленного диапазона «коридора», что указывает на сильный восходящий импульс. В этой статье мы применим эту стратегическую концепцию в качестве примера для изучения трех передовых методов машинного обучения. К ним относятся использование модели машинного обучения для генерации сигналов вместо фильтрации сделок, применение непрерывных сигналов вместо дискретных и использование для подтверждения сделок моделей, обученных на разных таймфреймах.
Теория категорий в MQL5 (Часть 20): Самовнимание и трансформер
Немного отвлечемся от наших постоянных тем и рассмотрим часть алгоритма ChatGPT. Есть ли у него какие-то сходства или понятия, заимствованные из естественных преобразований? Попытаемся ответить на эти и другие вопросы, используя наш код в формате класса сигнала.
От новичка до эксперта: Прогнозируемые ценовые траектории
Уровни Фибоначчи обеспечивают практическую основу, которую часто соблюдают рынки, выделяя ценовые зоны, где реакция более вероятна. В настоящей статье мы создадим советник, применяющий логику коррекции Фибоначчи для прогнозирования вероятных будущих движений и коррекции сделок с отложенными ордерами. Изучим весь рабочий процесс — от определения колебаний до построения графика уровней, контроля рисков и выполнения.
MQL5-советник, интегрированный в Telegram (Часть 4): Модуляризация функций кода для улучшенного повторного использования
В этой статье мы реорганизуем существующий код отправки сообщений и скриншотов из MQL5 в Telegram, преобразовав его в многоразовые модульные функции. Это оптимизирует процесс, обеспечивая более эффективное выполнение и более простое управление кодом в нескольких экземплярах.