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

icon

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

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

Новая статья
последние | лучшие
preview
Знакомство с языком MQL5 (Часть 20): Введение в гармонические паттерны

Знакомство с языком MQL5 (Часть 20): Введение в гармонические паттерны

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

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

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

Введение в MQL5 (Часть 12): Руководство для начинающих по созданию пользовательских индикаторов

В статье мы создадим собственный индикатор на MQL5, применив проектный подход. Также мы рассмотрим индикаторные буферы, свойства и визуализацию трендов в виде понятного для новичков пошагового руководства.
preview
Управление рисками (Часть 5): Интегрируем систему управления рисками в советник

Управление рисками (Часть 5): Интегрируем систему управления рисками в советник

В этой статье мы реализуем систему управления рисками, разработанную в предыдущих публикациях, и добавим индикатор Order Blocks, представленный в других статьях. Кроме того, будет проведено тестирование на исторических данных (backtest), чтобы можно было сравнить результаты с применением системы управления рисками и оценить влияние динамического риска.
preview
Оптимизация сообществом ученых — Community of Scientist Optimization (CoSO): Практика

Оптимизация сообществом ученых — Community of Scientist Optimization (CoSO): Практика

Продолжение темы оптимизации научным сообществом. CoSO следует рассматривать не как готовое решение, а как перспективную исследовательскую платформу. При должной доработке, CoSO может найти свою нишу в задачах, где важна адаптивность и устойчивость к изменениям, а время вычислений не критично.
preview
Архитектура коллективных торговых решений ИИ-агентов

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

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

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

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

Нейросети в трейдинге: От трансформеров к спайковым нейронам (SpikingBrain)

Фреймворк SpikingBrain демонстрирует уникальный подход к обработке данных: нейроны реагируют только на значимые события, эффективно фильтруя шум. Его событийная архитектура снижает вычислительные затраты, сохраняя ключевую информацию о движениях. Адаптивные пороги и возможность использования предварительно обученных модулей обеспечивают гибкость и масштабируемость модели.
preview
Нейросети в трейдинге: Пространственно-управляемая агрегация рыночных событий (STFlow)

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

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

Сила MetaTrader 5: от пошаговой отладки до защиты EX5 в одной среде

В статье рассматривается комплексный подход к разработке торговых алгоритмов: от настройки проекта и отладки логики до защиты готового продукта. Разбираются встроенные инструменты MetaEditor, включая пошаговый дебаггинг на реальных тиках, профилирование производительности и прямую интеграцию с C++ DLL для ускорения вычислений. Описывается методика защиты интеллектуальной собственности с помощью MQL5 Cloud Protector. Применение описанных техник позволяет превратить разработку эксперта из хаотичного поиска решений в системный процесс, существенно сокращая время разработки стратегии.
preview
От начального до среднего уровня: Объединение (I)

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

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

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

В нашей предыдущей статье мы представили простой скрипт Quarters Drawer. Продолжая тему, создадим советник для отслеживания четвертей и предоставления информации о потенциальной реакции рынка на этих уровнях. В статье описана разработка инструмента для обнаружения необходимых зон.
preview
Разработка инструментария для анализа Price Action (Часть 25): Пробой фракталов по двум EMA

Разработка инструментария для анализа Price Action (Часть 25): Пробой фракталов по двум EMA

Анализ Price Action – это фундаментальный подход к выявлению прибыльных сетапов. Однако вручную отслеживать движение цены и паттерны бывает сложно и долго. Для решения этой задачи мы разрабатываем инструменты, которые автоматически анализируют Price Action и подают своевременные сигналы при обнаружении потенциальных возможностей. В этой статье представлен надежный инструмент, который использует пробои фракталов в сочетании с EMA 14 и EMA 200 для генерации надежных торговых сигналов, помогая трейдерам принимать более обоснованные решения.
preview
Освоение быстрых сделок: Преодоление паралича исполнения

Освоение быстрых сделок: Преодоление паралича исполнения

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 29): Темпы обучения и многослойные перцептроны

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

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

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

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

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

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 28): Сети GAN в контексте темпа обучения

