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

icon

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

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

Новая статья
последние | лучшие
preview
Кодирование свечных моделей (Часть 3): Частотный анализ односвечных структур

Кодирование свечных моделей (Часть 3): Частотный анализ односвечных структур

В данной статье представлена схема частотного анализа закодированных свечных паттернов в MQL5. Преобразуя свечи в буквенные символы, можно анализировать историческое движение цен как статистическую последовательность, а не как визуальный график. Используя пару GBPUSD и золото на нескольких таймфреймах, в этом исследовании мы изучаем частоту появления отдельных типов свечей, выявляем доминирующие рыночные структуры и показываем симметрию между бычьими и медвежьими движениями цен. Результаты закладывают количественную основу для обнаружения паттернов и подготавливают почву для анализа многосвечных последовательностей и их прогностического потенциала в алгоритмических торговых системах.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 6): Объединение рыночной обратной связи и адаптации модели

Интеграция MQL5 с пакетами обработки данных (Часть 6): Объединение рыночной обратной связи и адаптации модели

В этой части рассматривается объединение рыночной обратной связи в реальном времени – результатов текущих сделок, изменений волатильности и сдвигов ликвидности – с адаптивным обучением модели. Это сделает торговую систему отзывчивой и способной к постоянному самосовершенствованию.
preview
Индикатор Sigma Score для MetaTrader 5: Простой детектор статистических аномалий

Индикатор Sigma Score для MetaTrader 5: Простой детектор статистических аномалий

Создайте практический индикатор Sigma Score для MetaTrader 5 с нуля и изучите, что он на самом деле измеряет – z-оценку логарифмических доходностей: на сколько стандартных отклонений последнее движение отличается от недавнего среднего. В статье рассматривается каждый блок кода в OnInit(), OnCalculate() и OnDeinit(), а также интерпретация пороговых значений, например ±2. Индикатор Sigma Score применяется как простой индикатор рыночного стресса для торговли на основе возврата к среднему и моментума.
preview
Мастер-класс по созданию пользовательских индикаторов (Часть 1): Разработка индикатора Supertrend на MQL5

Мастер-класс по созданию пользовательских индикаторов (Часть 1): Разработка индикатора Supertrend на MQL5

Создайте индикатор Supertrend без перерисовки на языке MQL5 для MetaTrader 5 с нуля. Используются хэндл iATR и CopyBuffer для получения волатильности, буферы привязываются через SetIndexBuffer, а графические построения (DRAWCOLORCANDLES и две полосы, отображаемые линиями) настраиваются через PlotIndexSetInteger. Логика обновляется только на закрытых барах и использует EMPTY_VALUE для скрытия неактивных полос, при этом используются входные параметры atrPeriod и atrMultiplier. Получается аккуратный индикатор, накладываемый поверх графика, готовый для использования в советниках, с документированными буферами для стратегий и сигналов.
preview
Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Объект верхнего уровня)

Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Объект верхнего уровня)

Продолжаем адаптацию фреймворка D2Skill и переходим к построению объекта верхнего уровня CD2Skill для двухуровневой коррекции торговой политики. Механизм интегрируется в архитектуру ORION и дополняет существующий Актёр банками Task Skills и Step Skills. Показаны принципы их инициализации, включения в прямой проход и обучения по псевдоостаткам. Особое внимание уделяется сохранению исходного вычислительного конвейера, причинного порядка и независимости Критика.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 7): Построение многоагентных сред для межсимвольного взаимодействия

Интеграция MQL5 с пакетами обработки данных (Часть 7): Построение многоагентных сред для межсимвольного взаимодействия

В статье представлена полная интеграция Python и MQL5 для многоагентной торговли: получение данных из MT5, расчет индикаторов, решения отдельных агентов и взвешенный консенсус, формирующий единое торговое решение. Сигналы сохраняются в JSON-файле, отдаются через Flask и используются советником MQL5 для исполнения сделок с расчетом объема позиции и уровней SL/TP на основе ATR. Маршруты Flask обеспечивают безопасное управление жизненным циклом и мониторинг состояния.
preview
Изучение стандартной библиотеки MQL5 (Часть 13): Применение библиотеки математических решателей в торговле

Изучение стандартной библиотеки MQL5 (Часть 13): Применение библиотеки математических решателей в торговле

