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

icon

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

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

Новая статья
последние | лучшие
preview
Автоматизация торговых стратегий на MQL5 (Часть 16): Пробой полуночного диапазона посредством ценового действия Прорыв структуры (BoS)

Автоматизация торговых стратегий на MQL5 (Часть 16): Пробой полуночного диапазона посредством ценового действия Прорыв структуры (BoS)

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

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

Доступность новостей является критическим фактором при торговле в терминале MetaTrader 5. Несмотря на наличие множества новостных API, многие трейдеры сталкиваются с трудностями доступа к ним и их эффективной интеграции в свою торговую среду. В ходе настоящего обсуждения нашей целью является разработать оптимизированное решение, которое выводило бы новости непосредственно на график — там, где они больше всего нужны. Мы добьемся этого, создав советника «Заголовки новостей», который отслеживает и отображает обновления новостей в режиме реального времени из источников API.
preview
Нейросети в трейдинге: Распутывание структурных компонентов (Энкодер)

Нейросети в трейдинге: Распутывание структурных компонентов (Энкодер)

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

Нейросети в трейдинге: Разностное моделирование рыночной микроструктуры (Блок разностей)

В статье представлена практическая реализация подходов фреймворка EDCFlow с акцентом на модуль Multi-Scale Difference. Показано, как последовательное сжатие признаков, вычисление разностей на нескольких масштабах и адаптивное мультимасштабное внимание позволяют формировать структурированное и информативное представление потоковых данных.
preview
Нелинейные признаки OHLC из эллиптических кривых

Нелинейные признаки OHLC из эллиптических кривых

В статье рассматривается проекция дневных свечей EURUSD на эллиптическую кривую secp256k1 и извлечение 96 признаков (EC+TA) для прогноза направления следующей свечи в CatBoost. Показаны маппинг цен на кривую и конвейер обучения на 2000 барах D1; полная модель достигает AUC на тесте 0,6508, вклад EC-признаков — 60,6%. Материалы пригодны для воспроизведения в Python/MetaTrader 5.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 20): Символьная регрессия

Возможности Мастера MQL5, которые вам нужно знать (Часть 20): Символьная регрессия

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

Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

Мы проанализируем взаимосвязь между валютными курсами и государственными облигациями. Облигации являются одной из самых популярных форм ценных бумаг с фиксированным доходом. Посмотрим, можно ли улучшить классическую стратегию с помощью ИИ.
preview
Статистический арбитраж на основе коинтегрированных акций (Часть 1): Tесты Энгла — Грейнджера и Йохансена на коинтеграцию

Статистический арбитраж на основе коинтегрированных акций (Часть 1): Tесты Энгла — Грейнджера и Йохансена на коинтеграцию

Эта статья призвана стать понятным и дружелюбным введением для трейдеров в наиболее распространенные тесты на коинтеграцию, а также простым руководством по интерпретации их результатов. Тесты Энгла — Грейнджера и Йохансена позволяют выявлять статистически значимые пары или группы активов, обладающие общей долгосрочной динамикой. Тест Йохансена особенно полезен для портфелей из трех и более активов, так как он рассчитывает силу коинтеграционных векторов для всех инструментов одновременно.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (VI) — Стратегия отложенных ордеров для торговли на новостях

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

В настоящей статье мы сосредоточим внимание на интеграции логики исполнения ордеров, основанной на новостях, что позволит советнику действовать, а не просто информировать. Присоединяйтесь к нам, и мы рассмотрим, как реализовать автоматическое исполнение сделок на MQL5 и превратить советник «Заголовки новостей» в полностью адаптивную торговую систему. Советники предлагают значительные преимущества разработчикам алгоритмов благодаря широкому спектру поддерживаемых ими функций. До сих пор мы сосредоточились на создании инструмента для представления новостей и событий календаря, оснащенного встроенными полосами аналитики с использованием ИИ и техническими индикаторами.
preview
Нейросети в трейдинге: Пространственно-временная модель состояния для анализа финансовых данных (STSSM-блок)

Нейросети в трейдинге: Пространственно-временная модель состояния для анализа финансовых данных (STSSM-блок)

