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

icon

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

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

Новая статья
последние | лучшие
preview
MQL5-советник, интегрированный в Telegram (Часть 5): Отправка команд из Telegram в MQL5 и получение ответов в реальном времени

MQL5-советник, интегрированный в Telegram (Часть 5): Отправка команд из Telegram в MQL5 и получение ответов в реальном времени

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

Как опубликовать код в CodeBase: Практическое руководство

В статье рассмотрим на реальных примерах процесс публикации различных типов программ для терминала в Библиотеке исходных кодов на языке MQL5.
preview
Математические модели в сеточных стратегиях

Математические модели в сеточных стратегиях

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

Автоматизация торговых стратегий на MQL5 (Часть 10): Разработка стратегии Trend Flat Momentum

В настоящей статье мы разрабатываем советник на MQL5 для стратегии Trend Flat Momentum. Мы комбинируем пересечение двух скользящих средних с фильтрами импульса RSI и CCI для генерации торговых сигналов. Также рассказываем о тестировании на истории и потенциальных улучшениях для повышения эффективности в реальных условиях.
preview
Шаблоны проектирования в программировании на MQL5 (Часть 3): Поведенческие шаблоны 1

Шаблоны проектирования в программировании на MQL5 (Часть 3): Поведенческие шаблоны 1

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

Создание вероятностного рыночно-нейтрального робота на основе распределения доходностей

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

Введение в MQL5 (часть 9): Использование объектов на графике

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

Математика волатильности: Почему индикатор GRI достоин возвращения в ваш торговый терминал

Статья посвящена индикатору Gopalakrishnan Range Index (GRI/ROCI), который количественно оценивает "хаотичность" рынка через логарифм диапазона цен закрытия за заданный период. Показано, как реализовать GRI в MetaTrader 5, устранить проблему отрицательных значений с помощью сдвинутого логарифма и привести шкалу к удобным "пунктам" через нормировку на Point. Далее рассматриваются практические сценарии применения GRI как фильтра волатильности и рыночных фаз.
preview
Алгоритм искусственного электрического поля — Artificial Electric Field Algorithm (AEFA)

Алгоритм искусственного электрического поля — Artificial Electric Field Algorithm (AEFA)

Статья представляет алгоритм искусственного электрического поля (AEFA), вдохновленный законом Кулона об электростатической силе. Алгоритм моделирует электрические явления для решения сложных задач оптимизации, используя заряженные частицы и их взаимодействие. AEFA демонстрирует уникальные свойства в контексте других алгоритмов, связанных с законами природы.
preview
Реализация модели таблицы в MQL5: Применение концепции MVC

Реализация модели таблицы в MQL5: Применение концепции MVC

В статье рассмотрим процесс разработки модели таблицы на языке MQL5 с использованием архитектурной концепции MVC (Model-View-Controller) для разделения логики данных, представления и управления, что помогает создавать структурированный, гибкий и масштабируемый код. Рассмотрим реализацию классов для построения модели таблицы, включая использование связанных списков для хранения данных.
preview
Нейросети в трейдинге: Гиперболическая модель латентной диффузии (Окончание)

Нейросети в трейдинге: Гиперболическая модель латентной диффузии (Окончание)

Применение анизотропных диффузионных процессов для кодирования исходных данных в гиперболическом латентном пространстве, как это предложено в фреймворке HypDIff, способствует сохранению топологических особенностей текущей рыночной ситуации, и повышает качество её анализа. В предыдущей статье мы начали реализацию предложенных подходов средствами MQL5. И сегодня продолжим начатую работу, доведя ее до логического завершения.
preview
Алгоритм черной дыры — Black Hole Algorithm (BHA)

Алгоритм черной дыры — Black Hole Algorithm (BHA)

Алгоритм черной дыры (Black Hole Algorithm, BHA) использует принципы гравитации черных дыр для оптимизации решений. В статье мы рассмотрим, как BHA притягивает лучшие решения, избегая локальных экстремумов, и почему этот алгоритм стал мощным инструментом для решения сложных задач. Узнайте, как простые идеи могут привести к впечатляющим результатам в мире оптимизации.
preview
Нейросетевой торговый советник на базе PatchTST

Нейросетевой торговый советник на базе PatchTST