Мы представляем полный рабочий процесс для адаптивной фильтрации в MQL5 с использованием решателя CNlEq, подобного алгоритму Левенберга — Марквардта. Советник подбирает параметры модели VAMAC — две экспоненциальные скользящие средние (EWMA) с масштабированием на основе ATR — путем передачи остатков и Якобиана через цикл механизма обратного обмена с решателем CNlEq, с возможностью использования численных или аналитических производных. Код, инструкции по настройке и тесты по паре GBPUSD на таймфрейме H1 показывают, как заменить статические пороги динамической переоценкой на закрытии каждого бара.
preview
Автоматизация индикатора Market Memory Zones: Зоны, куда цена с высокой вероятностью вернется

Автоматизация индикатора Market Memory Zones: Зоны, куда цена с высокой вероятностью вернется

В этой статье Market Memory Zones превращается из сугубо визуальной концепции на графике, в полноценный советник MQL5. Советник автоматизирует зоны смещения, изменения структуры (CHoCH) и снятия ликвидности с помощью фильтров ATR и свечной структуры, применяет подтверждение на младшем таймфрейме и рассчитывает размер позиции с учетом риска, используя динамический стоп-лосс и тейк-профит на основе структуры. Рассматривается архитектура кода для обнаружения зон, входов в сделки, управления сделками и визуализации, а также краткий обзор тестирования на исторических данных.
preview
Изучение стандартной библиотеки MQL5 (Часть 14): Создание советника для динамического хеджирования с использованием ALGLIB (ap.mqh)

Изучение стандартной библиотеки MQL5 (Часть 14): Создание советника для динамического хеджирования с использованием ALGLIB (ap.mqh)

В этой статье представлен ap.mqh, порт ALGLIB для MQL5, и продемонстрировано его использование в многоактивных сценариях работы, требующих надежной линейной алгебры. Рассматривается почему встроенных индикаторов недостаточно, а затем реализуются полиномиальная регрессия, индикатор скользящей корреляционной матрицы и адаптивный оценщик коэффициента хеджа с использованием гребневой ​​регрессии с разложением Холецкого. Практический код показывает, как вычислять z-показатели спреда и согласованно исполнять парные сделки полностью в MetaTrader 5.
preview
От начального до среднего уровня: Классы (II)

От начального до среднего уровня: Классы (II)

Эта статья призвана быть как можно более дидактичной, поскольку тема, которую мы будем рассматривать, сама по себе нередко вызывает немалую путаницу. Поэтому, уважаемый читатель, постарайтесь применить на практике то, что здесь объясняется. Если у вас возникнут какие-либо вопросы, обязательно оставляйте комментарии, ведь понять деструкторы — задача не из самых простых.
preview
Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Окончание)

Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Окончание)

Статья завершает адаптацию D2Skill к алгоритмической торговле и собирает полный учебный контур. Разобраны обучение Forecast, базового Актёра и Критиков, формирование Task и Step Skills и калибровка Utility на парных траекториях. Для каждого шага приведены настройки, кодовые точки интеграции и контрольные метрики. Итоговое OOS‑сравнение одной политики с памятью и без неё показывает влияние двухуровневой памяти на результат и риск.
preview
Интеграция MQL5 с пакетами обработки данных (часть 8): Использование графовых нейронных сетей для выявления зон ликвидности

Интеграция MQL5 с пакетами обработки данных (часть 8): Использование графовых нейронных сетей для выявления зон ликвидности

В этой статье показано, как представить рыночную структуру в MQL5 в виде графа, представив максимумы и минимумы свингов как узлы графа с набором признаков. В статье обучается графовая нейронная сеть для оценки потенциальных зон ликвидности, после чего модель экспортируется в ONNX, а инференс в реальном времени выполняется в советнике. Рассматривается построение пайплайна данных, интеграция модели, визуализация зон на графике и использование сигналов для исполнения сделок по заданным правилам.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 92): Использование индексации B-дерева и байесовской нейронной сети в пользовательском классе сигнала

Возможности Мастера MQL5, которые вам нужно знать (Часть 92): Использование индексации B-дерева и байесовской нейронной сети в пользовательском классе сигнала

