Статьи по программированию на языках MQL4 и MQL5

icon

Изучайте язык программирования торговых стратегий MQL5 по опубликованным здесь статьям, большая часть которых написана вами - членами сообщества. Все статьи разделены на категории для быстрого поиска ответа по тому или иному аспекту программирования: "Интеграция", "Тестер", "Торговые стратегии" и многое другое.

Следите за новыми публикациями и участвуйте в их обсуждении на форуме!

Новая статья
последние | лучшие
preview
Внедрение в MQL5 практических модулей из других языков (Часть 03): Модуль schedule из Python — расширенные возможности OnTimer

Внедрение в MQL5 практических модулей из других языков (Часть 03): Модуль schedule из Python — расширенные возможности OnTimer

Модуль schedule в Python предоставляет простой способ планирования повторяющихся задач. Хотя в MQL5 отсутствует встроенный аналог, в этой статье мы реализуем аналогичную библиотеку, чтобы упростить настройку событий по расписанию в MetaTrader 5.
preview
Управление позициями: Безопасный пирамидинг с единым стопом в MQL5

Управление позициями: Безопасный пирамидинг с единым стопом в MQL5

В этой статье представлен CPyramidEngine – переиспользуемый класс на языке MQL5, который добавляет в любой советник дисциплинированное пирамидирование и требует для интеграции всего около шести изменений в коде. Движок обеспечивает соблюдение трех ограничений: размеры лотов должны строго уменьшаться, единый стоп – сдвигаться после каждого добавления, а каждая модификация – проходить проверку на уровне брокера. В статье разбираются типичные сценарии отказа наивных реализаций и показывается, как по мере добавления позиций сохранять общий риск по счету измеримым и контролируемым.
preview
Нейросети в трейдинге: Единый взгляд на пространство и время (Окончание)

Нейросети в трейдинге: Единый взгляд на пространство и время (Окончание)

Фреймворк Extralonger демонстрирует уникальную способность интегрировать пространственные и временные факторы в единую модель, обеспечивая высокую точность прогнозов. Его архитектура позволяет адаптироваться к разным горизонтам планирования и финансовым инструментам, сохраняя прозрачность и управляемость системы.
preview
Нейросети в трейдинге: Сеточная аппроксимация событийного потока как инструмент анализа ценовых паттернов (CDC-модуль)

Нейросети в трейдинге: Сеточная аппроксимация событийного потока как инструмент анализа ценовых паттернов (CDC-модуль)

В статье представлен промежуточный этап реализации фреймворка EEMFlow средствами MQL5. Основное внимание уделено построению и интеграции CDC-модуля, включающего Self-Corrector, механизм Self-Attention для скорректированного потока и взвешенное объединение сигналов через маску доверия. Рассмотрены принципы архитектуры, порядок прямого и обратного проходов, а также особенности работы с локальными и глобальными признаками движения.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 47): Обучение с подкреплением (алгоритм временных различий)

Возможности Мастера MQL5, которые вам нужно знать (Часть 47): Обучение с подкреплением (алгоритм временных различий)

Temporal Difference (TD, временные различия) — еще один алгоритм обучения с подкреплением, который обновляет Q-значения на основе разницы между прогнозируемыми и фактическими вознаграждениями во время обучения агента. Особое внимание уделяется обновлению Q-значений без учета их пар "состояние-действие" (state-action). Как обычно, мы рассмотрим, как этот алгоритм можно применить в советнике, собранном с помощью Мастера.
preview
Нейросети в трейдинге: Адаптивное масштабирование представлений (Окончание)

Нейросети в трейдинге: Адаптивное масштабирование представлений (Окончание)

В статье представлена интеграция ранее реализованных компонентов фреймворка ADS в прикладную торговую модель и их проверка на исторических данных. Показано, как построение объекта верхнего уровня позволяет встроить сложную архитектуру в существующие решения, сохранив управляемость и прозрачность модели. Проведенное тестирование раскрывает как потенциал подхода в генерации прибыли, так и его ограничения, формируя основу для дальнейшей оптимизации риск-менеджмента и повышения устойчивости системы.
preview
Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (II) — советник Intrusion Detector

Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (II) — советник Intrusion Detector

В нашей предыдущей статье мы представили простой скрипт Quarters Drawer. Продолжая тему, создадим советник для отслеживания четвертей и предоставления информации о потенциальной реакции рынка на этих уровнях. В статье описана разработка инструмента для обнаружения необходимых зон.
preview
Нейросети в трейдинге: Унифицированное смешивание признаков для торговых решений (UniMixer)

