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

icon

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

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

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

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

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

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

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

Создаем интерактивную MQL5-панель с использованием класса Controls (Часть 2): Добавление отзывчивости кнопок

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

Упрощаем торговлю на новостях (Часть 5): Совершаем сделки (II)

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

Нейросети в трейдинге: Интеллектуальный конвейер прогнозов (Разреженная смесь экспертов)

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

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

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

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

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

Нейросети в трейдинге: Иерархия навыков для адаптивного поведения агентов (HiSSD)

Предлагаем познакомиться с фреймворком HiSSD, который объединяет иерархическое обучение и мультиагентные подходы для создания адаптивных систем. В этой работе мы подробно рассмотрим, как этот инновационный подход помогает выявлять скрытые закономерности на финансовых рынках и оптимизировать стратегии торговли в условиях децентрализации.
preview
Обучение нелинейного U-Transformer на остатках линейной авторегрессионной модели

Обучение нелинейного U-Transformer на остатках линейной авторегрессионной модели

Статья представляет инновационную гибридную систему для прогнозирования валютных курсов, которая сочетает линейную авторегрессионную модель с архитектурой U-Transformer для анализа остатков. Система автоматически переключается между источниками сигналов в зависимости от их качества и включает полноценную торговую логику с averaging/pyramiding стратегиями. Ключевое преимущество подхода заключается в том, что нейросеть обучается на остатках линейной модели, что упрощает задачу и снижает риск переобучения. Реализация выполнена полностью на MQL5 и готова к использованию в реальной торговле с автоматической адаптацией к изменяющимся рыночным условиям.
preview
Нейросети в трейдинге: Разностное моделирование рыночной микроструктуры (Блок разностей)

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

В статье представлена практическая реализация подходов фреймворка EDCFlow с акцентом на модуль Multi-Scale Difference. Показано, как последовательное сжатие признаков, вычисление разностей на нескольких масштабах и адаптивное мультимасштабное внимание позволяют формировать структурированное и информативное представление потоковых данных.
preview
Разработка инструментария для анализа движения цен (Часть 10): Внешние библиотеки (II) VWAP

Разработка инструментария для анализа движения цен (Часть 10): Внешние библиотеки (II) VWAP

Освойте возможности VWAP с помощью нашего подробного руководства! Узнайте, как интегрировать анализ VWAP в вашу торговую стратегию, используя MQL5 и Python. Получите максимально полное представление о рынке и улучшите свои торговые решения уже сегодня.
preview
Разработка системы репликации (Часть 51): Все усложняется (III)

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

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

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

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

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

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

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

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

Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (III) – Настройка адаптера

Языковые модели (LLM) являются важной частью быстро развивающегося искусственного интеллекта, поэтому нам следует подумать о том, как интегрировать мощные LLM в нашу алгоритмическую торговлю. Большинству людей сложно настроить эти модели в соответствии со своими потребностями, развернуть их локально, а затем применить к алгоритмической торговле. В этой серии статей будет рассмотрен пошаговый подход к достижению этой цели.
preview
Бимодальный Market Profile с дельтой и памятью в MQL5

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

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

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

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

Анализ влияния солнечных и лунных циклов на цены валют

Что если лунные циклы и сезонные паттерны влияют на валютные рынки? Эта статья показывает, как перевести астрологические концепции на язык математики и машинного обучения. Я создал Python-систему с 88 признаками на основе астрономических циклов, обучил CatBoost на 15 годах данных EUR/USD и получил интригующие результаты. Код открыт, методы проверяемы, выводы неожиданны — древняя мудрость встречается с градиентным бустингом.
preview
Разработка системы репликации (Часть 56): Адаптация модулей

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

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

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

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

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

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

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

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

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

В статье рассматривается новое измерение анализа с использованием внешних библиотек, специально разработанных для расширенной аналитики. Эти библиотеки, такие как pandas, предоставляют мощные инструменты для обработки и интерпретации сложных данных, позволяя трейдерам получать более глубокое представление о динамике рынка. Интегрируя такие технологии, мы можем сократить разрыв между необработанными данными и практическими стратегиями. Здесь мы заложим основу для этого инновационного подхода и раскроем потенциал объединения технологий с опытом трейдинга.
preview
Экстремальная оптимизация — Extremal Optimization (EO)

Экстремальная оптимизация — Extremal Optimization (EO)