В этой статье представлен очередной пользовательский класс сигнала MQL5 – CSignalBTreeBayesian. Здесь алгоритм сбалансированного дерева объединяется с нейронной сетью, построенной на байесовских принципах, для создания еще одного пользовательского сигнала. Благодаря Мастеру MQL5 его можно тестировать отдельно или вместе с другими сигналами.
preview
Разработка инструментария для анализа Price Action (Часть 71): Картирование структуры гэпов выходного дня в MQL5

Разработка инструментария для анализа Price Action (Часть 71): Картирование структуры гэпов выходного дня в MQL5

В статье представлена реализация на MQL5 на основе графических объектов, которая определяет гэпы выходного дня по разрывам времени и отображает их непосредственно на графике. Она управляет графическими объектами, отслеживает переходы состояний – новый (FRESH), частично заполнен (PARTIAL), реакция (REACTION), заполнен (FILLED) – и сохраняет завершенные гэпы как исторические зоны. В результате создается воспроизводимая система для отслеживания возврата цены к структурам гэпов выходного дня и их заполнения.
preview
Моделирование рынка: Position View (XV)

Моделирование рынка: Position View (XV)

В этой статье я постараюсь как можно проще объяснить, как можно использовать обмен сообщениями между приложениям. Цель в том, чтобы вы могли создать что-то работоспособное максимально простым и эффективным способом, когда это возможно. Не знаю, удастся ли мне донести идею, лежащую в основе этой концепции, поскольку тому, кто сталкивается с ней впервые, её не так-то просто понять. Кроме того, я воспользуюсь случаем, чтобы показать вам, как изменить систему репликации/моделирования, чтобы вы могли отлаживать советник или любой другой код, который разрабатываете. И всё это — столь же просто и прямо.
preview
От начального до среднего уровня: Классы (III)

От начального до среднего уровня: Классы (III)

В этой статье мы рассмотрим, как лучше контролировать код при работе с объектно-ориентированным программированием. Хотя мы только начинаем изучать объектно-ориентированное программирование, то, что мы здесь рассмотрим, поможет вам понять различные аспекты. Это также поможет развеять сомнения, которые могут возникнуть позже.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 93): Использование суффиксного автомата и автокодировщика в пользовательском классе управления капиталом

Возможности Мастера MQL5, которые вам нужно знать (Часть 93): Использование суффиксного автомата и автокодировщика в пользовательском классе управления капиталом

В этой статье мы переходим к пользовательской реализации класса Мастера MQL5 для управления капиталом. Пользовательский класс CMoneySuffixAE создается путем объединения алгоритма суффиксного автомата и нейронной сети автокодировщика. Как и ранее, это решение можно тестировать с советниками, собранными Мастером MQL5 и настраиваемыми с различными сигналами входа и вариантами трейлинг-стопа.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 9): Адаптивная оценка волатильности на основе энтропии

Интеграция MQL5 с пакетами обработки данных (Часть 9): Адаптивная оценка волатильности на основе энтропии

В этой статье представлен сквозной пайплайн: сбор данных MetaTrader 5, создание признаков на основе энтропии, волатильности и тренда, обучение классификатора PyTorch и предоставление прогнозов через API Flask. Советник MQL5 на каждом тике отправляет скользящее окно цен, получает вероятность и режим волатильности, а затем адаптивно рассчитывает размер позиции и расстояние до стоп-лосса. В результате получается ясная схема интеграции инференса машинного обучения с MetaTrader 5.
preview
Моделирование рынка: Position View (XVI)

Моделирование рынка: Position View (XVI)

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

Нейросети в трейдинге: Двухуровневая адаптация торговой политики (Окончание)

Статья завершает адаптацию D2Skill к алгоритмической торговле и собирает полный учебный контур. Разобраны обучение Forecast, базового Актёра и Критиков, формирование Task и Step Skills и калибровка Utility на парных траекториях. Для каждого шага приведены настройки, кодовые точки интеграции и контрольные метрики. Итоговое OOS‑сравнение одной политики с памятью и без неё показывает влияние двухуровневой памяти на результат и риск.
preview
От начального до среднего уровня: Очереди, списки и деревья (VI)

От начального до среднего уровня: Очереди, списки и деревья (VI)

В этой статье мы вернёмся к реализации дерева. Теперь, когда мы знакомы с основными принципами работы конструкторов и деструкторов, мы наконец сможем исправить код, представленный в прошлой статье. Приготовьтесь к настоящему приключению в программировании на MQL5.