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

icon

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

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

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

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

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

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

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

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

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

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 21): Тестирование с данными экономического календаря

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

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

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

Разработка системы репликации - Моделирование рынка (Часть 07): Первые улучшения (II)

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

Проблема разногласий: объяснимость и объяснители в ИИ

В этой статье мы будем говорить о проблемах, связанных с объяснителями и объяснимостью в ИИ. Модели ИИ часто принимают решения, которые трудно объяснить. Более того, использование нескольких объяснителей часто приводит к так называемой "проблеме разногласий". А ведь ясное понимание того, как работают модели, является ключевым для повышения доверия к ИИ.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 13): DBSCAN для класса сигналов советника

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

Основанная на плотности пространственная кластеризация для приложений с шумами (Density Based Spatial Clustering for Applications with Noise, DBSCAN) - это неконтролируемая форма группировки данных, которая практически не требует каких-либо входных параметров, за исключением всего двух, что по сравнению с другими подходами, такими как k-средние, является преимуществом. Разберемся в том, как это может быть полезно в тестировании и торговле с применением советников, собранных в Мастере.
preview
Удаленный профессиональный риск-менеджер Forex на Python

Удаленный профессиональный риск-менеджер Forex на Python

Делаем удаленный профессиональный риск-менеджер Для Forex на Python, разворачиваем его на сервере по шагам. В процессе статьи поймем, как программно управлять рисками на Форекс, и как больше не слить депозит на Форекс.
preview
Прогнозирование условного распределения с помощью MLP

Прогнозирование условного распределения с помощью MLP

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

Создаем динамическую мультисимвольную мультипериодную панель индекса относительной силы (RSI) в MQL5

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

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

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

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

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

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

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

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

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

MQL5-советник, интегрированный в Telegram (Часть 4): Модуляризация функций кода для улучшенного повторного использования

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

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

Генеративно-состязательные сети — это пара нейронных сетей, которые обучаются друг на друге для получения более точных результатов. Мы рассмотрим условный тип этих сетей в контексте их возможного применения в прогнозировании финансовых временных рядов в рамках класса сигналов советника.
preview
Нейросети в трейдинге: Прогнозирование временных рядов при помощи адаптивного модального разложения (ACEFormer)

Нейросети в трейдинге: Прогнозирование временных рядов при помощи адаптивного модального разложения (ACEFormer)

Предлагаем познакомиться с архитектурой ACEFormer — современным решением, сочетающим эффективность вероятностного внимания и адаптивное разложение временных рядов. Материал будет полезен тем, кто ищет баланс между вычислительной производительностью и точностью прогноза на финансовых рынках.
preview
Алгоритм искусственного орошения — Artificial Showering Algorithm (ASHA)

Алгоритм искусственного орошения — Artificial Showering Algorithm (ASHA)

В статье представлен Алгоритм Искусственного Орошения (ASHA) – новый метаэвристический метод, разработанный для решения общих задач оптимизации. Основанный на моделировании процессов потоков и накопления воды, этот алгоритм выстраивает концепцию идеального поля, в котором каждая единица ресурса (вода) вызывается для поиска оптимального решения. Узнайте, как ASHA адаптирует принципы потока и накопления для эффективного распределения ресурсов в условиях поискового пространства, а также познакомьтесь с его реализацией и итогами тестирования.
preview
Разработка советника для мониторинга точек входа в свинг-сделки

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

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

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

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

Разработка системы репликации (Часть 73): Неожиданный способ оповещений (II)

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

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

Знаете ли вы, что стратегии "Золотой крест" (Golden Cross) и "Крест смерти" (Death Cross), основанные на пересечении скользящих средних, являются одними из самых надежных индикаторов для определения долгосрочных рыночных трендов? "Золотой крест" сигнализирует о бычьем тренде, когда более короткая скользящая средняя пересекает более длинную снизу вверх, в то время как "крест смерти" указывает на медвежий тренд, когда короткая скользящая средняя опускается ниже длинной. Несмотря на их простоту и эффективность, ручное применение этих стратегий часто приводит к упущенным возможностям или задержке сделок.
preview
Нейросети в трейдинге: Пространственно-временная модель состояния для анализа финансовых данных (Окончание)

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

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

