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

icon

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

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

Новая статья
последние | лучшие
preview
Нейросети в трейдинге: Сквозная многомерная модель прогнозирования временных рядов (GinAR)

Нейросети в трейдинге: Сквозная многомерная модель прогнозирования временных рядов (GinAR)

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

Нейронная сеть на практике: Псевдообратная (II)

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

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

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

Нейросети в трейдинге: Двусторонняя адаптивная временная корреляция (BAT)

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

Разработка советника для мониторинга точек входа в свинг-сделки

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

Управление рисками (Часть 2): Реализация расчета лотов в графическом интерфейсе

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

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

В статье рассмотрены простые элементы управления как составляющие части более сложных графических элементов компонента View в рамках реализации таблиц в парадигме MVC (Model-View-Controller). Реализован базовый функционал компонента Controller для интерактивного взаимодействия элементов с пользователем и друг с другом. Это вторая статья, посвященная компоненту View, и четвёртая в серии статей о создании таблиц для клиентского терминала MetaTrader 5.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (I)

Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (I)

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

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

Приглашаем вас познакомиться с фреймворком K²VAE и вариантом интеграции предложенных подходов в торговую систему. Вы узнаете, как гибридный подход Koopman–Kalman–VAE помогает строить адаптивные и интерпретируемые модели. А в завершении статьи представлены практические результаты использования реализованных решений.
preview
Знакомство с языком MQL5 (Часть 23): Автоматизация торговли на пробое диапазона открытия рынка

Знакомство с языком MQL5 (Часть 23): Автоматизация торговли на пробое диапазона открытия рынка

В этой статье рассматривается, как создать советник для торговли по стратегии пробоя диапазона открытия (Opening Range Breakout, ORB) на языке MQL5. В статье объясняется, как советник идентифицирует пробои из диапазона открытия рынка и открывает соответствующие сделки. Вы также научитесь контролировать количество открытых позиций и устанавливать конкретное время прекращения для автоматической остановки торговли.
preview
Нейросети в трейдинге: Разностное моделирование рыночной микроструктуры (EDCFlow)

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

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

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

В этой статье мы подробно рассматриваем алгоритмы реализации ключевых компонентов фреймворка HimNet. Демонстрируем, как при минимальном числе обучаемых компонентов достигается высокая согласованность и управляемость всей системы. Представленная реализация отличается компактностью и прозрачностью, что облегчает её адаптацию к реальным рыночным задачам.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 9): Советник с несколькими стратегиями (III)

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

Добро пожаловать в третью часть серии статьей о трендах! Сегодня мы углубимся в использование дивергенции как стратегии определения оптимальных точек входа в рамках преобладающего дневного тренда. Мы также представим специальный механизм фиксации прибыли, аналогичный скользящему стоп-лоссу, но с уникальными усовершенствованиями. Кроме того, мы обновим советник Trend Constraint до более продвинутой версии, включив в него новое условие исполнения сделки в дополнение к существующим. Также мы продолжим изучать практическое применение MQL5 в разработке алгоритмов.
preview
Знакомство с языком MQL5 (Часть 21): Автоматическое обнаружение паттернов Гартли

Знакомство с языком MQL5 (Часть 21): Автоматическое обнаружение паттернов Гартли

Узнайте, как обнаружить и отобразить гармонический паттерн Гартли в MetaTrader 5 с использованием языка MQL5. В этой статье объясняется каждый шаг данного процесса: от выявления точек свинга до применения коэффициентов Фибоначчи и графического построения паттерна на графике целиком для четкого визуального подтверждения.
preview
Наиболее известные модификации алгоритма искусственного кооперативного поиска (Artificial Cooperative Search, ACSm)

Наиболее известные модификации алгоритма искусственного кооперативного поиска (Artificial Cooperative Search, ACSm)

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

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

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

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

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

Наиболее известные модификации алгоритма искусственного кооперативного поиска (Artificial Cooperative Search, ACSm)

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

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

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

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

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