Темп обучения — это размер шага к цели обучения во многих алгоритмах машинного обучения. В статье мы изучим, какое влияние многочисленные форматы могут оказать на производительность генеративно-состязательной сети (Generative Adversarial Network, GAN) — разновидности нейронной сети, которую мы рассмотрели в одной из предыдущих статей.
preview
Разработка системы репликации (Часть 68): Настройка времени (I)

Разработка системы репликации (Часть 68): Настройка времени (I)

Сегодня мы продолжим работу над тем, чтобы заставить указатель мыши сообщать нам об оставшемся времени бара в периоды низкой ликвидности. Хотя на первый взгляд кажется, что всё просто, на самом деле эта задача гораздо сложнее. Это связано с некоторыми препятствиями, которые нам придется преодолеть. Поэтому важно, чтобы вы хорошо усвоили материал из первой части данной серии, чтобы понять следующие части.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 17): Ансамблевый интеллект

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

Все стратегии алгоритмической торговли сложны в настройке и обслуживании, независимо от их сложности — эта проблема актуальна как для новичков, так и для экспертов. В данной статье представлен коллективный интеллект, в которой модели с учителем и человеческая интуиция взаимодействуют друг с другом, чтобы преодолеть свои общие ограничения. Совместив стратегию на основе канала скользящих средних с моделью регрессии Риджа на тех же индикаторах, мы добиваемся централизованного управления, более быстрой самокорректировки и прибыльности систем, которые в противном случае были бы убыточными.
preview
Разработка системы репликации (Часть 53): Всё усложняется (V)

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

В этой статье мы рассмотрим важную тему, которую мало кто понимает: Пользовательские события. Опасности. Преимущества и ошибки, вызванные такими элементами. Данная тема является ключевой для тех, кто хочет стать профессиональным программистом на MQL5 или любом другом языке. Поэтому мы сосредоточимся на MQL5 и MetaTrader 5.
preview
Методы повторной выборки для оценки прогнозирования и классификации в MQL5

Методы повторной выборки для оценки прогнозирования и классификации в MQL5

В этой статье рассмотрим и реализуем методы оценки качества модели, которые используют один и тот же набор данных как для обучения, так и для проверки.
preview
Интеграция Discord с MetaTrader 5: Создание торгового бота с уведомлениями в реальном времени

Интеграция Discord с MetaTrader 5: Создание торгового бота с уведомлениями в реальном времени

В этой статье мы рассмотрим, как интегрировать MetaTrader 5 и сервер Discord, чтобы получать торговые уведомления в реальном времени из любой точки мира. Мы узнаем, как настроить платформу и Discord, чтобы обеспечить отправку оповещений в Discord, а также поговорим о проблемах безопасности, возникающих в связи с использованием WebRequest и вебхуков для таких способов оповещения.
preview
Знакомство с языком MQL5 (Часть 27): Освоение API и функции WebRequest в языке MQL5

Знакомство с языком MQL5 (Часть 27): Освоение API и функции WebRequest в языке MQL5

В этой статье рассматривается, как использовать функцию WebRequest() и API в языке MQL5 для взаимодействия с внешними платформами. Вы узнаете, как создать Telegram-бота, получать идентификаторы чатов и групп, а также отправлять, редактировать и удалять сообщения непосредственно из MetaTrader 5, и тем самым заложите прочный фундамент для интеграции API в ваши будущие проекты на языке MQL5.
preview
Разработка инструментария для анализа Price Action (Часть 23): Индикатор силы валют

Разработка инструментария для анализа Price Action (Часть 23): Индикатор силы валют

Знаете, что на самом деле определяет направление валютной пары? Его определяет сила каждой отдельной валюты. В этой статье мы будем измерять силу валюты, анализируя все пары, в которых она присутствует. Это позволит прогнозировать движение этих пар, исходя из относительной силы входящих в них валют. Читайте дальше, чтобы узнать больше.
preview
Машинное обучение и Data Science (Часть 44): Прогнозирование OHLC-рядов Forex методом векторной авторегрессии (VAR)

Машинное обучение и Data Science (Часть 44): Прогнозирование OHLC-рядов Forex методом векторной авторегрессии (VAR)

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

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

