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

icon

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

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

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

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

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

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

Предлагаем погрузиться в захватывающий мир LightGTS — лёгкого, но мощного фреймворка для прогноза временных рядов, где адаптивная свёртка и RoPE‑кодирование сочетаются с инновационным методами внимания. В нашей статье вы найдёте детальное описание всех компонентов — от создания патчей до сложной смеси экспертов в декодере, готовых к интеграции в MQL5‑проекты. Откройте для себя, как LightGTS выводит автоматическую торговлю на новый уровень!
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 43): Обучение с подкреплением с помощью SARSA

Возможности Мастера MQL5, которые вам нужно знать (Часть 43): Обучение с подкреплением с помощью SARSA

SARSA (State-Action-Reward-State-Action, состояние-действие-вознаграждение-состояние-действие) — еще один алгоритм, который можно использовать при реализации обучения с подкреплением. Рассмотрим, как можно реализовать этот алгоритм в качестве независимой модели (а не просто механизма обучения) в советниках, собранных в Мастере, аналогично тому, как мы это делали в случаях с Q-обучением и DQN.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 20): Символьная регрессия

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 52): Осциллятор Accelerator

Осциллятор ускорения (Accelerator Oscillator) — еще один индикатор Билла Вильямса, который отслеживает ускорение ценового импульса, а не только его темп. Хотя он во многом похож на осциллятор Awesome, который мы рассматривали в недавней статье, он стремится избежать эффектов запаздывания, концентрируясь на ускорении, а не только на скорости. Мы, как обычно, рассмотрим паттерны индикатора, а также их значение в торговле с помощью советника, собранного в Мастере.
preview
Теория категорий (Часть 9): Действия моноидов

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

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

Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA): Продолжение

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

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

В этой статье мы рассмотрим первую часть темы, которая не так проста для понимания новичками. Чтобы не запутаться еще больше и правильно объяснить данную тему, мы разделим объяснение на этапы. Эту статью мы посвятим первому этапу. Однако, хотя в конце статьи может показаться, что мы зашли в тупик, на самом деле мы сделаем шаг к другой ситуации, которая будет лучше понятна в следующей статье.
preview
Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (I) — Скрипт Quarters Drawer

Разработка инструментария для анализа движения цен (Часть 15): Введение в теорию четвертей (I) — Скрипт Quarters Drawer

Точки поддержки и сопротивления являются критическими уровнями, которые сигнализируют о возможном развороте и продолжении тренда. Хотя определение этих уровней может оказаться непростой задачей, ее решение позволит вам хорошо ориентироваться на рынке. В статье представлен инструмент Quarters Drawer. Он поможет вам определить как основные, так и второстепенные уровни поддержки и сопротивления.
preview
Нейросети в трейдинге: Адаптивное обнаружение рыночных аномалий (Окончание)

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

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

Функции активации нейронов при обучении: ключ к быстрой сходимости?

В данной работе представлено исследование взаимодействия различных функций активации с алгоритмами оптимизации в контексте обучения нейронных сетей. Особое внимание уделяется сравнению классического ADAM и его популяционной версии при работе с широким спектром функций активации, включая осциллирующие функции ACON и Snake. Используя минималистичную архитектуру MLP (1-1-1) и единичный обучающий пример, производится изоляция влияния функций активации на процесс оптимизации от других факторов. Предложен подход к контролю весов сети через границы функций активации и механизма отражения весов, что позволяет избежать проблем с насыщением и застоем в обучении.
preview
Создание динамических графических интерфейсов на MQL5 через бикубическую интерполяцию

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Знакомство с языком MQL5 (Часть 25): Создание советника для торговли по графическим объектам (II)

В этой статье объясняется, как создать советник, который взаимодействует с графическими объектами, особенно с трендовыми линиями, чтобы выявлять потенциальные пробои и развороты и торговать по ним. Вы узнаете, как советник подтверждает действительность сигналов, управляет частотой торговли и поддерживает согласованность с выбранными пользователем стратегиями.
preview
Переосмысливаем классические стратегии (Часть IX): Анализ на нескольких таймфреймах  (II)

Переосмысливаем классические стратегии (Часть IX): Анализ на нескольких таймфреймах (II)

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

Подробная информация о торговле на основе объема: Выход за рамки графиков OHLC

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

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

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

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

Мы выходим за рамки простого просмотра проанализированных показателей на графиках и переходим к более широкой перспективе, которая включает интеграцию с Telegram. Это позволит отправлять важные результаты непосредственно на мобильное устройство через Telegram.
preview
Обучение нелинейного U-Transformer на остатках линейной авторегрессионной модели

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

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

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

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

Передовые алгоритмы исполнения ордеров на MQL5: TWAP, VWAP и ордера Iceberg

Фреймворк MQL5, предоставляющий розничным трейдерам алгоритмы исполнения институционального уровня (TWAP, VWAP, Iceberg) с помощью унифицированного менеджера исполнения и анализатора эффективности для более плавного и точного разделения ордеров и аналитики.
preview
Разработка системы репликации (Часть 26): Проект советника — Класс C_Terminal

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

Мы уже можем начать создавать советника для использования в репликации/моделировании. Однако нам нужно нечто усовершенствованное, а не какое-то случайное решение. Несмотря на это, нас не должна пугать первоначальная сложность. Очень важно начать с чего-то, иначе в конечном итоге мы придем к тому, что размышляем о сложности задачи, даже не пытаясь ее преодолеть. Суть программирования именно в этом: преодолеть препятствия посредством изучения, тестирования и обширных исследований.
preview
Диалектический поиск — Dialectic Search (DA)

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

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

Разработка системы репликации (Часть 55): Модуль управления

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

Теория графов: Алгоритм Дейкстры в трейдинге

Алгоритм Дейкстры — классическое решение по поиску кратчайшего пути в теории графов, которое позволяет оптимизировать торговые стратегии путем моделирования рыночных сетей. Трейдеры могут использовать его для поиска наиболее эффективных маршрутов в данных свечного графика.
preview
Алгоритм биржевого рынка — Exchange Market Algorithm (EMA)

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

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

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

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

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

Улучшите свой код MQL5, оптимизировав логику, улучшив вычисления и сократив время выполнения, чтобы повысить точность тестирования на истории. Проведите тонкую настройку параметров, оптимизацию циклов и устранение неэффективности для улучшения результата.
preview
Знакомство с языком MQL5 (Часть 24): Создание советника для торговли по графическим объектам

Знакомство с языком MQL5 (Часть 24): Создание советника для торговли по графическим объектам

В этой статье вы научитесь созданию советника, который обнаруживает зоны поддержки и сопротивления, нарисованные на графике, и автоматически исполняет сделки на их основе.
preview
Оптимизатор на основе экологического цикла — Ecological Cycle Optimizer (ECO)

Оптимизатор на основе экологического цикла — Ecological Cycle Optimizer (ECO)

Алгоритм ECO (Ecological Cycle Optimizer) представляет собой интересную метафору переноса экологического круговорота в область метаэвристической оптимизации. Идея разделения популяции на трофические уровни — продуцентов, травоядных, плотоядных, всеядных и редуцентов — создаёт иерархическую структуру поиска, где каждая группа вносит свой вклад в общий процесс оптимизации.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (III) – Настройка адаптера

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

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

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

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