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

icon

Самые разнообразные статьи с примерами по созданию индикаторов и торговых роботов для платформы MetaTrader на языке MQL5 ждут вас. К каждой статье приложены исходные коды, которые вы можете открыть в редакторе MetaEditor и запустить самостоятельно.

Эти статьи будут полезны как новичкам в автоматическом трейдинге, так и подготовленным трейдерам с опытом программирования и торговли. Здесь вы найдете не только примеры, но и новые идеи.

Новая статья
последние | лучшие
preview
Введение в Connexus (Часть 1): Как использовать функцию WebRequest?

Введение в Connexus (Часть 1): Как использовать функцию WebRequest?

Настоящая статья является началом серии разработок для библиотеки под названием “Connexus”, предназначенной для облегчения выполнения HTTP-запросов с помощью MQL5. Цель настоящего проекта - предоставить конечному пользователю такую возможность и показать, как использовать эту вспомогательную библиотеку. Я намеревался сделать его как можно более простым, чтобы облегчить изучение и обеспечить возможность для будущих разработок.
preview
Переосмысливаем классические стратегии (Часть V): Анализ нескольких инструментов в валютной паре USDZAR

Переосмысливаем классические стратегии (Часть V): Анализ нескольких инструментов в валютной паре USDZAR

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

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

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

Применение локализованного отбора признаков на Python и MQL5

В настоящей статье рассматривается алгоритм отбора признаков, представленный в статье "Выбор локальных признаков для классификации данных» ('Local Feature Selection for Data Classification') Наргеса Арманфарда и соавторов (Narges Armanfard et al.). Алгоритм реализован на Python для построения моделей бинарных классификаторов, которые могут быть интегрированы с приложениями MetaTrader 5 для логического вывода.
preview
Разработка системы репликации (Часть 56): Адаптация модулей

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

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

Создание панели торгового администратора на MQL5 (Часть I): Создание интерфейса обмена сообщениями

В данной статье рассматривается создание интерфейса обмена сообщениями для MetaTrader 5, предназначенного для системных администраторов, чтобы облегчить общение с другими трейдерами непосредственно внутри платформы. Недавняя интеграция социальных платформ с MQL5 позволяет быстро транслировать сигнал по разным каналам. Представьте, что вы можете проверять отправленные сигналы одним щелчком мыши — либо "ДА", либо "НЕТ". Читайте дальше, чтобы узнать больше.
preview
Переосмысливаем классические стратегии (Часть VII): Анализ валютных рынков и суверенного долга на USDJPY

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

Мы проанализируем взаимосвязь между валютными курсами и государственными облигациями. Облигации являются одной из самых популярных форм ценных бумаг с фиксированным доходом. Посмотрим, можно ли улучшить классическую стратегию с помощью ИИ.
preview
Разработка инструментария для анализа Price Action (Часть 26): Инструмент для работы с несколькими паттернами – пин-баром, паттернами поглощения и дивергенцией RSI

Разработка инструментария для анализа Price Action (Часть 26): Инструмент для работы с несколькими паттернами – пин-баром, паттернами поглощения и дивергенцией RSI

В соответствии с нашей целью – разрабатывать практические инструменты для анализа Price Action – в этой статье рассматривается создание советника, который выявляет пин-бары и паттерны поглощения и использует дивергенцию RSI для подтверждения перед формированием торговых сигналов.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Изменяемые размеры элементов

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

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

В этой статье мы рассмотрим первую часть темы, которая не так проста для понимания новичками. Чтобы не запутаться еще больше и правильно объяснить данную тему, мы разделим объяснение на этапы. Эту статью мы посвятим первому этапу. Однако, хотя в конце статьи может показаться, что мы зашли в тупик, на самом деле мы сделаем шаг к другой ситуации, которая будет лучше понятна в следующей статье.
preview
Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Алгоритм адаптивного социального поведения — Adaptive Social Behavior Optimization (ASBO): Двухфазная эволюция

Эта статья является продолжением темы социального поведения живых организмов и его воздействия на разработку новой математической модели - ASBO (Adaptive Social Behavior Optimization). Мы погрузимся в двухфазную эволюцию, проведем тестирование алгоритма и сделаем выводы. Подобно тому, как в природе группа живых организмов объединяет свои усилия для выживания, ASBO использует принципы коллективного поведения для решения сложных задач оптимизации.
preview
WebSocket для MetaTrader 5 — Асинхронные клиентские соединения с помощью Windows API

WebSocket для MetaTrader 5 — Асинхронные клиентские соединения с помощью Windows API

В данной статье подробно описывается разработка пользовательской динамически подключаемой библиотеки, предназначенной для упрощения асинхронных клиентских соединений по протоколу WebSocket для программ MetaTrader.
preview
Создание торговой панели администратора на MQL5 (Часть III): Улучшение графического интерфейса пользователя (GUI) с помощью визуального оформления (I)

Создание торговой панели администратора на MQL5 (Часть III): Улучшение графического интерфейса пользователя (GUI) с помощью визуального оформления (I)

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

Торгуем опционы без опционов (Часть 4): Более сложные опционные стратегии

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

Причинно-следственный анализ временных рядов с помощью энтропии переноса

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

Автоматизация запуска терминала для выполнения сервисных задач

В статье рассмотрим возможность запуска терминала с конфигурационным файлом для выполнения автоматизированных рутинных задач, программную обработку такого запуска, и создадим полноценную систему автооптимизации советника средствами ОС Windows.
preview
Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

Алгоритм эволюционного путешествия во времени — Time Evolution Travel Algorithm (TETA)

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

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

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

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

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

От начального до среднего уровня: Оператор FOR

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

Таблицы в парадигме MVC на MQL5: настраиваемые и сортируемые столбцы таблицы

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

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

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