Статья представляет революционную архитектуру PatchTST — специально адаптированный трансформер для анализа финансовых временных рядов, который разбивает рыночные данные на патчи из 16 баров для эффективной обработки. Подробно рассматривается полная реализация торгового робота в MQL5 — от математических основ и структур данных до готового Expert Advisor с системами управления рисками и непрерывного обучения.
preview
Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT

Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT

Приложения от MetaQuotes, включая платформы MetaTrader 5 и MetaTrader 4, можно установить на устройства с операционной системой HarmonyOS NEXT с помощью компонента DroiTong. В статье представлено пошаговое руководство для установки программ на телефон или ноутбук.
preview
Популяционные алгоритмы оптимизации: Устойчивость к застреванию в локальных экстремумах (Часть I)

Популяционные алгоритмы оптимизации: Устойчивость к застреванию в локальных экстремумах (Часть I)

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

От новичка до эксперта: Периоды на рынке Форекс

Каждый рыночный период имеет начало и конец, при каждом закрытии цена определяет его настроение — так же, как и при любой свечной сессии. Понимание этих ориентиров позволяет нам оценить преобладающее настроение рынка, определяя, какие силы контролируют ситуацию - бычьи или медвежьи. В настоящем обсуждении мы делаем важный шаг вперед, разрабатывая новую функцию в Market Periods Synchronizer, которая визуализирует сессии рынка Форекс для помощи в принятии более обоснованных торговых решений. Этот инструмент может быть особенно эффективным для определения в режиме реального времени, какая сторона — быки или медведи — доминирует на сессии. Давайте исследуем эту концепцию и раскроем те идеи, которые она дает.
preview
Разработка системы репликации - Моделирование рынка (Часть 11): Появление СИМУЛЯТОРА (I)

Разработка системы репликации - Моделирование рынка (Часть 11): Появление СИМУЛЯТОРА (I)

Для того, чтобы использовать данные, формирующие бары, мы должны отказаться от репликации и заняться разработкой симулятора. Мы будем использовать 1-минутные бары именно потому, что они предлагают минимальный уровень сложности.
preview
Теория категорий в MQL5 (Часть 7): Мульти-, относительные и индексированные домены

Теория категорий в MQL5 (Часть 7): Мульти-, относительные и индексированные домены

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

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

Количество стратегий, которые можно интегрировать в виде советника, практически безгранично. Однако каждая дополнительная стратегия увеличивает сложность алгоритма. Благодаря использованию нескольких стратегий советник может лучше адаптироваться к изменяющимся рыночным условиям, что потенциально повышает его прибыльность. Сегодня мы рассмотрим, как реализовать в MQL5 одну из выдающихся стратегий, разработанных Ричардом Дончианом, продолжая при этом совершенствовать функциональность нашего советника Trend Constraint.
preview
Торговая стратегия обратного разрыва справедливой стоимости

Торговая стратегия обратного разрыва справедливой стоимости

Обратный разрыв справедливой стоимости (IFVG) возникает, когда цена возвращается к ранее выявленному разрыву справедливой стоимости и, вместо того чтобы продемонстрировать ожидаемую поддержку или сопротивление, не справляется с ним. Этот сбой может сигнализировать о потенциальном изменении направления движения рынка и обеспечить противоположное торговое преимущество. В настоящей статье мы представим собственный подход к количественной оценке и использованию обратного разрыва справедливой стоимости в качестве стратегии для советников MetaTrader 5.
preview
Торговая стратегия SP500 на языке MQL5 для начинающих

Торговая стратегия SP500 на языке MQL5 для начинающих

Узнайте, как использовать язык MQL5 для точного прогнозирования индекса S&P 500, добавляя классический технический анализ для обеспечения стабильности и объединяя алгоритмы с проверенными временем принципы для получения надежной информации о рынке.
preview
Нейросети в трейдинге: Параметроэффективный Transformer с сегментированным вниманием (PSformer)

Нейросети в трейдинге: Параметроэффективный Transformer с сегментированным вниманием (PSformer)

Предлагаем познакомиться с новым фреймворком PSformer, который адаптирует архитектуру ванильного Transformer для решения задач прогнозирования многомерных временных рядов. В основе фреймворка лежат две ключевые инновации: механизм совместного использования параметров (PS) и внимание к пространственно-временным сегментам (SegAtt).
preview
Машинное обучение и Data Science (Часть 28): Прогнозирование множества будущих значений для EURUSD

Машинное обучение и Data Science (Часть 28): Прогнозирование множества будущих значений для EURUSD