Нейросети в трейдинге: Управляемая сегментация

Предлагаем познакомиться с методом комплексного мультимодального анализа взаимодействия и понимания признаков.
preview
Алгоритм арифметической оптимизации (AOA): Путь от AOA к SOA (Simple Optimization Algorithm)

Алгоритм арифметической оптимизации (AOA): Путь от AOA к SOA (Simple Optimization Algorithm)

В данной статье мы представляем алгоритм арифметической оптимизации (Arithmetic Optimization Algorithm, AOA), который основывается на простых арифметических операциях: сложении, вычитании, умножении и делении. Эти базовые математические действия служат основой для поиска оптимальных решений в различных задачах.
preview
Форекс советник на нейросети N-BEATS Network

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

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

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

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

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

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

Анализируем двоичный код цен на бирже (Часть II): Преобразуем в BIP39 и пишем GPT модель

Продолжаем попытки дешифровать движения цен... Как насчет лингвистического анализа "словаря рынка", который мы получим, преобразовав бинарный код цены в BIP39? В этой статье мы углубимся в инновационный подход к анализу биржевых данных и рассмотрим, как современные методы обработки естественного языка могут быть применены к языку рынка.
preview
Нейросети в трейдинге: Модели многократного уточнения прогнозов (RAFT)

Нейросети в трейдинге: Модели многократного уточнения прогнозов (RAFT)

Фреймворк RAFT предлагает принципиально иной подход к прогнозированию динамики рынка — не как разовый снимок, а как итеративное уточнение состояния в реальном времени. Он одновременно учитывает локальные и глобальные изменения, сохраняя высокую точность даже при сложных ценовых структурах.
preview
Нейросети в трейдинге: Двусторонняя адаптивная временная корреляция (Основные компоненты)

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

В этой статье мы продолжаем реализацию фреймворка BAT средствами MQL5, показывая, как двунаправленная корреляция и модуль SATMA позволяют анализировать динамику рынка в контексте текущего состояния. Представлены ключевые архитектурных решения, позволяющие адаптировать фреймворк к анализу финансовых данных.
preview
Инженерия признаков с Python и MQL5 (Часть I): AI-модели для долгосрочного прогнозирования по скользящим средним

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

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

Разработка системы репликации - Моделирование рынка (Часть 24): FOREX (V)

Сегодня мы снимем ограничение, которое препятствовало выполнению моделирований, основанных на построении LAST, и введем новую точку входа специально для этого типа моделирования. Обратите внимание на то, что весь механизм работы будет основан на принципах валютного рынка. Основное различие в данной процедуре заключается в разделении моделирований BID и LAST. Однако важно отметить, что методология, используемая при рандомизации времени и его корректировке для совместимости с классом C_Replay, остается идентичной в обоих видах моделирования. Это хорошо, поскольку изменения в одном режиме приводят к автоматическим улучшениям в другом, особенно если это касается обработки времени между тиками.
preview
От новичка к эксперту: Главное на пути к торговле на MQL5

От новичка к эксперту: Главное на пути к торговле на MQL5

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

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

Ядра гауссовского процесса (Gaussian Process Kernels) — это ковариационная функция нормального распределения, которая может быть использована в прогнозировании. Мы исследуем этот уникальный алгоритм в пользовательском классе сигналов MQL5, чтобы увидеть, можно ли использовать его в качестве основного сигнала входа и выхода.
preview
Торгуем опционы без опционов (Часть 2): Использование в реальной торговле

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

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

Разрабатываем мультивалютный советник (Часть 30): От торговой стратегии — к запуску мультивалютного советника

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

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

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