Создание торговых систем с искусственным интеллектом на MQL5 (Часть 1): Реализация обработки JSON для API ИИ
В этой статье разрабатывается модуль разбора JSON на языке MQL5 для обмена данными при интеграции с API ИИ. Основное внимание уделяется классу JsonValue для обработки JSON-структур. Реализуются методы сериализации и десериализации JSON-данных с поддержкой различных типов данных, таких как строки, числа и объекты. Это необходимо для взаимодействия с ИИ-сервисами, такими как ChatGPT, и служит основой для будущих торговых систем на базе ИИ, обеспечивая точную обработку данных.
Изучение стандартной библиотеки MQL5 (Часть 10): Канал полиномиальной регрессии
Сегодня мы рассмотрим еще одну составляющую ALGLIB и задействуем её математический потенциал, чтобы создать индикатор на основе полиномиальной регрессии (Polynomial Regression Channel). К концу этой статьи вы получите практические знания о разработке индикаторов с использованием стандартной библиотеки MQL5, а также полностью функциональный, математически обоснованный исходный код индикатора.
Возможности Мастера MQL5, которые вам нужно знать (Часть 91): Использование списков с пропусками и сети Хопфилда в пользовательском классе трейлинга
В следующем исследовании идей, тестируемых с помощью Мастера MQL5, рассмотрим, могут ли списки с пропусками и сеть Хопфилда сформировать стратегию трейлинга, направленную на защиту прибыли. Как уже отмечалось, управлению трейлинг-стопом в торговых системах часто уделяется меньше внимания, чем сигналам входа или управлению капиталом. Трейлинг-стопы могут сыграть решающую роль, например на трендовых рынках, поэтому данный подход тестируется на GBPJPY.
Возможности Мастера MQL5, которые вам нужно знать (Часть 90): Управление капиталом на основе дерева Фенвика и одномерной CNN в MQL5
В этой статье реализуется дерево Фенвика, или двоичное индексное дерево, для управления капиталом с учетом объема в советнике, собранном Мастером MQL5. Накопленный объем структурируется со сложностью O(log n), после чего применяются четыре режима масштабирования: линейный, консервативный, агрессивный и возврат к среднему. При необходимости эти режимы дополнительно фильтруются легковесной одномерной CNN. Практические тесты сравнивают алгоритм без фильтра и подход с фильтрацией CNN, демонстрируя адаптивное определение размера лота и контроль риска при различной топологии объема.
Изучение стандартной библиотеки MQL5 (Часть 8): Ведение журнала сделок гибридной системы с помощью CFileTxt
В этой статье мы рассмотрим классы модуля File Operations стандартной библиотеки MQL5 для создания надежного модуля отчетности, который автоматически генерирует CSV-файлы, готовые для использования в Excel. В процессе работы мы четко разграничим сделки, выполненные вручную, и ордера, выполненные алгоритмом, закладывая основу для надежной и поддающейся аудиту отчетности по сделкам.
Возможности Мастера MQL5, которые вам нужно знать (Часть 89): Использование побитовой векторизации с перцептронными классификаторами
В этой статье представлен пользовательский класс сигнала на языке MQL5 CSignalBitwisePerceptron для сверхлегкой логики входа. Он упаковывает 64 бара в одно значение uint64 с помощью побитовой векторизации и оценивает их перцептроном, который суммирует соответствующие веса лишь для битов, равных 1. Двухуровневая схема – алгоритмическая битовая карта и нейронный порог – сводит к минимуму перебор массивов и сложные вычисления. Читатели получают практический шаблон для сокращения задержек и повышения точности подтверждения входа.
Нейросети в трейдинге: Долговременная память торговых сценариев (Окончание)
В статье отдельные компоненты VLADriver-RAG объединяются в единую торговую систему с долговременной памятью завершённых сценариев. Показана последовательность подготовки рыночного представления, обучения Актёра и Критика, формирования базовой памяти и последующей адаптации модели с использованием найденного опыта. Практическая часть позволяет проследить весь цикл до проверки полученной системы на EURUSD H1 вне обучающей выборки.
Возможности Мастера MQL5, которые вам нужно знать (Часть 88): Использование фильтра Блума с пользовательским классом трейлинга
Следующая тема в серии идей, которые можно быстро прототипировать с помощью Мастера MQL5, – пользовательский класс трейлинга, использующий фильтр Блума. Системы трейлинг-стопов – необязательная, но полезная часть любой торговой системы. В этой серии они рассматриваются наряду с традиционными сигналами входа.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 9): Создание диспетчера сигналов ИИ
Мы превращаем торгового помощника на языке MQL5 с ИИ в систему с диспетчеризацией, которая осуществляет маршрутизацию семи торговых действий через единый центральный диспетчер. Построчный протокол "ключ:значение" ограничивает формат ответа ИИ, а каждому действию сопоставляются рыночные или отложенные ордера и стоп-уровни, адаптированные к конкретному инструменту. Интерфейс на основе канваса (canvas) с редактором промптов и попиксельной подгонкой текста делает сигналы единообразными, проверяемыми и готовыми к отображению на графике.
Возможности Мастера MQL5, которые вам нужно знать (Часть 87): Управление капиталом с масштабированием по волатильности на основе монотонной очереди в MQL5
В этой статье представлен пользовательский класс управления капиталом на языке MQL5, который адаптирует размер позиции к волатильности в реальном времени. Для поиска экстремумов в скользящем окне со сложностью O(N) используется монотонная очередь. Класс применяет обратное масштабирование по волатильности и при необходимости проверяет риск с помощью RBF-сети. Рассмотрим детали реализации метода Optimize и сравним результаты со встроенным классом Size-Optimized, чтобы оценить задержку и преимущества контроля риска.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 8): Доработка интерфейса с анимацией, метриками времени и инструментами управления ответами
В этой статье мы дорабатываем торговую систему с ИИ на языке MQL5: добавляем в интерфейс анимацию загрузки для этапов подготовки запроса и ожидания ответа (или "размышления"), а также выводим в ответах метрики времени для более наглядной обратной связи. Добавляются инструменты управления ответами: кнопки повторной генерации для повторного обращения к ИИ и возможность экспортировать последний ответ в файл, что делает взаимодействие с системой проще и удобнее.
Возможности Мастера MQL5, которые вам нужно знать (Часть 86): Ускорение доступа к данным с помощью разреженной таблицы в пользовательском классе трейлинга
В этой статье мы перерабатываем ранее опубликованные материалы о тестировании торговых стратегий с помощью Мастера MQL5, уделяя больше внимания качеству, очистке и обработке входных данных. В предыдущих статьях мы рассмотрели множество пользовательских классов сигналов, пригодных для использования в Мастере MQL5. Теперь перейдем к пользовательскому классу трейлинга, поскольку выход из позиции также является важной частью любой торговой системы. Основная тема этой статьи – эффективность работы с данными и запросы диапазона со сложностью O(1). В качестве основных технологий используются MQL5, SQLite и Python с Polars; алгоритм – разреженная таблица, а в качестве фильтра валидации используется индикатор ATR.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 7): Дальнейшая модульная реорганизация и автоматизация торговли
В этой статье мы повышаем модульность торговой системы с ИИ, выделяя компоненты интерфейса в отдельный подключаемый файл. Система автоматизирует исполнение сделок по сигналам, сгенерированным ИИ. Она разбирает JSON-ответы с директивами BUY/SELL/NONE и уровнями входа, SL и TP, отображает на графике паттерны, такие как поглощение или дивергенции, с помощью стрелок, линий и меток, а также при необходимости автоматически проверяет сигналы на новых барах.
Изучение Стандартной библиотеки MQL5 (Часть 5): Мультисигнальный советник
В этом занятии мы создадим продвинутый мультисигнальный советник с использованием стандартной библиотеки MQL5. Такой подход позволяет нам органично сочетать встроенные сигналы с нашей пользовательской логикой, демонстрируя, как построить мощный и гибкий торговый алгоритм. Читайте далее.
Возможности Мастера MQL5, которые вам нужно знать (Часть 85): Использование паттернов стохастического осциллятора и FrAMA с обучением на основе инференса β-VAE
Этот материал является продолжением части 84, в которой мы представили связку стохастического осциллятора (Stochastic) и фрактальной адаптивной скользящей средней (FrAMA). Теперь перейдем к обучению на основе инференса и проверим, удастся ли переломить неудачную динамику отстающих паттернов. Stochastic и FrAMA образуют взаимодополняющую связку индикаторов: один отвечает за моментум, другой – за тренд. Для обучения на основе инференса вновь используем β-VAE – вариационный автокодировщик с бета-параметром. Как и обычно, реализуем пользовательский класс сигнала для интеграции с Мастером MQL5.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 6): Реализация поиска и удаления чатов
В части 6 серии о торговых системах с ИИ на MQL5 мы добавляем в советник с интеграцией ChatGPT функции удаления чатов. Интерактивные кнопки удаления появятся на боковой панели, в малом и большом окнах истории, а также в новом окне поиска. Это поможет эффективно упорядочивать и управлять чатами, которые сохраняются между сеансами в зашифрованном виде, при этом поддерживая генерацию ИИ торговых сигналов по данным графика.
Нейросети в трейдинге: Долговременная память торговых сценариев (Объект верхнего уровня)
В статье показано, как двухуровневая RAG-память включается в процесс выбора торгового действия через объект CNeuronVLADriverRAGMPI. Механизм сопоставляет текущие предпочтения Актёра с историческими действиями и их результативностью, ограничивает влияние слабых аналогий с помощью Null Scenario и формирует остаточную контекстную поправку. Такой подход позволяет учитывать положительный и отрицательный опыт, сохраняя приоритет текущего состояния рынка.
Автоматизация торговых стратегий в MQL5 (Часть 50): Стратегия Turtle Soup на снятии ликвидности
В статье создаётся автоматическая программа MQL5 для торговли по стратегии Turtle Soup против ложных пробоев N-барных максимумов и минимумов. Реализуются обнаружение снятия ликвидности, подтверждающие закрытия обратно внутрь уровня, фильтры глубины и возраста экстремума, необязательная проверка тела разворотной свечи, динамические и статические стоп-лоссы, два режима тейк-профита, трейлинг по пунктам и наглядная разметка графика.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 5): Сворачиваемая боковая панель и всплывающие окна истории чатов
В части 5 серии о торговых системах с ИИ в MQL5 мы дополняем советник с интеграцией ChatGPT сворачиваемой боковой панелью. Малое и большое всплывающие окна истории упрощают и делают более плавным выбор чатов, при этом сохраняются обработка многострочного ввода, постоянное зашифрованное хранение чатов между сеансами и генерация ИИ торговых сигналов по данным графика.
Автоматизация торговых стратегий в MQL5 (Часть 49): Разворотный паттерн "Квазимодо" (QM)
В статье мы создаём автоматическую программу MQL5, которая обнаруживает разворотный паттерн Квазимодо по зигзагу подтверждённых свинговых точек. Рассмотрим поиск свингов, активацию сетапа, вход на возврате к линии QM, структурный Stop Loss и расчёт объёма по риску. Также добавим перенос в безубыток, трейлинг-стоп и частичная фиксация прибыли для сопровождения открытых позиций.
Автоматизация торговых стратегий в MQL5 (Часть 46): Снятие ликвидности после пробоя структуры (BoS)
В статье мы создадим на MQL5 систему снятия ликвидности после пробоя структуры (BoS). Она обнаруживает свинговые максимумы и минимумы на заданном количестве баров, присваивает им метки HH/HL/LH/LL для определения BoS и выявляет снятие ликвидности, когда тень свечи выходит за уровень соответствующего свинга, а бычья или медвежья свеча закрывается обратно в пределах этого уровня.
Автоматизация торговых стратегий в MQL5 (Часть 45): Инверсный разрыв справедливой стоимости (IFVG)
В этой статье мы создадим в MQL5 систему, которая обнаруживает разрывы справедливой стоимости (FVG) и отслеживает их переход в состояние инвертированного FVG (IFVG). Она выявляет бычьи и медвежьи FVG на последних сформированных барах с фильтрацией по минимальному размеру разрыва, отслеживает состояния FVG Normal, Mitigated и Inverted в зависимости от взаимодействия цены с зоной (митигация при пробое дальней границы, возврат цены в зону после митигации и инверсия фиксируется, когда после повторного входа цена закрывается за дальней границей, выходя изнутри зоны), игнорирует новые FVG, ценовые диапазоны которых перекрываются с уже существующими зонами, и ограничивает число отслеживаемых FVG.
Изучение Стандартной библиотеки MQL5 (Часть 4): Создание библиотеки пользовательских сигналов
Сегодня мы используем стандартную библиотеку MQL5 для создания пользовательских классов сигналов и позволяем мастеру MQL5 собрать для нас профессиональный советник. Такой подход упрощает разработку, позволяя даже начинающим программистам создавать надежные советники без глубоких знаний в области программирования, сосредоточившись на настройке параметров и оптимизации стратегии. Давайте шаг за шагом разберем этот процесс.
Автоматизация торговых стратегий в MQL5 (Часть 44): Обнаружение смены характера рынка (CHoCH) по пробоям свинговых экстремумов
В этой статье мы разрабатываем на MQL5 систему обнаружения смены характера рынка (Change of Character, CHoCH), которая определяет свинговые максимумы и минимумы на заданном пользователем количестве баров, присваивает максимумам метки HH/LH, а минимумам — LL/HL для определения направления тренда и торгует пробои этих свинговых уровней при изменении структуры рынка, что указывает на возможный разворот.
Нейросети в трейдинге: Долговременная память торговых сценариев (RAG-память)
Статья продолжает адаптацию фреймворка VLADriver-RAG к задачам алгоритмической торговли и описывает переход от отдельной сценарной ячейки к ограниченной двухуровневой памяти. Рассматриваются добавление и консолидация завершённого опыта, многоэтапный GPU-поиск глобального Top-K и формирование RAG-токенов с параметрами действия, релевантностью и средним результатом. Память сохраняет опыт вне весов сети и возвращает Актёру компактный исторический контекст при предсказуемом времени чтения.
Автоматизация торговых стратегий в MQL5 (Часть 43): Адаптивная стратегия на основе канала линейной регрессии
В этой статье мы реализуем в MQL5 адаптивную систему на основе канала линейной регрессии. Она автоматически рассчитывает линию регрессии и канал стандартного отклонения за заданный пользователем период, активируется только тогда, когда абсолютное значение наклона превышает минимальный порог, что подтверждает наличие выраженного тренда, а также динамически перестраивает или продлевает канал, когда цена выходит за его границы на настраиваемую долю ширины.
Автоматизация торговых стратегий в MQL5 (Часть 42): Сессионная система пробоя начального диапазона (ORB)
В статье мы создадим гибко настраиваемую сессионную систему Opening Range Breakout (ORB) на MQL5. Она позволяет задавать время начала сессии и продолжительность начального диапазона, автоматически рассчитывает его максимум и минимум и открывает сделки только после подтверждённого пробоя в направлении движения.
Изучение Стандартной библиотеки 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.
Автоматизация торговых стратегий на MQL5 (Часть 40): Торговля по уровням коррекции Фибоначчи с пользовательскими уровнями
В статье разрабатывается советник MQL5 для торговли по уровням коррекции Фибоначчи. Пользовательские уровни, например 50% и 61,8%, рассчитываются по диапазону дневной свечи или массиву данных за выбранный период. Направление определяется по соотношению цен закрытия и открытия; позиции открываются при пересечении уровней с ограничением числа сделок, необязательным закрытием при новом расчёте, трейлинг-стопом в пунктах и буферами SL/TP в процентах от диапазона.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 4): Преодоление ограничений многострочного ввода, сохранение чатов между сеансами и генерация торговых сигналов
В этой статье мы улучшим программу с интеграцией ChatGPT на MQL5: устраним ограничения многострочного ввода благодаря улучшенной отрисовке текста, добавим боковую панель для навигации по истории сохраненных чатов с шифрованием AES256 и ZIP-сжатием, а также сформируем начальные торговые сигналы за счет интеграции данных графика.
Автоматизация торговых стратегий на MQL5 (Часть 39): Стратегия статистического возврата к среднему с доверительными интервалами и информационной панелью
В этой статье мы разработаем советник на MQL5 для торговли по стратегии статистического возврата к среднему. Советник рассчитывает среднее, дисперсию, асимметрию, эксцесс и статистику Харке-Бера за заданный период, выявляет ненормальные распределения и формирует сигналы на покупку и продажу по доверительным интервалам с адаптивными порогами.
Нейросети в трейдинге: Долговременная память торговых сценариев (VLADriver-RAG)
Описан перенос идей фреймворка VLADriver-RAG в торговые задачи: добавляется внешняя память завершённых эпизодов поверх нейросетевой политики. Формируется ячейка памяти с эмбеддингом рыночной сцены, нормированным действием и результатом, а близкие случаи группируются в центроиды сценария и действия. Реализованы ядра для косинусного скоринга и поиска ближайшей пары, позволяющие искать и уплотнять опыт.
Автоматизация торговых стратегий на 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) и опциональным трейлинг-стопом. На графике отображаются цветные линии и подписи свинговых точек, чтобы лучше видеть логику работы стратегии.
Автоматизация торговых стратегий на MQL5 (Часть 36): Торговля по зонам спроса и предложения на основе модели ретеста и импульса
В этой статье мы создадим на MQL5 торговую систему на основе зон спроса и предложения. Она определяет такие зоны по диапазонам консолидации, подтверждает их импульсными движениями и открывает позиции на ретестах с подтверждением тренда и настраиваемыми параметрами риска. Система отображает зоны с помощью динамических подписей и цветов, а также поддерживает трейлинг-стопы для управления рисками.
Возможности Мастера MQL5, которые вам нужно знать (Часть 82): Использование паттернов TRIX и WPR в обучении с подкреплением DQN
В предыдущей статье мы рассмотрели сочетание Ишимоку и ADX в рамках обучения на основе инференса. В этой статье мы вновь обращаемся к обучению с подкреплением применительно к паре индикаторов, которую уже рассматривали в части 68: TRIX и Williams Percent Range. В этой статье используем алгоритм алгоритм DQN с квантильной регрессией. Как обычно, представляем его в виде пользовательского класса сигнала, предназначенного для использования с Мастером MQL5.