Знакомство с кривыми рабочих характеристик приемника (ROC-кривыми)

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

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

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

Искусство ведения логов (Часть 1): Основные понятия и первые шаги в MQL5

Добро пожаловать в новое приключение! Данная статья открывает специальный цикл, в котором мы будем пошагово создавать библиотеку для манипуляций с журналами, предназначенную для тех, кто занимается разработкой на языке MQL5.
preview
Реализация механизма безубыточности в MQL5 (Часть 2): Безубыток на основе ATR и RRR

Реализация механизма безубыточности в MQL5 (Часть 2): Безубыток на основе ATR и RRR

В данной статье завершается реализация механизмов безубыточности на основе ATR и RRR в MQL5, а также с нуля разрабатывается класс, позволяющий легко изменять режим безубытка без необходимости повторного ввода параметров. Для оценки эффективности каждого типа безубытка выполняется несколько бэктестов, в рамках которых анализируются их преимущества и недостатки в контексте алгоритмического трейдинга.
preview
Управление рисками (Часть 3): Создание основного класса для управления рисками

Управление рисками (Часть 3): Создание основного класса для управления рисками

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

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (IV) - Анализ рынка локально размещенными моделями с использованием ИИ

В сегодняшнем обсуждении мы рассмотрим, как самостоятельно размещать модели искусственного интеллекта с открытым исходным кодом и использовать их для получения информации о рынке. Это является частью наших постоянных усилий по расширению советника «Заголовки новостей» путем внедрения раздела «Анализ искусственного интеллекта» (AI Insights), который превращает советник в мультиинтеграционный вспомогательный инструмент. Обновленный советник предназначен для информирования трейдеров о событиях календаря, последних финансовых новостях, технических индикаторах, а теперь и о перспективах рынка, генерируемых искусственным интеллектом, тем самым, предлагая своевременную, разнообразную и интеллектуальную поддержку при принятии торговых решений. Присоединяйтесь к разговору, в ходе которого мы рассмотрим практические стратегии интеграции и то, как MQL5 может взаимодействовать с внешними ресурсами для создания мощного и интеллектуального торгового рабочего терминала.
preview
Сингулярный спектральный анализ на MQL5

Сингулярный спектральный анализ на MQL5

Данная статья предназначена в качестве руководства для тех, кто не знаком с концепцией сингулярного спектрального анализа и хочет получить достаточно знаний, чтобы иметь возможность применять встроенные инструменты, доступные на MQL5.
preview
Бимодальный Market Profile с дельтой и памятью в MQL5

Бимодальный Market Profile с дельтой и памятью в MQL5

Классический Market Profile сорокалетней давности до сих пор тиражируется в десятках индикаторов, которые отличаются только цветом баров. В статье я разбираю три концептуальные слепые зоны оригинальной теории — монолитную Value Area при бимодальных распределениях, слепоту TPO к агрессору и отсутствие памяти между сессиями — и строю индикатор, который закрывает каждую из них: детекция бимодальности с dead zone, ордер-флоу через CopyTicksRange с absorption detection, композитная память рынка с Naked POC и HVN/LVN. Полный исходный код прилагается.
preview
От новичка до эксперта: Советник Reporting EA - Настройка рабочего процесса

От новичка до эксперта: Советник Reporting EA - Настройка рабочего процесса

Брокерские конторы часто предоставляют отчеты по торговым счетам через регулярные промежутки, основанные на заранее определенном графике. Эти фирмы, используя свои технологии API, имеют доступ к активности на вашем аккаунте и торговой истории, что позволяет им создавать отчеты о результатах работы от вашего имени. Аналогичным образом, терминал MetaTrader 5 хранит подробные записи о вашей торговой активности, которые можно использовать с помощью MQL5 для создания полностью настраиваемых отчетов и определения персонализированных способов доставки.
preview
От начального до среднего уровня: Массивы и строки (II)

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

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

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

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

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

В этой статье мы рассмотрим третью часть нашего пути в формулировании динамического мультипарного советника (Dynamic Multi-Pair Expert Advisor), сосредоточив внимание на интеграции стратегий торговли на основе возврата к среднему и моментума. Мы разберем, как обнаруживать и действовать при отклонениях цен от среднего (Z-оценка), а также как измерять моментум по нескольким валютным парам, чтобы определить направление торговли.
preview
От начального до среднего уровня: Шаблон и Typename (V)

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

В данной статье мы изучим последний простой случай использования шаблонов, а также поговорим о пользе и необходимости использования typename в коде. Хотя поначалу данная статья может показаться несколько сложной, необходимо правильно ее понять, чтобы в дальнейшем использовать шаблоны и typename.
preview
Разработка инструментария для анализа движения цен (Часть 2): Скрипт аналитических комментариев

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

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

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

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

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

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

От новичка до эксперта: Подтверждение зон спроса и предложения через статистические данные

Сегодня мы раскрываем часто упускаемую из виду статистическую основу, стоящую за торговыми стратегиями, основанными на спросе и предложении. Используя комбинацию MQL5 и Python в рамках рабочего процесса Jupyter Notebook, мы проводим структурированное, основанное на данных исследование, направленное на преобразование визуальных рыночных предположений в измеримые результаты. В данной статье описан весь исследовательский процесс, включая сбор данных, статистический анализ на основе Python, разработку алгоритма, тестирование и окончательные выводы. Для подробного ознакомления с методологией и результатами исследования, прочтите полную статью.
preview
От новичка до эксперта: Анимированный советник News Headline с использованием MQL5 (XI) - Корреляция при торговле на новостях

От новичка до эксперта: Анимированный советник News Headline с использованием MQL5 (XI) - Корреляция при торговле на новостях

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