В данной статье рассматривается алгоритм Extremal Optimization (EO) — метод оптимизации, вдохновленный моделью самоорганизованной критичности Бака-Снеппена, где эволюция происходит через устранение наихудших компонентов системы. Модифицированная популяционная версия алгоритма демонстрирует отход от теоретических принципов в пользу практической эффективности, что приводит к созданию мощных вычислительных инструментов.
preview
Создание торговой панели администратора на MQL5 (Часть III): Улучшение графического интерфейса пользователя (GUI) с помощью визуального оформления (I)

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

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

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 58): Обучение с подкреплением (DDPG) совместно с паттернами скользящей средней и стохастика

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

Знакомство с языком MQL5 (Часть 15): Руководство для начинающих по созданию пользовательских индикаторов (IV)

В этой статье вы узнаете, как создать индикатор ценового действия на языке MQL5, сосредоточив внимание на ключевых точках, таких как минимум (L), максимум (H), более высокий минимум (HL), более высокий максимум (HH), более низкий минимум (LL) и более низкий максимум (LH) для анализа трендов. Вы также изучите, как выявлять зоны премии и дисконта, отмечать уровень коррекции 50% и использовать соотношение риска и вознаграждения для расчета целевых уровней прибыли. В статье также рассмотрено определение точек входа, уровней стоп-лосса (SL) и тейк-профита (TP) на основе структуры тренда.
preview
Экстремальная оптимизация — Extremal Optimization (EO)

Экстремальная оптимизация — Extremal Optimization (EO)

В данной статье рассматривается алгоритм Extremal Optimization (EO) — метод оптимизации, вдохновленный моделью самоорганизованной критичности Бака-Снеппена, где эволюция происходит через устранение наихудших компонентов системы. Модифицированная популяционная версия алгоритма демонстрирует отход от теоретических принципов в пользу практической эффективности, что приводит к созданию мощных вычислительных инструментов.
preview
Нейросети в трейдинге: Пространственно-временная модель состояния для анализа финансовых данных (STSSM-блок)

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

В статье раскрывается внутренняя механика STSSM-блока и показано, как современные SSM-подходы можно адаптировать под событийную логику спайковых моделей, сохранив высокую скорость и выразительность представлений. Мы шаг за шагом поднимаемся по архитектуре, превращая строгую теорию авторского решения в практичный инструмент для анализа финансовых временных рядов.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 15): Метод опорных векторов с полиномом Ньютона

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

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

Диалектический поиск — Dialectic Search (DA)

Представляем Диалектический Алгоритм (DA) — новый метод глобальной оптимизации, вдохновленный философской концепцией диалектики. Алгоритм использует уникальное разделение популяции на спекулятивных и практических мыслителей. Тестирование показывает впечатляющую производительность до 98% в задачах малой размерности и общую эффективность 57.95%. Статья объясняет эти показатели и представляет детальное описание алгоритма и результаты экспериментов на различных типах функций.
preview
Бильярдный алгоритм оптимизации — Billiards Optimization Algorithm (BOA)

Бильярдный алгоритм оптимизации — Billiards Optimization Algorithm (BOA)

Метод BOA, вдохновленный классической игрой в бильярд, моделирует процесс поиска оптимальных решений, как игру с шарами, стремящимися попасть в лузы, олицетворяющие наилучшие результаты. В данной статье мы рассмотрим основы работы BOA, его математическую модель и эффективность в решении различных оптимизационных задач.
preview
Алгоритм искусственного атома —  Artificial Atom Algorithm (A3)

Алгоритм искусственного атома — Artificial Atom Algorithm (A3)

Реализация алгоритма A3 на MQL5 — метаэвристического метода оптимизации, вдохновленного химическими процессами. Всего 2 настраиваемых параметра, компактность и небольшая популяция обеспечивают высокую скорость работы при достаточном качестве решений.
preview
Алгоритм оптимизации сновидениями — Dream Optimization Algorithm (DOA)

Алгоритм оптимизации сновидениями — Dream Optimization Algorithm (DOA)

Популяционный алгоритм оптимизации, вдохновленный спорным и малоизученным феноменом — механизмом человеческих сновидений. Группы агентов с разной "памятью", косинусоидальная модуляция движения и необычное распределение фаз 99/1 — узнайте, как эти особенности влияют на эффективность оптимизации ваших торговых стратегий.
preview
Алгоритм оптимизации одуванчика — Dandelion Optimizer (DO)

Алгоритм оптимизации одуванчика — Dandelion Optimizer (DO)

Алгоритм оптимизации одуванчика DO превращает простой полёт семени по ветру в стратегию математического поиска. Три фазы - вихревой подъём, дрейф к центру популяции и приземление по траектории Леви - формируют изящную метафору, которая на практике показывает интересные результаты.
preview
Алгоритм биржевого рынка — Exchange Market Algorithm (EMA)

Алгоритм биржевого рынка — Exchange Market Algorithm (EMA)

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

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

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

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

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