Нейросети в трейдинге: Унифицированное смешивание признаков для торговых решений (UniMixer)

Статья разбирает архитектуру UniMixer и интерпретирует её принципы для задач финансовых рынков, акцентируя моделирование взаимодействий признаков вместо простого прогноза цен. Показано, как организовать входные данные и семантические домены. Реализован базовый токенизатор для MQL5, формирующий токены с независимыми проекциями и подготавливающий корректное входное представление для последующего построения торговой модели.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 73): Использование паттернов Ишимоку и ADX-Wilder

Возможности Мастера MQL5, которые вам нужно знать (Часть 73): Использование паттернов Ишимоку и ADX-Wilder

Индикатор Ишимоку (Ichimoku-Kinko-Hyo) и осциллятор ADX-Wilder — это взаимодополняющая пара, которую можно использовать в составе MQL5-советника. Индикатор Ишимоку многогранен, однако в данной статье мы будем использовать его в первую очередь для определения уровней поддержки и сопротивления. Мы также применим ADX для определения тренда. Как обычно, мы используем Мастер MQL5 для построения паттернов и тестирования потенциала, который может иметь эта пара индикаторов.
preview
Оптимизатор ястребов Харриса — Harris Hawks Optimization (HHO)

Оптимизатор ястребов Харриса — Harris Hawks Optimization (HHO)

Мы реализуем в MQL5 алгоритм Harris Hawks Optimization и разбираем пять режимов движения агентов, управляемых единственным параметром — убывающей энергией побега E. Представлен класс C_AO_HHO, совместимый с унифицированным тестовым стендом, с воспроизводимой реализацией полёта Леви. Алгоритм протестирован на функциях Hilly, Forest и Megacity при 5, 25 и 500 координатах — результаты указывают на аномальное поведение.
preview
От начального до среднего уровня: Шаблон и Typename (II)

От начального до среднего уровня: Шаблон и Typename (II)

В этой статье мы расскажем, как справиться с одной из самых сложных ситуаций в программировании, с которой можно столкнуться: использование разных типов в одной и той же функции или шаблоне процедуры. Хотя большую часть времени мы уделяли только функциям, всё, что мы здесь рассмотрели, полезно и может быть применено к процедурам.
preview
От начального до среднего уровня: Struct (I)

От начального до среднего уровня: Struct (I)

Сегодня мы начнем изучать структуры более простым, практичным и комфортным способом. Структуры являются одной из основ программирования, независимо от того, структурированы они или нет. Я знаю, что по мнению многих, структуры - это просто коллекции данных, но уверяю вас, что это гораздо больше, чем просто структуры. И здесь мы начнем исследовать эту новую вселенную наиболее дидактическим способом.
preview
Алгоритм поиска по кругу — Circle Search Algorithm (CSA)

Алгоритм поиска по кругу — Circle Search Algorithm (CSA)

В статье представлен новый метаэвристический алгоритм оптимизации CSA (Circle Search Algorithm), основанный на геометрических свойствах окружности. Алгоритм использует принцип движения точек по касательным для поиска оптимального решения, сочетая фазы глобального исследования и локальной эксплуатации.
preview
От начального до среднего уровня: Массивы и строки (I)

От начального до среднего уровня: Массивы и строки (I)

В сегодняшней статье мы начнем изучать некоторые особые типы данных. Для начала мы определим, что такое строка, и объясним, как использовать некоторые базовые процедуры. Это позволит нам работать с этим типом данных, который может быть интересным, хотя иногда и немного запутанным для новичков. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Переосмысливаем классические стратегии (Часть IV): SP500 и казначейские облигации США

Переосмысливаем классические стратегии (Часть IV): SP500 и казначейские облигации США

В этой серии статей мы анализируем классические торговые стратегии с использованием современных алгоритмов, чтобы определить, можно ли улучшить стратегию с помощью искусственного интеллекта (ИИ). В сегодняшней статье мы рассмотрим классический подход к торговле индексом SP500, используя его взаимосвязь с казначейскими облигациями США (US Treasury Notes).
preview
Автоматизация торговых стратегий на MQL5 (Часть 5): Разработка стратегии Adaptive Crossover RSI Trading Suite

Автоматизация торговых стратегий на MQL5 (Часть 5): Разработка стратегии Adaptive Crossover RSI Trading Suite

В этой статье мы разработаем систему Adaptive Crossover RSI Trading Suite, которая использует пересечения скользящих средних с периодами 14 и 50 в качестве сигналов, подтверждаемых фильтром RSI с периодом 14. Система включает в себя фильтр торговых дней, стрелки сигналов с пояснениями и дашборд для мониторинга в реальном времени. Такой подход обеспечивает точность и адаптивность автоматической торговли.
preview
Автоматизация торговых стратегий на MQL5 (Часть 19): Envelopes Trend Bounce Scalping — Исполнение сделок и управление рисками (Часть II)

