От начального до среднего уровня: Очереди, списки и деревья (V)
В этой статье мы реализовали первые компоненты древовидной структуры. Поскольку я понимаю, что эта структура может быть очень сложной на начальном этапе обучения, мы будем внедрять её спокойно и шаг за шагом. Таким образом, каждый сможет понять, как работает дерево и когда лучше всего его использовать.
Автоматизация торговых стратегий в MQL5 (Часть 45): Инверсный разрыв справедливой стоимости (IFVG)
В этой статье мы создадим в MQL5 систему, которая обнаруживает разрывы справедливой стоимости (FVG) и отслеживает их переход в состояние инвертированного FVG (IFVG). Она выявляет бычьи и медвежьи FVG на последних сформированных барах с фильтрацией по минимальному размеру разрыва, отслеживает состояния FVG Normal, Mitigated и Inverted в зависимости от взаимодействия цены с зоной (митигация при пробое дальней границы, возврат цены в зону после митигации и инверсия фиксируется, когда после повторного входа цена закрывается за дальней границей, выходя изнутри зоны), игнорирует новые FVG, ценовые диапазоны которых перекрываются с уже существующими зонами, и ограничивает число отслеживаемых FVG.
Изучение Стандартной библиотеки MQL5 (Часть 4): Создание библиотеки пользовательских сигналов
Сегодня мы используем стандартную библиотеку MQL5 для создания пользовательских классов сигналов и позволяем мастеру MQL5 собрать для нас профессиональный советник. Такой подход упрощает разработку, позволяя даже начинающим программистам создавать надежные советники без глубоких знаний в области программирования, сосредоточившись на настройке параметров и оптимизации стратегии. Давайте шаг за шагом разберем этот процесс.
ARD-регрессия на MQL5: автоматический отбор признаков и случайные признаки Фурье
Статья посвящена ARD-регрессии как байесовскому методу отбора признаков и применению случайных признаков Фурье (Random Fourier Features) для учета нелинейностей в рамках линейной модели. К статье прилагаются классы ARDRegression и CRBFSampler. Проводится сравнительный анализ точности и производительности реализации на MQL5 с эталонным классом из библиотеки scikit-learn.
Автоматизация торговых стратегий в MQL5 (Часть 44): Обнаружение смены характера рынка (CHoCH) по пробоям свинговых экстремумов
В этой статье мы разрабатываем на MQL5 систему обнаружения смены характера рынка (Change of Character, CHoCH), которая определяет свинговые максимумы и минимумы на заданном пользователем количестве баров, присваивает максимумам метки HH/LH, а минимумам — LL/HL для определения направления тренда и торгует пробои этих свинговых уровней при изменении структуры рынка, что указывает на возможный разворот.
Нейросети в трейдинге: Долговременная память торговых сценариев (RAG-память)
Статья продолжает адаптацию фреймворка VLADriver-RAG к задачам алгоритмической торговли и описывает переход от отдельной сценарной ячейки к ограниченной двухуровневой памяти. Рассматриваются добавление и консолидация завершённого опыта, многоэтапный GPU-поиск глобального Top-K и формирование RAG-токенов с параметрами действия, релевантностью и средним результатом. Память сохраняет опыт вне весов сети и возвращает Актёру компактный исторический контекст при предсказуемом времени чтения.
Моделирование рынка: Position View (XII)
В этой статье вы научитесь создавать визуальный сигнал на своей торговой платформе, чтобы прямо на графике определять, является ли позиция длинной или короткой, без необходимости обращаться к терминалу. Кроме того, в тексте рассматривается реализация функциональности, которая улучшает отображение при перемещении линий тейк-профита и стоп-лосса, скрывая горизонтальную линию, следующую за курсором мыши, во время перемещения этих линий во избежание путаницы. Чтение предлагает практические знания для настройки систем моделирования рынка.
Автоматизация торговых стратегий в MQL5 (Часть 43): Адаптивная стратегия на основе канала линейной регрессии
В этой статье мы реализуем в MQL5 адаптивную систему на основе канала линейной регрессии. Она автоматически рассчитывает линию регрессии и канал стандартного отклонения за заданный пользователем период, активируется только тогда, когда абсолютное значение наклона превышает минимальный порог, что подтверждает наличие выраженного тренда, а также динамически перестраивает или продлевает канал, когда цена выходит за его границы на настраиваемую долю ширины.
VQC-фильтр с живым обучением прямо в MQL5 поверх графового fair-value скальпера
В статье реализован двухслойный подход к входу в сделку: графовый fair-value скальпер по 28 валютным парам и вероятностный VQC‑фильтр — классически симулированная схема вращений с онлайн‑обучением в MQL5 через parameter‑shift и Adam. Разбираются кодирование признаков, аналитический градиент, согласование направлений, калибровка порога уверенности и защита от подглядывания в будущее. Читатель получает рабочую архитектуру фильтра и практические приёмы её интеграции в советник.
Алгоритм направления потока — Flow Direction Algorithm (FDA)
Подробно разбираем механику FDA и демонстрируем, как центровые и диагональные эффекты первоисточника завышают показатели. Честная реализация фиксирует уровень порядка 39.7% на стенде серии. Модификация FDAm с тяжелохвостым распределением зондов и покоординатным шагом повышает итог до 54.7% и доступна как готовый компонент C_AO для настройки параметров советников.
Автоматизация торговых стратегий в MQL5 (Часть 42): Сессионная система пробоя начального диапазона (ORB)
В статье мы создадим гибко настраиваемую сессионную систему Opening Range Breakout (ORB) на MQL5. Она позволяет задавать время начала сессии и продолжительность начального диапазона, автоматически рассчитывает его максимум и минимум и открывает сделки только после подтверждённого пробоя в направлении движения.
От начального до среднего уровня: Очереди, списки и деревья (IV)
В данной статье мы завершим раздел, посвященный реализации и объяснению связного списка. Однако представленная здесь реализация не включает в себя одну деталь, которую можно реализовать в связном списке. Обсудим это позже, в другой статье.
Изучение Стандартной библиотеки MQL5 (Часть 3): Советник на основе канала стандартного отклонения
В этом обсуждении мы будем разрабатывать советник, используя классы CTrade и CChartObjectStdDevChannel, и применим несколько фильтров для повышения потенциальной прибыльности. На этом этапе мы применим на практике то, что обсуждали ранее. Кроме того, я представлю еще один простой подход, который поможет вам лучше понять стандартную библиотеку MQL5 и лежащую в ее основе кодовую базу. Присоединяйтесь, чтобы посмотреть, как эти идеи работают на практике.
Автоматизация торговых стратегий на MQL5 (Часть 41): Стратегия Candle Range Theory (CRT) — накопление, манипуляция и распределение (AMD)
В этой статье мы разработаем на MQL5 торговую систему на основе стратегии Candle Range Theory (CRT). Она определяет диапазоны накопления на заданном таймфрейме, выявляет пробои с фильтрацией по глубине манипуляции и подтверждает разворот для открытия сделок в фазе распределения. Система поддерживает динамический или статический расчёт Stop Loss и Take Profit по соотношению риска и прибыли, необязательный трейлинг-стоп и ограничение количества позиций в каждом направлении.
Возможности Мастера MQL5, которые вам нужно знать (Часть 84): Использование паттернов стохастического осциллятора и FrAMA – Окончание
Стохастический осциллятор и фрактальная адаптивная скользящая средняя образуют пару взаимодополняющих индикаторов, которую можно использовать в советнике MQL5. Эту пару индикаторов мы представили в предыдущей статье, а теперь завершим ее рассмотрение, разобрав оставшиеся пять сигнальных паттернов. Как и прежде, для создания советника и проверки потенциала этой пары индикаторов используем Мастер MQL5.
Моделирование рынка: Position View (XI)
В этой статье я покажу вам, уважаемый читатель, как можновыбирать объекты, которые мы создаём на графике модифицировать индикатор позиции, чтобы он мог выполнять гораздо больше функций, чем это было предусмотрено изначально. Мы рассмотрим, как реализовать возможность перемещения цен и создания ценовых линий непосредственно на графике. Многим это покажется сложным для решения. Однако вы увидите, что мы сделаем это с минимальными усилиями. Вам нужно всего лишь немного подумать.
Автоматизация торговых стратегий на MQL5 (Часть 40): Торговля по уровням коррекции Фибоначчи с пользовательскими уровнями
В статье разрабатывается советник MQL5 для торговли по уровням коррекции Фибоначчи. Пользовательские уровни, например 50% и 61,8%, рассчитываются по диапазону дневной свечи или массиву данных за выбранный период. Направление определяется по соотношению цен закрытия и открытия; позиции открываются при пересечении уровней с ограничением числа сделок, необязательным закрытием при новом расчёте, трейлинг-стопом в пунктах и буферами SL/TP в процентах от диапазона.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 4): Преодоление ограничений многострочного ввода, сохранение чатов между сеансами и генерация торговых сигналов
В этой статье мы улучшим программу с интеграцией ChatGPT на MQL5: устраним ограничения многострочного ввода благодаря улучшенной отрисовке текста, добавим боковую панель для навигации по истории сохраненных чатов с шифрованием AES256 и ZIP-сжатием, а также сформируем начальные торговые сигналы за счет интеграции данных графика.
Автоматизация торговых стратегий на MQL5 (Часть 39): Стратегия статистического возврата к среднему с доверительными интервалами и информационной панелью
В этой статье мы разработаем советник на MQL5 для торговли по стратегии статистического возврата к среднему. Советник рассчитывает среднее, дисперсию, асимметрию, эксцесс и статистику Харке-Бера за заданный период, выявляет ненормальные распределения и формирует сигналы на покупку и продажу по доверительным интервалам с адаптивными порогами.
Нейросети в трейдинге: Долговременная память торговых сценариев (VLADriver-RAG)
Описан перенос идей фреймворка VLADriver-RAG в торговые задачи: добавляется внешняя память завершённых эпизодов поверх нейросетевой политики. Формируется ячейка памяти с эмбеддингом рыночной сцены, нормированным действием и результатом, а близкие случаи группируются в центроиды сценария и действия. Реализованы ядра для косинусного скоринга и поиска ближайшей пары, позволяющие искать и уплотнять опыт.
От начального до среднего уровня: Очереди, списки и деревья (III)
В этой статье мы сделаем следующий шаг в понимании того, что такое связный список и как он работает. Хотя содержание данной статьи может показаться довольно сложным и запутанным для новичков, я постараюсь объяснить его максимально доступным языком. Это поможет вам понять, почему и когда следует использовать связные списки.
Автоматизация торговых стратегий на MQL5 (Часть 38): Торговля по скрытым дивергенциям RSI с фильтрами угла наклона
В этой статье мы создадим советник на MQL5, который определяет скрытые дивергенции RSI по свинговым точкам с заданным параметром силы, ограничением по количеству баров между свинговыми точками, допуском и фильтрами угла наклона ценовой линии и линии RSI. Советник открывает позиции на покупку и продажу по подтверждённым сигналам с фиксированным размером лота, уровнями Stop Loss и Take Profit, заданными в пипсах (в исходной статье — pips; в коде расчёт выполняется через _Point), а также опциональным трейлинг-стопом для управления рисками.
Изучение Стандартной библиотеки MQL5 (Часть 2): Интеграция и связывание компонентов
Сегодня мы делаем важный шаг к тому, чтобы помочь каждому разработчику понять, как читать структуры классов и быстро создавать советники с помощью стандартной библиотеки MQL5. Библиотека богата и расширяема, но при этом может показаться, что вам вручили сложный набор инструментов без руководства. Здесь мы делимся и обсуждаем альтернативный алгоритм интеграции — краткий, повторяемый рабочий сценарий, демонстрирующий, как надежно связывать классы в реальных проектах.
Возможности Мастера MQL5, которые вам нужно знать (Часть 83): Использование паттернов стохастического осциллятора и FrAMA — поведенческие архетипы
Стохастический осциллятор и фрактальная адаптивная скользящая средняя образуют еще одну пару взаимодополняющих индикаторов, которую можно использовать в советнике MQL5. Стохастический осциллятор позволяет точно выявлять изменения моментума, а FrAMA подтверждает преобладающие тренды. Как и прежде, для изучения этой пары индикаторов используем Мастер MQL5, чтобы создать советник и проверить ее потенциал.
Автоматизация торговых стратегий на MQL5 (Часть 37): Поиск дивергенций и конвергенций RSI с визуализацией на графике
В этой статье мы создадим советник на MQL5, который определяет обычные дивергенции RSI по свинговым точкам с заданным параметром силы, ограничениями по числу баров и допуском. Он открывает позиции по бычьим и медвежьим сигналам с фиксированным объёмом позиции, уровнями Stop Loss и Take Profit в пунктах (pips) и опциональным трейлинг-стопом. На графике отображаются цветные линии и подписи свинговых точек, чтобы лучше видеть логику работы стратегии.
Как построить мультивалютную netting-сетку с точным CatBoost и swap/carry-слоем в MQL5
В статье разбирается мультивалютный netting-советник для MetaTrader 5 с валютным графом из 28 пар, набором из 19 M1‑признаков и двумя моделями CatBoost, выполняемыми в MQL5 без упрощений. Показано, как прогнозы управляют сеткой лимитных заявок, режимными фильтрами, инвентарём и swap/carry при учёте брокерских ограничений, а также как обеспечить воспроизводимость через self‑test и проверку совпадения Python и MQL5.
Кооперация бионических алгоритмов — Co-Operation of Biology Related Algorithms (COBRA)
В статье реализована кооперативная метаэвристика COBRA во фреймворке C_AO: шесть популяционных методов (PSO, WPS, FFA, CSA, BA, FSS) работают в одной популяции при фиксированном бюджете обращений к целевой функции и экспериментально выясняем, на чём на самом деле держится кооперация. В комплекте — расширяемый класс для сборки собственных кооперативных портфелей из любых алгоритмов серии.
Моделирование рынка: Position View (X)
Нам необходим способ обработки создаваемых графических объектов. Предложение, представленное в предыдущей статье, отлично подходит для некоторых сценариев. В данном случае нам потребуется нечто более сложное, учитывая специфику рассматриваемой проблемы. Поэтому мы не будем пытаться заменить существующие в MetaTrader 5 механизмы управления ZOrder и, конечно же, проверять, какой объект находится на переднем плане или скрыт другим объектом. Мы сделаем нечто совершенно другое. Здесь я покажу, какие изменения необходимо внести в код, чтобы задействовать часть того, что MetaTrader 5 уже делает за нас.
Автоматизация торговых стратегий на MQL5 (Часть 36): Торговля по зонам спроса и предложения на основе модели ретеста и импульса
В этой статье мы создадим на MQL5 торговую систему на основе зон спроса и предложения. Она определяет такие зоны по диапазонам консолидации, подтверждает их импульсными движениями и открывает позиции на ретестах с подтверждением тренда и настраиваемыми параметрами риска. Система отображает зоны с помощью динамических подписей и цветов, а также поддерживает трейлинг-стопы для управления рисками.
Анализ CSV-данных (Часть 6): Нормализация результатов по нескольким брокерам и сверка CSV между платформами
В статье представлен фреймворк нормализации CSV-данных от нескольких брокеров. Подключаемый файл MQL5 дополняет экспорт брокерскими метаданными. Модуль Python устраняет расхождения схем — различия в разрядности котирования, соглашениях о пунктах, именовании символов, смещениях часовых поясов, моделях учёта комиссии и валютах номинирования счёта и прибыли — и формирует единый канонический набор данных. Сравнительные визуализации распределений проскальзывания и результатов после учёта издержек позволяют надёжно сопоставлять результаты стратегии между разными брокерскими средами без незаметного искажения данных.
Возможности Мастера MQL5, которые вам нужно знать (Часть 82): Использование паттернов TRIX и WPR в обучении с подкреплением DQN
В предыдущей статье мы рассмотрели сочетание Ишимоку и ADX в рамках обучения на основе инференса. В этой статье мы вновь обращаемся к обучению с подкреплением применительно к паре индикаторов, которую уже рассматривали в части 68: TRIX и Williams Percent Range. В этой статье используем алгоритм алгоритм DQN с квантильной регрессией. Как обычно, представляем его в виде пользовательского класса сигнала, предназначенного для использования с Мастером MQL5.
Автоматизация торговых стратегий на MQL5 (Часть 35): Разработка торговой системы на основе брейкер-блоков
В этой статье мы создадим на MQL5 торговую систему на основе брейкер-блоков. Она определяет диапазоны консолидации, обнаруживает пробои и подтверждает брейкер-блоки по свинговым точкам, чтобы торговать их ретесты с заданными параметрами риска. Система динамически отображает ордер-блоки и брейкер-блоки, а также связанные с ними подписи и стрелки; кроме того, система поддерживает автоматическую торговлю и использование трейлинг-стопа.
Теория графов: Алгоритм Форда—Фалкерсона для оценки ликвидности и пропускной способности рынка
В статье представлен советник на MQL5, который адаптирует метод максимального потока Форда-Фалкерсона в фильтр ликвидности и пропускной способности. Рыночные структуры — максимумы/минимумы свингов, ценовой дисбаланс (FVG), ордер-блоки и пулы ликвидности — образуют ориентированный граф с пропускной способностью ребер, определяемой объемом, ценовой реакцией, расстоянием и качеством структуры. Максимальный поток позволяет оценить возможности ICT-сделок, отфильтровать слабые пути и использовать динамическое управление размером позиции для последовательного двухэтапного процесса принятия решений.
От начального до среднего уровня: Очереди, списки и деревья (II)
Это статья, которую вам, уважаемый читатель, следует внимательно изучить. Это связано с типом материала, который будет в нём изложен. Хотя мы постарались изложить материал максимально просто и познавательно, представленная здесь информация, несомненно, может показаться довольно сложной для тех, кто только начинает изучать программирование. Тем не менее, это не повод для уныния или игнорирования того, что здесь объясняется, так как эта статья установит связь между двумя совершенно разными, хотя и тесно связанными темами.
Возможности Мастера MQL5, которые вам нужно знать (Часть 81): Использование паттернов Ишимоку и ADX Уайлдера в обучении на основе β-VAE-инференса
Эта статья продолжает часть 80, в которой мы рассмотрели сочетание индикаторов Ишимоку и ADX в рамках обучения с подкреплением. Теперь перейдем к обучению на основе инференса. Как уже отмечалось, Ишимоку и ADX дополняют друг друга. Однако мы вновь обратимся к выводам предыдущей статьи об использовании пайплайнов. Для обучения на основе инференса применяем β-вариант вариационного автокодировщика (Variational Auto Encoder, VAE). Также используем пользовательский класс сигнала, предназначенный для интеграции с Мастером MQL5.
Автоматизация классических рыночных методов в MQL5 (Часть 3): Стадийный анализ Стэна Вайнштейна
В статье представлен полноценный торговый советник, построенный на методе стадийного анализа Стэна Вайнштейна. Советник классифицирует рынок по одной из четырёх стадий, анализируя наклон и положение 30-недельной скользящей средней, а также характер движения цены и динамику объёма. Затем он открывает длинные позиции только при прорывах в Стадию 2, а короткие — при пробоях вниз в Стадию 4. В статье объясняется каждая стадия, способы её программного определения и то, почему преимущество метода создаёт именно дисциплина — торговля только на подходящей стадии.
Автоматизация торговых стратегий на MQL5 (Часть 34): Система пробоя линии тренда с оценкой качества аппроксимации по коэффициенту R2
В этой статье мы разработаем на MQL5 систему пробоя линии тренда, которая определяет линии поддержки и сопротивления по свинговым точкам (локальным экстремумам). Надежность линий будет оцениваться по коэффициенту детерминации R², а также по ограничениям на угол наклона. После проверки система сможет автоматически открывать сделки на пробое. Мы будем находить локальные максимумы и минимумы в пределах заданной глубины анализа, строить линии тренда с минимально допустимым количеством касаний и оценивать их надежность по коэффициенту детерминации R² и углу наклона.
Возможности Мастера MQL5, которые вам нужно знать (Часть 95): Использование DSU и DBN в пользовательском классе сигнала
В этой статье мы переключимся на пользовательский класс Мастер MQL5 (MQL5 Wizard), который анализирует сигналы входа. На этот раз наш пользовательский класс называется ‘CSignalDSUDBN’ и построен на сочетании алгоритма Disjoint Set Union (DSU) и сети Deep Belief Network (DBN). Как и в предыдущих статьях этой серии, нашу модель можно протестировать с использованием советников, собранных с помощью Мастера MQL5, которые можно настраивать с помощью различных трейлинг-стопов и классов управления капиталом.
Модульная архитектура индикаторов в MQL5 (Часть 1): Хватит копировать и вставлять — начните писать масштабируемый, переиспользуемый код
В статье разработан объектно-ориентированный каркас для индикаторов MQL5 путем преобразования примитивного примера в пригодные для постоянного использования модули. В ней формализуется частичный пересчет буфера в OnCalculate, логика переносится в классы, вынесенные в заголовочные файлы (CAppliedPrice, CSma), а также вводятся CSubIndiBase, CIndicatorBase и реестр для централизации требований. В результате получаются переносимые компоненты, изолированные входные параметры и аккуратно организованные буферы при минимуме шаблонного кода, что ускоряет сборку новых индикаторов и упрощает их обслуживание.
Моделирование рынка: Position View (IX)
В данной статье, которая станет поворотным моментом, мы начнем более глубоко изучать взаимодействие между разрабатываемыми нами приложениями для обеспечения полной поддержки системы повторов и симуляции. Здесь мы проанализируем проблему, которая, с одной стороны, довольно неприятна, но с другой — очень интересна для объяснения и решения. Проблема заключается в следующем: как вернуть линии тейк-профита и стоп-лосса после того, как они были удалены, и сделать это без использования терминала путем выполнения операции прямо на графике. На первый взгляд, это кажется простым. Однако, существуют несколько препятствий, которые необходимо преодолеть.