Пользовательские символы MQL5: Создаем символ 3D-баров

В данной статье представлено детальное руководство по созданию инновационного индикатора 3DBarCustomSymbol.mq5, который генерирует пользовательские символы в MetaTrader 5, объединяющие цену, время, объем и волатильность в единое трехмерное представление. Рассматриваются математические основы, архитектура системы, практические аспекты реализации и применения в торговых стратегиях.
preview
Комбинаторно-симметричная перекрестная проверка в MQL5

Комбинаторно-симметричная перекрестная проверка в MQL5

В статье показана реализация комбинаторно-симметричной перекрестной проверки на чистом MQL5 для измерения степени подгонки после оптимизации стратегии с использованием медленного полного алгоритма тестера стратегий.
preview
Переосмысление индикаторов MQL5 и MetaTrader 5

Переосмысление индикаторов MQL5 и MetaTrader 5

Инновационный подход к сбору информации с индикаторов на MQL5 обеспечивает более гибкий и оптимизированный анализ данных, позволяя разработчикам вводить пользовательские данные в индикаторы для осуществления немедленных расчетов. Этот подход особенно полезен для алгоритмической торговли, поскольку он обеспечивает повышенный контроль над информацией, обрабатываемой индикаторами, выходя за рамки традиционных ограничений.
preview
Критерий независимости Гильберта-Шмидта (HSIC)

Критерий независимости Гильберта-Шмидта (HSIC)

В статье рассматривается непараметрический статистический тест HSIC (Hilbert-Schmidt Independence Criterion) предназначенный для выявления линейных и нелинейных зависимостей в данных. Предложены реализации двух алгоритмов вычисления HSIC на языке MQL5: точного перестановочного теста и гамма-аппроксимации. Эффективность метода демонстрируется на синтетических данных, моделирующих нелинейную связь признаков и целевой переменной.
preview
Модель портфельного риска с использованием критерия Келли и моделирования по методу Монте-Карло

Модель портфельного риска с использованием критерия Келли и моделирования по методу Монте-Карло

На протяжении десятилетий трейдеры использовали формулу критерия Келли для определения оптимальной доли капитала, которую можно направить на инвестиции или ставки, чтобы максимизировать долгосрочный рост при минимизации риска разорения. Однако слепое следование критерию Келли, основанному на результатах единственного бэк-тестирования, часто опасно для отдельных трейдеров, поскольку при реальной торговле торговое преимущество со временем тает, а прошлые результаты не являются предиктором будущих результатов. В настоящей статье я представлю реалистичный подход к применению критерия Келли для распределения рисков одного или нескольких советников в MetaTrader 5, основанный на результатах моделирования методом Монте-Карло с помощью Python.
preview
Критерий независимости Гильберта-Шмидта (HSIC)

Критерий независимости Гильберта-Шмидта (HSIC)

В статье рассматривается непараметрический статистический тест HSIC (Hilbert-Schmidt Independence Criterion) предназначенный для выявления линейных и нелинейных зависимостей в данных. Предложены реализации двух алгоритмов вычисления HSIC на языке MQL5: точного перестановочного теста и гамма-аппроксимации. Эффективность метода демонстрируется на синтетических данных, моделирующих нелинейную связь признаков и целевой переменной.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Контейнеры

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

В статье рассмотрим создание элемента управления "Контейнер" с возможностью прокрутки его содержимого. В процессе будут доработаны уже готовые классы элементов управления графической библиотеки.
preview
Нейросети в трейдинге: Фреймворк кросс-доменного прогнозирования временных рядов (TimeFound)

Нейросети в трейдинге: Фреймворк кросс-доменного прогнозирования временных рядов (TimeFound)

В этой статье мы шаг за шагом собираем ядро интеллектуальной модели TimeFound, адаптированной под реальные задачи прогнозирования временных рядов. Если вас интересует практическая реализация нейросетевых патчинг-алгоритмов в MQL5 — вы точно по адресу.
preview
Форекс советник на нейросети N-BEATS Network