Автоматизация торговых стратегий на MQL5 (Часть 19): Envelopes Trend Bounce Scalping — Исполнение сделок и управление рисками (Часть II)

В статье реализуется исполнение сделок и управление рисками для стратегии скальпинга на коррекции на основе конвертов (Envelopes Trend Bounce) на языке MQL5. Мы внедряем механизмы размещения ордеров и контроля рисков, такие как стоп-лосс и определение размера позиции. В заключение мы переходим к тестированию и оптимизации, опираясь на основы, заложенные в Части 18.
preview
Создание торговой системы (Часть 4): Как случайные выходы из сделок влияют на ожидаемую доходность

Создание торговой системы (Часть 4): Как случайные выходы из сделок влияют на ожидаемую доходность

Многие трейдеры сталкивались с подобной ситуацией. Они часто придерживаются своих критериев входа, но испытывают трудности с сопровождением сделок. Даже при корректных торговых сетапах эмоциональное принятие решений, например, панический выход до того, как сделки достигнут уровней тейк-профита или стоп-лосса, - может привести к снижению кривой эквити. Как трейдеры могут преодолеть эту проблему и улучшить свои результаты? В данной статье мы рассмотрим эти вопросы, исследуя случайные винрейты (доля прибыльных сделок) и демонстрируя с помощью моделирования по методу Монте-Карло, как трейдеры могут совершенствовать свои стратегии, фиксируя прибыль на разумных уровнях до достижения первоначальной цели.
preview
Как обучить MLP на признаках марковской цепи в MQL5

Как обучить MLP на признаках марковской цепи в MQL5

Статья описывает двухуровневый индикатор MarkovMLPOscillator: трехсостоянная марковская цепь на истории строит матрицу переходов и формирует 15 вероятностных признаков для каждого бара, а MLP обучается на них и прогнозирует направление через заданный горизонт. Рассмотрены генерация признаков, схема валидации на отложенной выборке и настройки параметров. Результат — интерпретируемый осциллятор с цветовой гистограммой, сглаженным сигналом и отображением текущей матрицы переходов.
preview
Переосмысливаем классические стратегии (Часть 14): Высоковероятные ситуации

Переосмысливаем классические стратегии (Часть 14): Высоковероятные ситуации

В трейдерском сообществе хорошо известны торговые стратегии с высокой вероятностью успеха, но, к сожалению, они недостаточно четко определены. В этой статье мы попытаемся найти эмпирический и алгоритмический способы точного определения того, что представляет собой ситуация с высокой вероятностью успеха (high probability setup), а также выявить и использовать такие ситуации. Применяя деревья градиентного бустинга (Gradient Boosting Trees), мы продемонстрируем, как читатель может улучшить производительность произвольной торговой стратегии и более четко и понятно донести до компьютера точную задачу, которую необходимо выполнить.
preview
Разработка системы репликации (Часть 42): Проект Chart Trade (I)

Разработка системы репликации (Часть 42): Проект Chart Trade (I)

Давайте создадим что-нибудь поинтереснее. Не хочу портить сюрприз, поэтому следите за статьей, чтобы лучше понять. С самого начала этой серии о разработке системы репликации/моделирования, я говорил, что идея состоит в том, чтобы использовать платформу MetaTrader 5 одинаково как в разрабатываемой нами системе, так и на реальном рынке. Важно, чтобы это было сделано должным образом. Никто не хочет тренироваться и учиться сражаться, используя одни инструменты, в то время как во время боя ему придется пользоваться другими.
preview
Как внедрить метапромптинг торговых сигналов в советнике MQL5

Как внедрить метапромптинг торговых сигналов в советнике MQL5

Метапромптинг — подход, при котором LLM сама оптимизирует торговые инструкции на основе реального P&L и метрик качества сигналов. В статье показана практическая реализация на Python и MQL5: реестр версий промптов, исполнительный агент, оценщик по directional accuracy и profit factor и мета-LLM, которая в цикле генерирует улучшения. Решение встраивается в советник без остановки торговли.
preview
Детерминированный алгоритм дендритных клеток — Deterministic Dendritic Cell Algorithm (dDCA)

Детерминированный алгоритм дендритных клеток — Deterministic Dendritic Cell Algorithm (dDCA)