Мы завершаем практическую интеграцию ResFlow в MQL5 через объект верхнего уровня CNeuronResFlow. Он объединяет LTR на базе EVA-Flow и HTR, формирует контекст и карты признаков, синхронизирует временные масштабы и реализует прямой и обратный проход с OpenCL. Тестирование на исторических данных EURUSD H1 показало согласованность потоков и выявило риски внутрисделочных просадок. Материал поможет собрать, обучить и проверить модель в MetaTrader 5.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 62): Использование паттернов ADX и CCI с обучением с подкреплением TRPO

Возможности Мастера MQL5, которые вам нужно знать (Часть 62): Использование паттернов ADX и CCI с обучением с подкреплением TRPO

Осцилляторы ADX и CCI — это индикаторы следования за трендом и импульса, которые можно использовать в паре при разработке советника. Мы продолжаем тему, начатую в предыдущей статье, рассмотрением того, как обучение и обновление разработанной нами модели в процессе эксплуатации могут осуществляться благодаря обучению с подкреплением. Мы используем алгоритм, который еще не рассматривали в этой серии, известный как оптимизация политики доверенных регионов (Trusted Region Policy Optimization, TRPO). Как всегда, сборка советника с помощью Мастера MQL5 позволяет нам гораздо быстрее настраивать наши модели для тестирования таким образом, чтобы их можно было распространять и тестировать с различными типами сигналов.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 71): Использование паттернов MACD и OBV

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

Осциллятор схождения-расхождения скользящих средних (Moving-Average-Convergence-Divergence, MACD) и индикатор балансового объема (On-Balance-Volume, OBV) - еще одна пара индикаторов, которые можно использовать совместно в советнике MQL5. Как это принято в данной серии статей, данная комбинация индикаторов дополняет друг друга: MACD подтверждает тренды, а OBV проверяет объем. Как обычно, мы используем Мастер MQL5 для построения паттернов и тестирования потенциала, который может иметь эта пара индикаторов.
preview
От начального до среднего уровня: Рекурсия

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

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

Применение ансамблевых методов для задач классификации на языке MQL5

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

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

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

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

Эта статья призвана стать понятным и дружелюбным введением для трейдеров в наиболее распространенные тесты на коинтеграцию, а также простым руководством по интерпретации их результатов. Тесты Энгла — Грейнджера и Йохансена позволяют выявлять статистически значимые пары или группы активов, обладающие общей долгосрочной динамикой. Тест Йохансена особенно полезен для портфелей из трех и более активов, так как он рассчитывает силу коинтеграционных векторов для всех инструментов одновременно.
preview
Разработка инструментария для анализа Price Action (Часть 37): Индикатор смещения настроений

Разработка инструментария для анализа Price Action (Часть 37): Индикатор смещения настроений

Рыночные настроения – одна из самых недооцененных, но при этом мощных сил, влияющих на движение цены. В то время как большинство трейдеров полагаются на запаздывающие индикаторы или догадки, советник Sentiment Tilt Meter (STM) преобразует рыночные данные в наглядный визуальный ориентир и в реальном времени показывает, склоняется ли рынок к бычьему или медвежьему сценарию либо остается нейтральным. Это упрощает подтверждение сделок, помогает избегать ложных входов и эффективнее выбирать момент входа в рынок.
preview
От начального до среднего уровня: Перегрузка

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

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

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

В статье представлен практический опыт внедрения фреймворка STFlow в торговую систему. Показано, как параллельная обработка ICE-признаков и потока событий, сочетание motion-энкодера и адаптивной фьюжн-агрегации позволяют модели самостоятельно анализировать рынок и принимать решения в реальном времени. Результаты тестирования на исторических данных демонстрируют положительное математическое ожидание и способность к адаптации в меняющихся рыночных условиях.
preview
Оптимизатор ястребов Харриса — Harris Hawks Optimization (HHO)

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

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

Создание торговой панели администратора на MQL5 (Часть VI): Мультифункциональный интерфейс (I)

Роль администратора выходит за рамки простого общения в Telegram; он также может заниматься различными видами контроля, включая управление ордерами, отслеживание позиций и настройку интерфейса. В этой статье мы поделимся практическими советами по расширению нашей программы для поддержки множества функций в MQL5. Это обновление направлено на преодоление ограничений текущей панели администратора, которая в первую очередь сосредоточена на общении.
preview
Нелинейные признаки OHLC из эллиптических кривых

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

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