В статье раскрывается внутренняя механика STSSM-блока и показано, как современные SSM-подходы можно адаптировать под событийную логику спайковых моделей, сохранив высокую скорость и выразительность представлений. Мы шаг за шагом поднимаемся по архитектуре, превращая строгую теорию авторского решения в практичный инструмент для анализа финансовых временных рядов.
preview
Код, слёзы и Algo Forge

Код, слёзы и Algo Forge

В статье рассматривается переход на MQL5 Algo Forge как современный и удобный формат публикации программного кода и вложений к статьям. Использование репозиториев вместо классических ZIP-архивов и исходных кодов позволяет поддерживать проекты в актуальном состоянии, оперативно вносить правки и профессионально взаимодействовать с аудиторией. Приводятся рекомендации по быстрой миграции наработок в облачную среду через интерфейс MetaEditor.
preview
Определение справедливых курсов валют по ППС с помощью данных МВФ

Определение справедливых курсов валют по ППС с помощью данных МВФ

Создание системы анализа валютных курсов на основе паритета покупательной способности (ППС) на Python. Автор разработал алгоритм с 5 методами расчета справедливых курсов, используя данные МВФ. Практическое руководство по фундаментальному анализу валют, обработке экономических данных и интеграции с торговыми системами. Полный код в open source.
preview
Алгоритм Бизона — Bison Algorithm (BIA)

Алгоритм Бизона — Bison Algorithm (BIA)

Новый оптимизационный метод Bison Algorithm (BIA) — две стратегии, заимствованные из поведения бизонов, для непрерывных задач с одной целевой функцией. Ключевыми особенностями BIA являются два основополагающих принципа, заимствованных из поведения бизонов, это способность к динамичному перемещению и оборонительная стратегия.
preview
Теория категорий (Часть 9): Действия моноидов

Теория категорий (Часть 9): Действия моноидов

Статья продолжает серию о реализации теории категорий в MQL5. В статье рассматриваются действия моноидов (monoid actions) как средство преобразования моноидов, описанных в предыдущей статье, для увеличения областей их применения.
preview
Нейросети в трейдинге: Вероятностное прогнозирование временных рядов (Энкодер)

Нейросети в трейдинге: Вероятностное прогнозирование временных рядов (Энкодер)

Предлагаем познакомиться с новым подходом, который объединяет классические методы и современные нейросети для анализа временных рядов. В статье подробно раскрыта архитектура и принципы работы модели K²VAE.
preview
Нейросети в трейдинге: Обучение метапараметров на основе гетерогенности (HimNet)

Нейросети в трейдинге: Обучение метапараметров на основе гетерогенности (HimNet)

Предлагаем познакомиться с фреймворком HimNet, который сочетает гибкость пространственно-временной адаптации с высокой вычислительной эффективностью, позволяя получать точные и стабильные прогнозы на финансовых временных рядах. В статье подробно показано, как его ключевые компоненты взаимодействуют между собой, превращая сложные алгоритмы в управляемую архитектуру.
preview
Трейдинг с экономическим календарем MQL5 (Часть 2): Создание новостной панели

Трейдинг с экономическим календарем MQL5 (Часть 2): Создание новостной панели

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

Разработка системы репликации - Моделирование рынка (Часть 04): Внесение корректировок (II)

Сегодня мы продолжим разработку системы и управления. Без возможности управления сервисом сложно двигаться вперед и совершенствовать систему.
preview
Разработка системы репликации (Часть 27): Проект советника — класс C_Mouse (I)

Разработка системы репликации (Часть 27): Проект советника — класс C_Mouse (I)

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

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

Эта статья позволит вам увидеть, как Mamba4Cast превращает теорию в рабочий торговый алгоритм и подготовить почву для собственных экспериментов. Не упустите возможность получить полный спектр знаний и вдохновения для развития собственной стратегии.
preview
Нейросети в трейдинге: Асинхронная обработка событий в потоковых моделях (EVA-Flow)

Нейросети в трейдинге: Асинхронная обработка событий в потоковых моделях (EVA-Flow)

В статье знакомимся с фреймворком EVA-Flow для низколатентной и высокочастотной оценки оптического потока на основе событийных данных. Модель сочетает адаптивное представление потока через Unified Voxel Grid с пространственно-временной рекуррентной архитектурой SMR, обеспечивая стабильное и точное прогнозирование движения в режиме реального времени.
preview
Архитектура коллективных торговых решений ИИ-агентов