Форекс советник на нейросети N-BEATS Network

Реализация архитектуры N-BEATS для форекс-трейдинга в MetaTrader 5 с квантильным прогнозированием и адаптивным риск-менеджментом. Архитектура адаптирована через билинейную нормализацию и специализированные функции потерь для финансовых данных. Тестирование на данных 2025 года показало неспособность генерировать прибыль, подтверждая разрыв между теоретическими достижениями и практической торговой эффективностью.
preview
Анализ временных разрывов цен в MQL5 (Часть II): Создаем тепловую карту распределения ликвидности во времени

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

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

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

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

Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Mantis)

Познакомьтесь с Mantis — лёгкой фундаментальной моделью для классификации временных рядов на базе Transformer с контрастным предварительным обучением и гибридным вниманием, обеспечивающими рекордную точность и масштабируемость.
preview
Нейросети в трейдинге: Адаптивное восприятие рыночной динамики (Энкодер)

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

В статье представлена комплексная архитектура Энкодера STE-FlowNet, объединяющая стековую память, рекуррентную обработку и корреляционный механизм для извлечения скрытых рыночных зависимостей. Показано, как эти модули последовательно интегрируются в единую вычислительную цепочку, способную осуществлять разносторонний анализ временных рядов.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 18): Поиск нейронной архитектуры с использованием собственных векторов

Возможности Мастера MQL5, которые вам нужно знать (Часть 18): Поиск нейронной архитектуры с использованием собственных векторов

Поиск нейронной архитектуры (Neural Architecture Search), автоматизированный подход к определению идеальных настроек нейронной сети, может стать преимуществом при наличии большого количества вариантов и больших наборов тестовых данных. Здесь мы рассмотрим, как этот подход можно сделать еще более эффективным с помощью парных собственных векторов (Eigen Vectors).
preview
Инженерия признаков с Python и MQL5 (Часть I): AI-модели для долгосрочного прогнозирования по скользящим средним

Инженерия признаков с Python и MQL5 (Часть I): AI-модели для долгосрочного прогнозирования по скользящим средним

Скользящие средние являются, безусловно, самыми эффективными индикаторами для прогнозирования моделями ИИ. Однако точность результатов можно еще больше повысить, если перед этим соответственным образом преобразовать данные. В этой статье мы поговорим о создании AI-моделей, которые могут прогнозировать в более отдаленное будущее без существенного снижения уровня точности. В очередной раз мы с вами убедимся, насколько полезны скользящие средние.
preview
Переосмысливаем классические стратегии (Часть X): Может ли ИИ управлять MACD?

Переосмысливаем классические стратегии (Часть X): Может ли ИИ управлять MACD?

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

Конструктор советников MQL5 (Часть 1): Простой статический шаблон

В статье разбирается пример многоцелевого шаблона торгового робота, который подойдет как для создания собственных стратегий, так и в качестве кодовой базы для работы на фрилансе. Ключевая особенность решения — торговля по барам, при этом код уже оснащен встроенными режимами усреднения, мартингейла и длительного удержания позиций. Материал будет наиболее полезен новичкам, которые хотят написать свои простые стратегии или познакомиться с распространенными торговыми техниками.
preview
Алгоритм анархической социальной оптимизации — Anarchic Society Optimization (ASO)

Алгоритм анархической социальной оптимизации — Anarchic Society Optimization (ASO)

В очередной статье мы познакомимся с алгоритмом Anarchic Society Optimization (ASO) и обсудим, как алгоритм, основанный на иррациональном и авантюрном поведении участников анархического общества - аномальной системы социального взаимодействия, свободной от централизованной власти и различного рода иерархий способен исследовать пространство решений и избегать ловушек локального оптимума. В статье будет представлена унифицированная структура ASO, применимая как к непрерывным, так и к дискретным задачам.
preview
Разработка системы репликации (Часть 35): Внесение корректировок (I)

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

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

Матричная факторизация: моделирование, которое более практично

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