Многие модели искусственного интеллекта заточены на прогнозирование одного единственного будущего значения. В этой статье мы посмотрим, как использовать модели машинного обучения для прогнозирования множества будущих значений. Такой подход, называемый многошаговым прогнозированием, позволяет предсказывать не только цену закрытия на завтра, но и на послезавтра и так далее. Несомненное преимущество многошагового прогнозирования для трейдеров и аналитиков данных — более широкий спектр информации для возможностей стратегического планирования.
preview
Связь торговых роботов MetaTrader 5 с внешними брокерами через API и Python

Связь торговых роботов MetaTrader 5 с внешними брокерами через API и Python

В настоящей статье мы обсудим реализацию MQL5 в партнерстве с Python для выполнения связанных с брокером операций. Представьте, что у вас есть постоянно работающий советник (EA), размещенный на VPS и совершающий сделки от вашего имени. В какой-то момент способность советника управлять средствами становится первостепенной. Она включает в себя такие операции, как пополнение вашего торгового счета и инициирование вывода средств. В данном обсуждении мы прольем свет на преимущества и практическую реализацию этих функций, обеспечивающих плавную интеграцию управления средствами в вашу торговую стратегию. Следите за обновлениями!
preview
Единый мультитаймфреймовый Ренко: Синтез временных измерений рынка

Единый мультитаймфреймовый Ренко: Синтез временных измерений рынка

Статья представляет инновационную концепцию мультитаймфреймового Ренко-графика, который объединяет сигналы с четырёх временных масштабов (M5, M15, H1, H4) в единый синтетический инструмент. Система создаёт виртуальный символ в MetaTrader 5, используя EMA каждого таймфрейма для формирования композитного сигнала через три метода: простое среднее, взвешенное среднее и консенсус. Реализация включает адаптивный размер кирпича на основе ATR, работу в реальном времени и полную интеграцию с MetaTrader 5.
preview
Знакомство с языком MQL5 (Часть 22): Создание советника для торговли по паттерну 5-0

Знакомство с языком MQL5 (Часть 22): Создание советника для торговли по паттерну 5-0

В этой статье объясняется, как с помощью языка MQL5 обнаружить гармонический паттерн 5-0 и торговать по нему, проверить его с помощью уровней Фибоначчи и отобразить его на графике.
preview
Разработка системы репликации - Моделирование рынка (Часть 15): Появление СИМУЛЯТОРА (V) - СЛУЧАЙНОЕ БЛУЖДАНИЕ

Разработка системы репликации - Моделирование рынка (Часть 15): Появление СИМУЛЯТОРА (V) - СЛУЧАЙНОЕ БЛУЖДАНИЕ

В этой статье мы завершим разработку симулятора для нашей системы. Основной целью здесь будет настройка алгоритма, рассмотренного в предыдущей статье. Этот алгоритм направлен на создание движения СЛУЧАЙНОГО БЛУЖДАНИЯ. Поэтому, для понимания сегодняшнего материала, необходимо понять содержание предыдущих статей. Если вы не следили за развитием симулятора, советую посмотреть эту последовательность с самого начала. В противном случае вы можете запутаться в том, что будет здесь объяснено.
preview
Команда ИИ-агентов с ротацией по прибыли: Эволюция живой торговой системы в MQL5

Команда ИИ-агентов с ротацией по прибыли: Эволюция живой торговой системы в MQL5

Управление финансами как экосистема: семь ИИ-трейдеров с разными характерами и стратегиями вместо одного алгоритма. Они конкурируют за капитал, учатся на ошибках и принимают решения коллективно. Статья раскрывает принципы работы системы Modern RL Trader, где код обладает сознанием и эмоциями, создавая живой, эволюционирующий торговый разум.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 08): Перцептроны

Возможности Мастера MQL5, которые вам нужно знать (Часть 08): Перцептроны

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

Нейросети в трейдинге: Повышение эффективности Transformer путем снижения резкости (Окончание)

SAMformer предлагает решение ключевых проблем Transformer в долгосрочном прогнозировании временных рядов, включая сложность обучения и слабое обобщение на малых выборках. Его неглубокая архитектура и оптимизация с учетом резкости обеспечивают избегание плохих локальных минимумов. В данной статье мы продолжим реализацию подходов с использованием MQL5 и оценим их практическую ценность.
preview
Анализ временных разрывов цен в MQL5 (Часть I): Создаем базовый индикатор

