Нейросети — это просто (Часть 66): Проблематика исследования в офлайн обучении
Обучение моделей в офлайн режиме осуществляется на данных ранее подготовленной обучающей выборки. Это дает нам ряд преимуществ, но при этом информация об окружающей среде сильно сжимается до размеров обучающей выборки. Что, в свою очередь, ограничивает возможности исследования. В данной статье хочу предложить познакомиться с методом, позволяющем наполнить обучающую выборку максимально разнообразными данными.
Нейросети — это просто (Часть 71): Прогнозирование будущих состояний с учетом поставленных целей (GCPC)
В предыдущих работах мы познакомились с методом Decision Transformer и несколькими производными от него алгоритмами. Мы экспериментировали с различными методами постановки цели. В процессе экспериментов мы работали с различными способами постановки целей, однако изучение моделью уже пройденной траектории всегда оставалось вне нашего внимания. В данной статье я хочу познакомить Вас с методом, который заполняет этот пробел.
Методы Уильяма Ганна (Часть III): Работает ли астрология?
Влияет ли положение планет и звезд на финансовые рынки? Вооружимся статистикой и большими данными и отправимся в увлекательное путешествие в мир, где пересекаются звезды и биржевые графики.
Машинное обучение в однонаправленной трендовой торговле на примере золота
В данной статье рассматривается подход к торговле только в выбранном направлении (на покупку или на продажу). Для этого используется техника причинно-следственного вывода и машинное обучение.
Нейросети в трейдинге: Анализ рыночной ситуации с использованием Трансформера паттернов
В анализе рыночной ситуации нашими моделями ключевым элементом является свеча. Тем не менее давно известно, что свечные паттерны могут помочь в прогнозировании будущих ценовых движений. И в этой статье мы познакомимся с методом, который позволяет интегрировать оба этих подхода.
Теория категорий в MQL5 (Часть 1)
Теория категорий представляет собой разнообразный и расширяющийся раздел математики, который пока относительно не освещен в MQL-сообществе. Эта серия статей призвана осветить некоторые из ее концепций для создания открытой библиотеки и дальнейшему использованию этого замечательного раздела в создании торговых стратегий.
DoEasy. Элементы управления (Часть 2): Продолжаем работу над классом CPanel
В статье избавимся от некоторых ошибок при работе с графическими элементами и продолжим разработку элемента управления CPanel. Это будут методы для установки параметров шрифта, который используется по умолчанию для всех текстовых объектов панели, которые в свою очередь могут быть на ней расположены в дальнейшем.
Нейросети — это просто (Часть 59): Дихотомия контроля (Dichotomy of Control — DoC)
В предыдущей статье мы познакомились с Трансформером решений. Но сложная стохастическая среда валютного рынка не позволила в полной мере раскрыть потенциал представленного метода. Сегодня я хочу представить Вам алгоритм, который направлен на повышение производительности алгоритмов в стохастических средах.
Разрабатываем мультивалютный советник (Часть 12): Риск-менеджер как для проп-трейдинговых компаний
В разрабатываемом советнике у нас уже заложен определённый механизм контроля просадки. Но он имеет вероятностную природу, так как основывается на результатах тестирования на исторических ценовых данных. Поэтому просадка, хотя и с небольшой вероятностью, может иногда превышать максимальные ожидаемые значения. Попробуем добавить механизм, обеспечивающий гарантированное соблюдение заданного уровня просадки.
Нейросети — это просто (Часть 48): Методы снижения переоценки значений Q-функции
В предыдущей статье мы познакомились с методом DDPG, который позволяет обучать модели в непрерывном пространстве действий. Однако, как и другие методы Q-обучения, DDPG склонен к переоценки значений Q-функции. Эта проблема часто приводит к обучению агента с неоптимальной стратегией. В данной статье мы рассмотрим некоторые подходы преодоления упомянутой проблемы.
Брутфорс-подход к поиску закономерностей (Часть V): Взгляд с другой стороны
В статье я покажу совершенно иной подход к алготрейдингу, к которому мне пришлось прийти спустя достаточно длительное время. Конечно же все это связано с моей брутфорс программой, которая претерпела ряд изменений, которые позволяют ей решать одновременно несколько задач. Тем не менее статья получилась больше общей и максимально простой, по этому годится и для тех кто не в теме или просто проходил мимо.
Алгоритм поиска в окрестности — Across Neighbourhood Search (ANS)
Статья раскрывает потенциал алгоритма ANS, как важного шага в развитии гибких и интеллектуальных методов оптимизации, способных учитывать специфику задачи и динамику окружающей среды в пространстве поиска.
Разработка торговой системы на основе индикатора Накопления/Распределения - Accumulation/Distribution
Представляю вашему вниманию новую статью из серии, в которой мы учимся создавать торговые системы на основе популярных технических индикаторов. В этой статье мы будем изучать индикатор Накопления/Распределения (Accumulation/Distribution, A/D). Также мы разработаем торговую систему на языке MQL5 для работы в платформе MetaTrader 5, используя несколько простых стратегий.
Python + API LLM + MetaTrader 5: реальный опыт построения автономного торгового бота
Статья описывает создание MVP-прототипа автономного торгового бота для MetaTrader 5, использующего большие языковые модели (LLM) через API OpenRouter для анализа рынка и принятия торговых решений. Скрипт на Python получает исторические данные OHLCV, отправляет их в LLM для технического анализа на основе уровней поддержки/сопротивления и паттернов Price Action, после чего автоматически размещает ордера с заданными стоп-лоссом и тейк-профитом.
Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки
В этой статье разберем, что такое парный трейдинг и как происходит торговля на корреляциях. Также создадим советник для автоматизации парного трейдинга и добавим возможность автоматической оптимизации такого торгового алгоритма на исторических данных. Кроме того, в рамках проекта узнаем, как рассчитывать расхождения двух пар с помощью z-оценки.
Нейросети — это просто (Часть 15): Кластеризации данных средствами MQL5
Продолжаем рассмотрение метода кластеризации. В данной статье мы создадим новый класс CKmeans для реализации одного из наиболее распространённых методов кластеризации k-средних. По результатам тестирования модель смогла выделить около 500 паттернов.
DoEasy. Сервисные функции (Часть 1): Ценовые паттерны
В статье начнём разрабатывать методы поиска ценовых паттернов по данным таймсерий. Паттерн имеет определённый набор параметров, общий для любого вида и типа паттернов. Все данные такого рода будут сосредоточены в классе объекта базового абстрактного паттерна. Сегодня создадим класс абстрактного паттерна и класс паттерна Пин-бар.
Использование алгоритма машинного обучения PatchTST для прогноза ценовых движений на следующие 24 часа
В этой статье мы применим относительно сложный нейросетевой алгоритм PatchTST, реализованный в 2023 году, для прогнозирования ценовых движений на ближайшие 24 часа. Воспользуемся официальным репозиторием, внесем небольшие изменения, обучим модель для EURUSD и применим ее для формирования будущих прогнозов на языке Python или MQL5.
Выявление и классификация фрактальных паттернов посредством машинного обучения
В этой статье мы затронем интригующую тему фрактального анализа и прогнозирования рынков посредством машинного обучения. Это только первые шаги на пути к исследованию многообразных фрактальных структур, которые образуются на графиках финансовых котировок. Мы используем корреляцию для поиска паттернов и алгоритм CatBoost для классификации этих паттернов.
Видео: Простая автоматизированная торговля – Как создать простой торговый советник с помощью MQL5
Большинство слушателей моих курсов считали, что язык MQL5 сложен для понимания. Кроме того, они искали простые способы автоматизации некоторых процессов. В этой статье вы узнаете как сходу начать работать в MQL5 даже без навыков программирования и даже если в прошлом у вас уже были неудачные попытки освоить эту тему.
DoEasy. Элементы управления (Часть 20): WinForms-объект SplitContainer
Сегодня начнём разрабатывать элемент управления SplitContainer из набора элементов MS Visual Studio. Этот элемент состоит из двух панелей, разделённых вертикальным или горизонтальным перемещаемым разделителем.
Нейросети — это просто (Часть 74): Адаптивное прогнозирование траекторий
Предлагаю Вам познакомиться с довольно эффективным методом многоагентного прогнозирования траекторий, который способен адаптироваться к различным состояниям окружающей среды.
Индикатор прогноза волатильности при помощи Python
Прогнозируем будущую экстремальную волатильность при помощи бинарной классификации. Создаем индикатор прогноза экстремальной волатильности с использованием машинного обучения.
Разрабатываем мультивалютный советник (Часть 3): Ревизия архитектуры
Мы уже несколько продвинулись в разработке мультивалютного советника с несколькими параллельно работающими стратегиями. С учетом накопленного опыта проведем ревизию архитектуры нашего решения и попробуем ее улучшить, пока не ушли слишком далеко вперед.
Графика в библиотеке DoEasy (Часть 90): События стандартных графических объектов. Базовый функционал
В статье создадим базовый функционал для отслеживания событий стандартных графических объектов. Начнем с события двойного щелчка мыши на графическом объекте.
Критерии тренда в трейдинге
Тренды являются важной частью многих торговых стратегий. В этой статье мы рассмотрим некоторые инструменты, используемые для определения трендов и их характеристик. Понимание и правильная интерпретация трендов могут значительно повысить эффективность трейдинга и минимизировать риски.
Нейросети в трейдинге: Практические результаты метода TEMPO
Продолжаем знакомство с методом TEMPO. И в данной статье мы оценим фактическую эффективность предложенных подходов на реальных исторических данных.
Изучаем PrintFormat() и берем готовые к использованию примеры
Статья будет полезна как новичкам, так и уже опытным разработчикам. В ней мы рассмотрим работу функции PrintFormat(), разберём примеры форматирования строк и напишем шаблоны для вывода различной информации в журнал терминала.
Пример ансамбля ONNX-моделей в MQL5
ONNX (Open Neural Network eXchange) — открытый стандарт представления нейронных сетей. В данной статье мы покажем возможность одновременного использования двух ONNX-моделей в одном эксперте.
Поиск произвольных паттернов валютных пар на Python с использованием MetaTrader 5
Есть ли повторяющиеся паттерны и закономерности на валютном рынке? Я решил создать свою собственную систему анализа паттернов, используя Python и MetaTrader 5. Этакий симбиоз математики и программирования для покорения Форекса.
Функции в MQL5-приложениях
Функции являются критически важными компонентами в любом языке программирования. Помимо прочего, они помогают разработчикам применять принцип DRY (don't repeat youself, не повторяйся). В статье рассмотрены функции и их создание в MQL5 с помощью простых приложений, которые обогащают вашу торговую систему, но не усложняют ее.
Элементы корреляционного анализа в MQL5: Критерий независимости хи-квадрат Пирсона и корреляционное отношение
В статье рассматриваются классические инструменты корреляционного анализа. Даются краткие теоретические основы, а также практическая реализация критерия независимости хи-квадрат Пирсона и коэффициента корреляционного отношения.
Нейросети — это просто (Часть 69): Ограничение политики поведения на основе плотности офлайн данных (SPOT)
В оффлайн обучении мы используем фиксированный набор данных, что ограничивает покрытие разнообразия окружающей среды. В процессе обучения наш Агент может генерировать действия вне этого набора. При отсутствии обратной связи от окружающей среды корректность оценок таких действий вызывает вопросы. Поддержание политики Агента в пределах обучающей выборки становится важным аспектом для обеспечения надежности обучения. Об этом мы и поговорим в данной статье.
Нейросети — это просто (Часть 83): Алгоритм пространственно-временного преобразователя постоянного внимания (Conformer)
Предлагаемый Вашему вниманию алгоритм Conformer был разработан для целей прогнозирования погоды, которую по изменчивости и капризности можно сравнить с финансовыми рынками. Conformer является комплексным методом. И сочетает в себе преимущества моделей внимания и обычных дифференциальных уравнений.
Разработка торгового советника с нуля (Часть 30): CHART TRADE теперь как индикатор?!
Сегодня мы снова будем использовать Chart Trade... но теперь как индикатор, который может присутствовать или не присутствовать на графике.
Нейросети — это просто (Часть 60): Онлайн Трансформер решений (Online Decision Transformer—ODT)
Последние 2 статьи были посвящены методу Decision Transformer, который моделирует последовательности действий в контексте авторегрессионной модели желаемых вознаграждений. В данной статье мы рассмотрим ещё один алгоритм оптимизации данного метода.
Машинное обучение и Data Science (Часть 14): Применение карт Кохонена на рынках
Хотите найти новый подход в торговле, который поможет ориентироваться на сложных и постоянно меняющихся рынках? Взгляните на карты Кохонена — инновационную форму искусственных нейронных сетей, которая поможет выявить скрытые закономерности и тренды в рыночных данных. В этой статье мы рассмотрим, как работают карты Кохонена и как их использовать для разработки эффективных торговых стратегий. Думаю, этот новый подход будет интересен как опытным трейдерам, так и начинающим.
Нейросети — это просто (Часть 42): Прокрастинация модели, причины и методы решения
Прокрастинация модели в контексте обучения с подкреплением может быть вызвана несколькими причинами, и решение этой проблемы требует принятия соответствующих мер. В статье рассмотрены некоторые из возможных причин прокрастинации модели и методы их преодоления.
Торговая стратегия "Захват ликвидности" (Liquidity Grab)
Торговая стратегия захвата ликвидности является ключевым компонентом Концепции умных денег (Smart Money Concepts (SMC), которая направлена на выявление и использование действий институциональных игроков на рынке. Она предполагает нацеливание на области с высокой ликвидностью, такие как зоны поддержки или сопротивления, где крупные ордера могут спровоцировать движение цены до того, как рынок возобновит свой тренд. В настоящей статье подробно объясняется концепция захвата ликвидности и описывается процесс разработки советника по торговой стратегии захвата ликвидности на MQL5.
Разработка торгового советника с нуля (Часть 21): Новая система ордеров (IV)
Наконец-то визуальная система заработает... хотя пока не до конца. Здесь мы закончим вносить основные изменения, которых будет не мало, но они все необходимы, и вся работа будет достаточно интересной.