Архитектура коллективных торговых решений ИИ-агентов

Статья описывает архитектуру мультиагентной торговой системы на базе языковой модели grok-4-fast, где вместо одного системного промпта работают четыре независимых аналитика с принципиально разными ролями: бык, медведь, риск-менеджер и арбитр. Три аналитика запускаются параллельно через ThreadPoolExecutor и за 3–5 секунд формируют аргументированные позиции по одним и тем же рыночным данным, после чего детерминированный судья выносит финальный вердикт по жёстким правилам.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 15): Метод опорных векторов с полиномом Ньютона

Возможности Мастера MQL5, которые вам нужно знать (Часть 15): Метод опорных векторов с полиномом Ньютона

Метод опорных векторов (Support Vector Machines) классифицирует данные на основе предопределенных классов, исследуя эффекты увеличения их размерности. Это метод обучения с учителем, который довольно сложен, учитывая его потенциальную возможность работы с многомерными данными. В этой статье мы рассмотрим, как эффективнее реализовать базовую версию двумерных данных с помощью полинома Ньютона при классификации ценовых действий.
preview
Оптимизация наследованием крови — Blood inheritance optimization (BIO)

Оптимизация наследованием крови — Blood inheritance optimization (BIO)

Представляю вашему вниманию мой новый популяционный алгоритм оптимизации BIO (Blood Inheritance Optimization), вдохновленный системой наследования групп крови человека. В этом алгоритме каждое решение имеет свою "группу крови", определяющую способ его эволюции. Как и в природе, группа крови ребенка наследуется по особым правилам, в BIO новые решения получают свои характеристики через систему наследования и мутаций.
preview
Машинное обучение и Data Science (Часть 42): Прогнозирование фондовых рынков с использованием N-BEATS в Python

Машинное обучение и Data Science (Часть 42): Прогнозирование фондовых рынков с использованием N-BEATS в Python

N-BEATS — это революционная модель глубокого обучения, разработанная для прогнозирования временных рядов. Она была выпущена в попытке превзойти возможности классических моделей прогнозирования временных рядов, таких как ARIMA, PROPHET, VAR и др. Познакомимся с данной моделью и посмотрим на возможности ее применения для прогнозирования фондового рынка.
preview
Разработка динамического мультивалютного советника (Часть 5): Скальпинг и свинг-трейдинг

Разработка динамического мультивалютного советника (Часть 5): Скальпинг и свинг-трейдинг

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

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

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

Пример стохастической оптимизации и оптимального управления

Настоящий советник, получивший название SMOC (что, вероятно, означает оптимальное управление стохастической моделью (Stochastic Model Optimal Control), является простым примером передовой алгоритмической торговой системы для MetaTrader 5. Он использует комбинацию технических индикаторов, прогностического контроля моделей и динамического управления рисками для принятия торговых решений. Советник включает в себя адаптивные параметры, определение размера позиции на основе волатильности и анализ трендов для оптимизации его работы в изменяющихся рыночных условиях.
preview
Преодоление ограничений машинного обучения (Часть 1): Нехватка совместимых метрик

Преодоление ограничений машинного обучения (Часть 1): Нехватка совместимых метрик

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

От новичка до эксперта: Развиваем географическую осознанность рынка с помощью визуализации на MQL5

Торговать без осознания сессии — все равно что ориентироваться без компаса: вы движетесь, но без определенной цели. Сегодня мы совершаем революцию в восприятии трейдерами рыночного тайминга, превращая обычные графики в динамичные географические отображения. Используя мощные возможности визуализации MQL5, мы создадим живую карту мира, которая подсвечивает активные торговые сессии в режиме реального времени, превращая абстрактные рыночные часы в интуитивно понятную визуальную информацию. Это путешествие отточит вашу психологию трейдинга и познакомит вас с методами программирования профессионального уровня, позволяющими преодолеть разрыв между сложной структурой рынка и практической, действенной информацией.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 6): Интеграция "всё в одном"

Построение модели для ограничения диапазона сигналов по тренду (Часть 6): Интеграция "всё в одном"