Анализ временных разрывов цен в MQL5 (Часть I): Создаем базовый индикатор

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

Теория категорий в MQL5 (Часть 17): Функторы и моноиды

Это последняя статья серии, посвященная функторам. В ней мы вновь рассматриваем моноиды как категорию. Моноиды, которые мы уже представили в этой серии, используются здесь для помощи в определении размера позиции вместе с многослойными перцептронами.
preview
DoEasy. Элементы управления (Часть 6): Элемент управления "Панель", автоизменение размеров контейнера под внутреннее содержимое

DoEasy. Элементы управления (Часть 6): Элемент управления "Панель", автоизменение размеров контейнера под внутреннее содержимое

В статье продолжим работу над WinForms-объектом "Панель" и реализуем автоизменение его размеров под общие размеры Dock-объектов, расположенных внутри панели. Кроме того добавим новые свойства в объект библиотеки "Символ".
preview
Разработка системы репликации - Моделирование рынка (Часть 17): Тики и еще больше тиков (I)

Разработка системы репликации - Моделирование рынка (Часть 17): Тики и еще больше тиков (I)

Здесь мы увидим, как реализовать что-то действительно интересное, но в то же время очень сложное из-за отдельных моментов, которые многих смущают. И самое худшее, что может случиться - это то, что некоторые трейдеры, считающие себя профессионалами, ничего не знают о важности этих понятий на рынке капитала. Да, хотя основное внимание здесь уделяется программированию, но понимание некоторых вопросов, связанных с торговлей на рынках, имеет первостепенное значение для того, что мы собираемся здесь реализовать.
preview
Реализация обобщенного показателя Херста и теста коэффициента дисперсии в MQL5

Реализация обобщенного показателя Херста и теста коэффициента дисперсии в MQL5

В этой статье мы рассмторим, как можно использовать обобщенный показатель Херста (Generalized Hurst Exponent) и тест коэффициента дисперсии (Variance Ratio) для анализа поведения ценовых рядов в MQL5.
preview
Прогнозируем Ренко — бары при помощи ИИ CatBoost

Прогнозируем Ренко — бары при помощи ИИ CatBoost

Как использовать Ренко-бары вместе с ИИ? Рассмотрим Ренко-трейдинг на Форекс с точностью прогнозов до 59.27%. Исследуем преимущества Ренко-баров для фильтрации рыночного шума, узнаем, почему объемные показатели важнее ценовых паттернов, и как настроить оптимальный размер блока Ренко для EURUSD. Пошаговое руководство по интеграции CatBoost, Python и MetaTrader 5 для создания собственной системы прогнозирования Ренко Форекс. Идеально для трейдеров, стремящихся выйти за рамки традиционного технического анализа.
preview
Теория категорий в MQL5 (Часть 13): События календаря со схемами баз данных

Теория категорий в MQL5 (Часть 13): События календаря со схемами баз данных

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

Нейросети — это просто (Часть 94): Оптимизация последовательности исходных данных

При работе с временными рядами мы всегда используем исходные данные в их исторической последовательности. Но является ли это оптимальным вариантом? Существует мнение, что изменение последовательности исходных данных позволит повысить эффективность обучаемых моделей. В данной статье я предлагаю вам познакомиться с одним из таких методов.
preview
Создание советника на MQL5 на основе стратегии Прорыва дневного диапазона (Daily Range Breakout)

Создание советника на MQL5 на основе стратегии Прорыва дневного диапазона (Daily Range Breakout)

В настоящей статье мы создаём советника на MQL5 на основе стратегии Прорыва дневного диапазона (Daily Range Breakout). Мы рассмотрим ключевые концепции стратегии, разработаем схему советника и реализуем логику прорыва на MQL5. В конце мы изучаем методы бэк-тестирования и оптимизации советника, чтобы максимально повысить его эффективность.
preview
Разработка системы репликации (Часть 41): Начало второй фазы (II)

Разработка системы репликации (Часть 41): Начало второй фазы (II)

Если до этого момента вам всё казалось правильным, это значит, что вы на самом деле не задумываетесь о долгосрочной перспективе. Когда вы начинаете разрабатывать приложения, а со временем вам больше не приходится создавать новые приложения. Остается только добиться того, чтобы они работали вместе. Давайте рассмотрим, как завершить сборку указателя мыши.