Представлена адаптация детерминированного алгоритма дендритных клеток (dDCA) для задач непрерывной оптимизации. Алгоритм, вдохновлённый Теорией Опасности иммунной системы, использует механизм накопления сигналов для автоматического баланса между исследованием и эксплуатацией пространства поиска.
preview
Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (STFlow)

Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (STFlow)

Статья знакомит с фреймворком STFlow, который способен формировать устойчивое совместное представление текущего состояния рынка и динамики последних событий, обеспечивая высокую чувствительность к микроимпульсам при сохранении стабильности обработки. Реализован базовый модуль ICE, который аккумулирует потоки цены и событий, создавая надёжный фундамент для дальнейшей агрегации и анализа.
preview
Оптимизация портфеля на языках Python и MQL5

Оптимизация портфеля на языках Python и MQL5

В этой статье рассмотрены передовые методы оптимизации портфеля с использованием языков Python и MQL5 на платформе MetaTrader 5. В ней демонстрируется, как разрабатывать алгоритмы для анализа данных, распределения активов и генерации торговых сигналов, подчеркивая значимость принятия решений на основе данных в современном финансовом менеджменте и снижении рисков.
preview
Разработка инструментария для анализа движения цен (Часть 18): Введение в теорию четвертей (III) — Quarters Board

Разработка инструментария для анализа движения цен (Часть 18): Введение в теорию четвертей (III) — Quarters Board

В этой статье мы улучшим оригинальный скрипт Quarters, добавив доску Quarters Board — инструмент, позволяющий переключать уровни четвертей непосредственно на графике без необходимости переписывать код. Вы сможете легко включать/отключать определенные уровни, а советник сообщит о направлении тренда, чтобы помочь вам лучше понимать движения рынка.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 8): Анализ нескольких стратегий (2)

Создание самооптимизирующихся советников на MQL5 (Часть 8): Анализ нескольких стратегий (2)

Присоединяйтесь к нашему продолжению обсуждения, в котором мы объединим наши первые две торговые стратегии в ансамблевую торговую стратегию. Мы продемонстрируем различные возможные схемы комбинирования нескольких стратегий, а также способы управления пространством параметров, чтобы обеспечить возможность эффективной оптимизации даже при увеличении количества параметров.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (III) — Анализ индикаторов

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (III) — Анализ индикаторов

В настоящей статье продолжим рассказ о советнике «Заголовки новостей», представив специальную полосу «Анализ индикаторов» (indicator insights) — компактное отображение на графике ключевых технических сигналов, генерируемых популярными индикаторами, такими как RSI, MACD, Stochastic и CCI. Такой подход устраняет необходимость в нескольких подокнах индикаторов в терминале MetaTrader 5, сохраняя ваше рабочее пространство чистым и эффективным. Используя MQL5 API для доступа к данным индикаторов в фоновом режиме, мы можем обрабатывать и визуализировать рыночную информацию в режиме реального времени с помощью пользовательской логики.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 75): Использование Awesome Oscillator и конвертов

Возможности Мастера MQL5, которые вам нужно знать (Часть 75): Использование Awesome Oscillator и конвертов

Инструмент Awesome Oscillator от Билла Уильямса и канал конвертов (Envelopes Channel) — это сочетание, которое можно использовать взаимодополняющим образом в составе советника MQL5. Мы используем Awesome Oscillator за его способность выявлять тренды, а канал конвертов используется для определения уровней поддержки/сопротивления. Как обычно, мы используем Мастер MQL5 для построения паттернов и тестирования потенциала, который может иметь эта пара индикаторов.
preview
Категориальная скрытая марковская модель на языке MQL5

Категориальная скрытая марковская модель на языке MQL5

В статье подробно рассматриваются теоретические основы и практическая реализация скрытой марковской модели с категориальными эмиссиями (Categorical HMM) на языке MQL5. На конкретных примерах демонстрируются процессы инференса, итерационного обучения параметров, онлайн-фильтрации, а также методология выбора оптимальной архитектуры модели по информационным критериям AIC/BIC.
preview
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 6)

Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 6)

Статья является шестой частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT 5.0. В этой части я опишу основные изменения в нашем первом рефакторинге, получение рабочего проекта наших классов построения пакетов, создание пакетов PUBLISH и PUBACK, а также семантику кодов причин PUBACK.
preview
Алгоритм извлечения торговых правил из паттернов в MQL5

Алгоритм извлечения торговых правил из паттернов в MQL5