Одной из основных проблем является управление несколькими окнами графиков одной пары, на которых запущена одна и та же программа с разными функциями. Давайте обсудим, как объединить несколько интеграций в одну основную программу. Кроме того, мы поделимся идеями по настройке программы для вывода в журнал и рассмотрим успешную трансляцию сигнала в интерфейсе графика.
preview
Разработка инструментария для анализа движения цен (Часть 2): Скрипт аналитических комментариев

Разработка инструментария для анализа движения цен (Часть 2): Скрипт аналитических комментариев

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

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

В статье описана практическая реализация фреймворка HimNet на базе MQL5, который готов к интеграции в автоматическую торговлю. Мы показываем, как метапараметры, адаптированные под гетерогенность, превращают модель в универсальный инструмент, способный справляться с изменчивой волатильностью.
preview
Разработка системы репликации (Часть 56): Адаптация модулей

Разработка системы репликации (Часть 56): Адаптация модулей

Несмотря на то, что модули уже взаимодействуют друг с другом должным образом, при попытке использовать указатель мыши в сервисе репликации, возникает ошибка. Нам нужно исправить это прежде, чем переходить к следующему этапу. Кроме того, была исправлена проблема в коде индикатора мыши. Таким образом, эта версия наконец-то стала стабильной и правильно доработанной.
preview
Гауссовcкие процессы в машинном обучении (Часть 2): Реализация и тестирование модели классификации в MQL5

Гауссовcкие процессы в машинном обучении (Часть 2): Реализация и тестирование модели классификации в MQL5

В этой части мы рассмотрим реализацию ключевых интерфейсов библиотеки Гауссовских процессов на MQL5 — IKernel, ILikelihood и IInference. Также мы продемонстрируем её работу на синтетических данных и и напишем индикаторы для классификации и регрессии, демонстрирующие её работу в онлайн-режиме — с переобучением модели на каждом новом баре.
preview
Алгоритм обратного поиска — Backtracking Search Algorithm (BSA)

Алгоритм обратного поиска — Backtracking Search Algorithm (BSA)

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

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

Сегодня мы рассмотрим, как работать со статическими переменными. Этот вопрос часто ставит в тупик многих программистов, как начинающих, так и имеющих некоторый опыт, и это связано с тем, что существует несколько советов и рекомендаций, которые необходимо соблюдать при использовании данного механизма. Представленные здесь материалы предназначены исключительно для дидактических целей. Ни в коем случае нельзя рассматривать это как приложение, чьей целью будет что-то иное помимо изучения и освоения представленных концепций.
preview
Разработка инструментария для анализа движения цен (Часть 8): Панель метрик

Разработка инструментария для анализа движения цен (Часть 8): Панель метрик

Будучи одним из самых мощных наборов инструментов для анализа движения цен, панель метрик (Metrics Board) разработана для упрощения анализа рынка путем мгновенного предоставления основных рыночных показателей всего одним нажатием кнопки. Каждая кнопка выполняет определенную функцию: анализирует силу тренда, объем и другие ключевые показатели. Этот инструмент предоставляет точные данные в реальном времени, когда они вам больше всего нужны. Давайте подробнее рассмотрим его особенности в этой статье.
preview
Разработка системы репликации (Часть 51): Все усложняется (III)

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

В данной статье мы разберемся с одним из самых сложных вопросов сферы программирования на MQL5: как правильно получить ID графика, и почему иногда объекты не строятся на графике. Представленные здесь материалы носят исключительно дидактический характер. Ни в коем случае нельзя рассматривать приложение ни с какой иной целью, кроме как для изучения и освоения представленных концепций.
preview
Пример CNA (сетевого анализа причинно-следственных связей), SMOC (оптимального управления стохастической моделью) и теории игр Нэша с Глубоким обучением

Пример CNA (сетевого анализа причинно-следственных связей), SMOC (оптимального управления стохастической моделью) и теории игр Нэша с Глубоким обучением

Мы добавим Глубокое обучение к тем трем примерам, которые были опубликованы в предыдущих статьях, и сравним результаты с предыдущими. Цель состоит в том, чтобы научиться каким образом добавлять Глубокое обучение (DL) в другие советники.