Мультиброкерский и мультивалютный граф: симуляция арбитражной торговли
Статья описывает воспроизводимый графовый арбитражный сканер для MetaTrader 5 и Python. Шесть M1‑потоков по EURGBP, EURUSD и GBPUSD объединяются во временной мультиграф, где прямые конвертации считаются по Bid, обратные — по 1/Ask, а параллельные источники конкурируют на каждой ноге. Проверяются пять фиксированных циклов, цены синхронизируются по минуте без forward fill, после издержек выбирается один лучший маршрут на минуту для однозначного исторического результата.
Машинное обучение и Data Science (Часть 48): Насколько важны трансформеры для трейдинга?
От ChatGPT до Gemini и множества других инструментов на базе искусственного интеллекта для генерации текста, изображений и видео – трансформеры произвели фурор в мире искусственного интеллекта. Но применимы ли они в финансовой сфере, в частности в трейдинге? Постараемся разобраться.
Машинное обучение и Data Science (Часть 47): Прогнозирование рынка с помощью модели DeepAR на Python
В этой статье мы попробуем спрогнозировать движения рынка с помощью достаточно хорошей модели прогнозирования временных рядов под названием DeepAR. Модель представляет собой сочетание глубоких нейронных сетей и авторегрессионных свойств, характерных для таких моделей, как ARIMA и VAR (векторная авторегрессионная модель).
Эволюция городских советов — City Councils Evolution (CCE)
Выполняем каноническую реализацию CCE в рамках C_AO, воспроизводим тесты и показываем ключевой дефект: аддитивный покоординатный оператор тянет решения к нулю и деградирует на смещенных диапазонах. Предлагаем простой контрольный тест со сдвигом области поиска и модификацию на основе разностей, применяемую по всем координатам. В результате — исходники MQL5, методика проверки и улучшенная версия алгоритма.
Нейросети в трейдинге: Адаптация прогноза при смене рыночного режима (Объект верхнего уровня)
Представлен объект верхнего уровня CNeuronOMPBOCL для адаптации рыночного представления внутри энкодера. Он объединяет байесовскую остаточную поправку, групповой затвор, раздельные истории Source и Target, оценку Mismatch и KL-ограничение. Разобраны инициализация, режимы работы, числовые проверки, прямой и обратный проходы в MQL5/OpenCL. Реализация разделяет прогноз и последующее обновление параметров и даёт готовый слой для дальнейшей интеграции в модель.
Алгоритм оптимизации на основе кровеносной системы — Circulatory System Based Optimization (CSBO)
CSBO — алгоритм, вдохновлённый кровеносной системой, рассматривается как разностно-ориентированный метод: венозное движение, систематический круг с кроссовером и лёгочная мутация. Приведена реализация в виде класса C_AO_CSBO для MQL5 с переводом в максимизацию, нормировкой шагов и двухфазными эпохами. Представлены итоги, исходники и практические настройки.
Репликация и моделирование рынка: Большой финал
Я знаю, что многие, возможно, думали, что я опубликую ещё несколько статей, чтобы объяснить другие аспекты этой системы. Недостающие элементы легко реализовать. Тем не менее, её разработка позволит вам проверить, насколько вы действительно готовы.
Нейросети в трейдинге: Адаптация прогноза при смене рыночного режима (OpenCL примитивы)
Статья продолжает практическую реализацию фреймворка OMPB для адаптации прогнозных моделей к смене рыночного режима. Рассматриваем вычислительную декомпозицию фреймворка и реализуем недостающие OpenCL-примитивы: ограниченный Disagreement, распространение градиента Mismatch и поэлементный расчёт KL-дивергенции для байесовского слоя. Полученные компоненты образуют параллельную GPU-основу без переноса больших промежуточных тензоров на CPU и подготавливают сборку полноценного OMPB-слоя в библиотеке нейронных сетей MQL5.
Возможности Мастера MQL5, которые вам нужно знать (Часть 98): Использование сигма-точечного фильтра Калмана и капсульной сети в пользовательском классе сигналов
В этой статье представлен пользовательский класс CSignalUKFCapsNet, написанный на MQL5. Этот класс используется с Мастером MQL5 при сборке советника. После выбора в Мастере он определяет сигналы входа советника. При создании этого пользовательского класса были объединены сигма-точечный фильтр Калмана и капсульная нейронная сеть. Алгоритм представлен в четырех режимах работы, а его реализация в виде пользовательского класса для Мастера MQL5 позволяет тестировать различные методы трейлинг-стопа и системы управления капиталом.
Моделирование рынка: В единстве — сила (III)
В этой статье я представлю нашу систему для моделирования рыночных операций. Хотя всё уже практически завершено, ещё остаётся реализовать некоторые вещи и внести несколько изменений. Однако, признаюсь, после всего, что мы уже разработали, я устал от того, что всё ещё застрял в реализации этой системы.
Разработка инструментария для анализа Price Action (Часть 74): Создание советника MQL5 на основе буферов индикатора
В этой статье реализован советник MQL5, который подключается к индикатору гэпов выходного дня через iCustom() и CopyBuffer() и считывает шесть буферов с сигналами на покупку и продажу, а также уровнями SL/TP. Он проверяет требования брокера к минимальному расстоянию до стоп-уровней, обрабатывает подтверждение закрытым баром и контролирует дублирование сигналов, а также исполняет ордера с настраиваемым магическим числом. Советник также включает механику переноса стоп-лосса при достижении срединного уровня между входом и тейк-профитом, а также процедуру тестирования на исторических данных, позволяющую проверить поведение и адаптировать параметры под вашу конфигурацию.
Возможности Мастера MQL5, которые вам нужно знать (Часть 97): Использование выпуклой оболочки и миниатюрной GRU-сети в пользовательском классе трейлинг-стопа
В этой статье рассматривается пользовательский класс Мастера MQL5 для трейлинг-стопов. Пользовательский класс CTrailingConvexHullGRU создается путем объединения алгоритма выпуклой оболочки и GRU-сети. Как и в других статьях серии, разрабатывается модель, которую можно тестировать с советниками, собранными Мастером MQL5, и настраивать с помощью различных классов управления капиталом и сигналов входа. В тестировании используются классы сигналов Envelopes и RSI.
Нейросети в трейдинге: Адаптация прогноза при смене рыночного режима (OMPB)
В статье разбирается фреймворк OMPB для онлайн-калибровки прогнозов при сдвиге распределения временных рядов. Рассматриваются архитектура, PAC-Bayes сертификат с учётом временной зависимости и измерение расхождения Mismatch между исходной и целевой областями. На практике начинается адаптация под MQL5: реализован байесовский линейный слой, который станет основой корректирующего модуля и позволит настраивать модель без полного переобучения.
Пайплайны Codex: от Python к MQL5 для выбора индикаторов — анализ ETF FXI за несколько кварталов
Мы продолжаем рассматривать возможности использования MetaTrader за пределами «зоны комфорта» форекс-трейдинга, обратив внимание на ещё один торгуемый актив — ETF FXI. В отличие от предыдущей статьи, где мы попытались охватить «слишком много», углубившись не только в выбор индикаторов, но и в рассмотрение комбинаций индикаторных паттернов, в этой статье мы сделаем небольшой шаг назад и сосредоточимся в большей степени на выборе индикаторов. Наш конечный продукт в данном случае задуман как своего рода пайплайн, который может помочь рекомендовать индикаторы для различных активов при наличии достаточного объема их ценовой истории.
Реализация шаблона "Декоратор" в MQL5: Добавление логирования, измерения времени выполнения и фильтрации к любому индикатору без изменения исходного кода
Сквозные аспекты, такие как логирование, измерение времени и пороговая фильтрация, не должны находиться внутри классов индикаторов. В данной статье показано, как применить шаблон проектирования "Декоратор" в MQL5 с общим интерфейсом IIndicator, базовым декоратором-владельцем CBaseDecorator и конкретными слоями-декораторами CLoggingDecorator, CTimingDecorator и CThresholdFilterDecorator. Для каждого советника можно комбинировать поведение декораторов, оставлять вычислительный код закрытым для изменений и обеспечивать детерминированную очистку удалением только внешнего декоратора.
Возможности Мастера MQL5, которые вам нужно знать (Часть 96): Использование вейвлетного порогового преобразования и сети LSTM в пользовательском классе управления капиталом
В этой статье рассматривается пользовательский класс Мастера MQL5 для управления капиталом. Пользовательский класс CMoneyWaveletLSTM создается объединением алгоритма вейвлетного порогового преобразования и сети LSTM. Как и в других статьях серии, разработанную модель можно тестировать с советниками, собранными в Мастере MQL5 и настраиваемыми с использованием различных классов трейлинг-стопов и входных сигналов. Как и в предыдущих статьях, в качестве сигнала входа используются встроенный класс Envelopes и класс RSI.
Возможности Мастера MQL5, которые вам нужно знать (Часть 94): Использование выборки из резервуара и линейной регрессии в пользовательском классе трейлинг-стопа
В этой статье мы переходим к пользовательской реализации класса для Мастера MQL5, посвященной трейлинг-стопам. Пользовательский класс CTrailingReservoirLinReg создается путем объединения алгоритма выборки из резервуара и сети линейной регрессии. Как и в других статьях серии, это решение можно тестировать с советниками, собранными Мастером MQL5 и настраиваемыми с различными сигналами входа и классами управления капиталом.
Моделирование рынка: Position View (XIX)
Один из вопросов, который доставлял мне наибольший дискомфорт, заключается в том, что класс C_ElementsTrade содержит код для обращения к позициям. Не воспринимайте это как ошибку, потому что на самом деле это не так. Однако из-за этого некоторые задачи, которые нам предстоит выполнить позже, становятся более рискованными с точки зрения ошибок. Вся работа по реализации индикатора позиции велась с расчетом на его использование в сервисе репликации/моделирования. Однако при запуске в этой среде у нас не будет никакого доступа к реальной позиции. Следовательно, любой вызов библиотеки MQL5, предназначенный для получения данных о позиции, не окажет никакого влияния на код.
Автоматизированный риск-менеджмент для прохождения челленджей проп-фирм
В статье рассматривается разработка советника для инструмента GOLD, предназначенного для торговли в условиях проп-фирм: с фильтрами пробоев, мультитаймфреймовым анализом, надежным риск-менеджментом и строгой защитой от просадки. Советник помогает трейдерам проходить челленджи проп-фирм, избегая нарушений правил и стабилизируя исполнение сделок в условиях волатильного рынка.
Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Окончание)
Статья завершает адаптацию D2Skill к алгоритмической торговле и собирает полный учебный контур. Разобраны обучение Forecast, базового Актёра и Критиков, формирование Task и Step Skills и калибровка Utility на парных траекториях. Для каждого шага приведены настройки, кодовые точки интеграции и контрольные метрики. Итоговое OOS‑сравнение одной политики с памятью и без неё показывает влияние двухуровневой памяти на результат и риск.
Интеграция MQL5 с пакетами обработки данных (Часть 9): Адаптивная оценка волатильности на основе энтропии
В этой статье представлен сквозной пайплайн: сбор данных MetaTrader 5, создание признаков на основе энтропии, волатильности и тренда, обучение классификатора PyTorch и предоставление прогнозов через API Flask. Советник MQL5 на каждом тике отправляет скользящее окно цен, получает вероятность и режим волатильности, а затем адаптивно рассчитывает размер позиции и расстояние до стоп-лосса. В результате получается ясная схема интеграции инференса машинного обучения с MetaTrader 5.
Возможности Мастера MQL5, которые вам нужно знать (Часть 93): Использование суффиксного автомата и автокодировщика в пользовательском классе управления капиталом
В этой статье мы переходим к пользовательской реализации класса Мастера MQL5 для управления капиталом. Пользовательский класс CMoneySuffixAE создается путем объединения алгоритма суффиксного автомата и нейронной сети автокодировщика. Как и ранее, это решение можно тестировать с советниками, собранными Мастером MQL5 и настраиваемыми с различными сигналами входа и вариантами трейлинг-стопа.
Разработка инструментария для анализа Price Action (Часть 71): Картирование структуры гэпов выходного дня в MQL5
В статье представлена реализация на MQL5 на основе графических объектов, которая определяет гэпы выходного дня по разрывам времени и отображает их непосредственно на графике. Она управляет графическими объектами, отслеживает переходы состояний – новый (FRESH), частично заполнен (PARTIAL), реакция (REACTION), заполнен (FILLED) – и сохраняет завершенные гэпы как исторические зоны. В результате создается воспроизводимая система для отслеживания возврата цены к структурам гэпов выходного дня и их заполнения.
Возможности Мастера MQL5, которые вам нужно знать (Часть 92): Использование индексации B-дерева и байесовской нейронной сети в пользовательском классе сигнала
В этой статье представлен очередной пользовательский класс сигнала MQL5 – CSignalBTreeBayesian. Здесь алгоритм сбалансированного дерева объединяется с нейронной сетью, построенной на байесовских принципах, для создания еще одного пользовательского сигнала. Благодаря Мастеру MQL5 его можно тестировать отдельно или вместе с другими сигналами.
Изучение стандартной библиотеки MQL5 (Часть 14): Создание советника для динамического хеджирования с использованием ALGLIB (ap.mqh)
В этой статье представлен ap.mqh, порт ALGLIB для MQL5, и продемонстрировано его использование в многоактивных сценариях работы, требующих надежной линейной алгебры. Рассматривается почему встроенных индикаторов недостаточно, а затем реализуются полиномиальная регрессия, индикатор скользящей корреляционной матрицы и адаптивный оценщик коэффициента хеджа с использованием гребневой регрессии с разложением Холецкого. Практический код показывает, как вычислять z-показатели спреда и согласованно исполнять парные сделки полностью в MetaTrader 5.
Автоматизация индикатора Market Memory Zones: Зоны, куда цена с высокой вероятностью вернется
В этой статье Market Memory Zones превращается из сугубо визуальной концепции на графике, в полноценный советник MQL5. Советник автоматизирует зоны смещения, изменения структуры (CHoCH) и снятия ликвидности с помощью фильтров ATR и свечной структуры, применяет подтверждение на младшем таймфрейме и рассчитывает размер позиции с учетом риска, используя динамический стоп-лосс и тейк-профит на основе структуры. Рассматривается архитектура кода для обнаружения зон, входов в сделки, управления сделками и визуализации, а также краткий обзор тестирования на исторических данных.
Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Объект верхнего уровня)
Продолжаем адаптацию фреймворка D2Skill и переходим к построению объекта верхнего уровня CD2Skill для двухуровневой коррекции торговой политики. Механизм интегрируется в архитектуру ORION и дополняет существующий Актёр банками Task Skills и Step Skills. Показаны принципы их инициализации, включения в прямой проход и обучения по псевдоостаткам. Особое внимание уделяется сохранению исходного вычислительного конвейера, причинного порядка и независимости Критика.
Кодирование свечных моделей (Часть 3): Частотный анализ односвечных структур
В данной статье представлена схема частотного анализа закодированных свечных паттернов в MQL5. Преобразуя свечи в буквенные символы, можно анализировать историческое движение цен как статистическую последовательность, а не как визуальный график. Используя пару GBPUSD и золото на нескольких таймфреймах, в этом исследовании мы изучаем частоту появления отдельных типов свечей, выявляем доминирующие рыночные структуры и показываем симметрию между бычьими и медвежьими движениями цен. Результаты закладывают количественную основу для обнаружения паттернов и подготавливают почву для анализа многосвечных последовательностей и их прогностического потенциала в алгоритмических торговых системах.
Изучение стандартной библиотеки MQL5 (Часть 12): Мультитаймфреймный дашборд на основе составного показателя
В статье реализован CMultiTimeframeMatrix, переиспользуемый дашборд, который сопоставляет символы с таймфреймами и отображает числовой показатель с цветовой кодировкой. Показатель объединяет тренд и импульс с вычетом волатильности, обновляется по таймеру и учитывает ограничения производительности. Вы узнаете, как создавать пользовательский интерфейс с помощью CAppDialog/CLabel, вычислять метрики с помощью CMatrixDouble и встраивать компонент в простой советник для получения целостной картины рынка в реальном времени.
Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Банк навыков)
Статья описывает переход от одного навыка к управляемому банку, где опыт хранится как векторные латентные коррекции и извлекается по контексту. Разбираем фильтры сходства, подтверждение Candidate, правила вытеснения с учётом Utility и защитные периоды. Реализация на MQL5 и OpenCL выполняет ключевые вычисления на GPU, что даёт воспроизводимый pipeline retrieval–update без смешения конфликтующих режимов рынка.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 2): Разработка программы с интеграцией ChatGPT и пользовательским интерфейсом
В этой статье разрабатывается программа на языке MQL5 с интеграцией ChatGPT и пользовательским интерфейсом. Она задействует модуль разбора JSON из части 1 для отправки промптов в API OpenAI и отображения ответов на графике MetaTrader 5. Реализуется панель управления с полем ввода, кнопкой отправки и областью отображения ответа. Для пользовательского взаимодействия программа обрабатывает обмен данными с API и перенос текста по строкам.
Изучение стандартной библиотеки MQL5 (Часть 11): Как создать матричный индикатор структуры рынка в MQL5
Научитесь проектировать индикатор в MQL5, который преобразует тренд, импульс и волатильность в единый сырой показатель, используя matrix.mqh (ALGLIB). В статье рассматривается осциллятор с отдельным окном для проверки основной математики, а затем индикатор для основного графика, который отображает стрелки сигналов на покупку и продажу без перерисовки, когда показатель пересекает заданные пользователем пороговые значения. Дополнительный фильтр на основе долгосрочной EMA, минимальный интервал в барах между сигналами и встроенные оповещения делают инструмент практичным для торговли в реальном времени.
Нейросети в трейдинге: Двухуровневая адаптация торговой политики (D2Skill)
Начинаем адаптацию фреймворка D2Skill к нейронной торговой политике: навыки формируются из повторяющихся псевдоостатков и применяются как аддитивные коррекции в латентном пространстве. Реализуется элемент CD2SkillItem на MQL5/OpenCL с GPU‑конвейером обновления в двух представлениях (полный остаток и направление + масштаб). Контролируемый эксперимент оценивает косинусное сходство, ошибку реконструкции и вклад коррекции в функцию потерь. Читатель получает готовый блок и методику проверки для последующего банка навыков.
Создание торговых систем с искусственным интеллектом на MQL5 (Часть 1): Реализация обработки JSON для API ИИ
В этой статье разрабатывается модуль разбора JSON на языке MQL5 для обмена данными при интеграции с API ИИ. Основное внимание уделяется классу JsonValue для обработки JSON-структур. Реализуются методы сериализации и десериализации JSON-данных с поддержкой различных типов данных, таких как строки, числа и объекты. Это необходимо для взаимодействия с ИИ-сервисами, такими как ChatGPT, и служит основой для будущих торговых систем на базе ИИ, обеспечивая точную обработку данных.
Изучение стандартной библиотеки MQL5 (Часть 10): Канал полиномиальной регрессии
Сегодня мы рассмотрим еще одну составляющую ALGLIB и задействуем её математический потенциал, чтобы создать индикатор на основе полиномиальной регрессии (Polynomial Regression Channel). К концу этой статьи вы получите практические знания о разработке индикаторов с использованием стандартной библиотеки MQL5, а также полностью функциональный, математически обоснованный исходный код индикатора.
Возможности Мастера MQL5, которые вам нужно знать (Часть 91): Использование списков с пропусками и сети Хопфилда в пользовательском классе трейлинга
В следующем исследовании идей, тестируемых с помощью Мастера MQL5, рассмотрим, могут ли списки с пропусками и сеть Хопфилда сформировать стратегию трейлинга, направленную на защиту прибыли. Как уже отмечалось, управлению трейлинг-стопом в торговых системах часто уделяется меньше внимания, чем сигналам входа или управлению капиталом. Трейлинг-стопы могут сыграть решающую роль, например на трендовых рынках, поэтому данный подход тестируется на GBPJPY.
Изучение стандартной библиотеки MQL5 (Часть 9): Использование ALGLIB для фильтрации избыточного числа сигналов пересечения скользящих средних
Во время боковых движений цены трейдеры сталкиваются с избыточными сигналами от множественных пересечений скользящих средних. Сегодня мы обсудим, как ALGLIB предварительно обрабатывает исходные данные о ценах для формирования отфильтрованных сигнальных серий пересечений, которые также могут генерировать оповещения при их возникновении. Давайте разберёмся, как можно использовать математическую библиотеку в программах на MQL5.
Возможности Мастера 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. Двухуровневая схема – алгоритмическая битовая карта и нейронный порог – сводит к минимуму перебор массивов и сложные вычисления. Читатели получают практический шаблон для сокращения задержек и повышения точности подтверждения входа.