Статья показывает, как формализовать интуитивно замеченные ценовые паттерны и превратить их в статистически проверенные торговые сигналы. Советник кодирует последовательности баров в бинарные строки U/D и для каждого паттерна вычисляет пять независимых метрик: поддержку, уверенность, лифт, хи-квадрат и байесовскую вероятность. Позиция открывается только тогда, когда текущий паттерн совпадает с историческим правилом и все фильтры пройдены — динамический лот масштабируется по силе сигнала, стоп и тейк рассчитываются через дневной ATR.
preview
Моделирование рынка (Часть 01): Кросс-ордера (I)

Моделирование рынка (Часть 01): Кросс-ордера (I)

Сегодня мы начнем второй этап, на котором рассмотрим вопрос о системе репликации/моделирования рынка. Для начала мы покажем возможное решение для кросс-ордеров. Я покажу решение, но оно еще не окончательное, это будет вариант решения проблемы, решить которую предстоит в ближайшем будущем.
preview
От начального до среднего уровня: Рекурсия

От начального до среднего уровня: Рекурсия

В этой статье мы рассмотрим очень интересную и довольно интересную концепцию программирования, хотя к ней следует относиться с большой осторожностью, поскольку неправильное её использование или непонимание превращает относительно простые программы в нечто неоправданно сложное. Но правильное использование и идеальная адаптация в одинаково подходящих ситуациях делают рекурсию отличным союзником в решении вопросов, которые в другом случае были бы гораздо более трудоемкими и длительными. Представленные здесь материалы предназначены только для изучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.
preview
Нейросети в трейдинге: Потоковые модели с остаточной высокочастотной адаптацией (Окончание)

Нейросети в трейдинге: Потоковые модели с остаточной высокочастотной адаптацией (Окончание)

Мы завершаем практическую интеграцию ResFlow в MQL5 через объект верхнего уровня CNeuronResFlow. Он объединяет LTR на базе EVA-Flow и HTR, формирует контекст и карты признаков, синхронизирует временные масштабы и реализует прямой и обратный проход с OpenCL. Тестирование на исторических данных EURUSD H1 показало согласованность потоков и выявило риски внутрисделочных просадок. Материал поможет собрать, обучить и проверить модель в MetaTrader 5.
preview
Как реализовать R/S-анализ и индикатор Хёрста в MQL5

Как реализовать R/S-анализ и индикатор Хёрста в MQL5

Индикатор показателя Хёрста для MQL5 реализован на основе R/S-анализа с OLS-регрессией в log-log пространстве. Теоретическая опора — результаты Gatheral–Jaisson–Rosenbaum (2014), согласно которым волатильность — дробное броуновское движение с H ≈ 0.10. Индикатор оценивает H в скользящем окне, выделяет антиперсистентный (H < 0.3), нейтральный и трендовый (H > 0.5) режимы, окрашивает линию и подаёт алерт при смене режима, помогая выбирать тип стратегии и управлять риском.
preview
Разработка системы репликации (Часть 52): Всё усложняется (IV)

Разработка системы репликации (Часть 52): Всё усложняется (IV)

В этой статье мы изменим указатель мыши, чтобы иметь возможность взаимодействовать с индикатором управления, поскольку он работает нестабильно.
preview
Криптография в MQL5: Шифрование, хеширование и защита данных

Криптография в MQL5: Шифрование, хеширование и защита данных

В данной статье рассматривается интеграция криптографии в MQL5 с целью повышения безопасности и функциональности торговых алгоритмов. Мы рассмотрим основные методы криптографии и реализуем их в автоматической торговле.
preview
Нейросети в трейдинге: Оценка риска по несогласованности представлений (ReGEN-TAD)

Нейросети в трейдинге: Оценка риска по несогласованности представлений (ReGEN-TAD)

Статья раскрывает фреймворк ReGEN-TAD для оценки рыночного риска через несогласованность представлений, объединяющий генеративную проверку (реконструкция и прогноз) и ансамблевый Anomaly Score с факторной интерпретацией. Показана логика согласования параллельных представлений и их расхождений. На практике реализован первый шаг в MQL5 — свёрточный токенизатор, формирующий компактный эмбеддинг окна рынка для последующей диагностики режимов.
preview
От начального до среднего уровня: Объединение (I)

От начального до среднего уровня: Объединение (I)

В данной статье мы рассмотрим, что такое объединение. Здесь, с помощью экспериментов, мы проанализируем первые конструкции, в которых можно использовать объединение. Однако то, что будет показано здесь, - лишь основная часть единого набора концепций и информации, которые будут рассмотрены в следующих статьях. Представленные здесь материалы предназначены только для обучения. Ни в коем случае нельзя рассматривать это приложение как окончательное, цели которого будут иные, кроме изучения представленных концепций.