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

icon

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

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

Новая статья
последние | лучшие
preview
Интеграция MQL5 с пакетами обработки данных (Часть 4): Обработка больших данных

Интеграция MQL5 с пакетами обработки данных (Часть 4): Обработка больших данных

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

Нейросети в трейдинге: Спайково-семантический подход к пространственно-временной идентификации (Окончание)

S3CE-Net в нашей интерпретации ловко переводит рынок в язык событий и фиксирует ранние импульсы, которые традиционные индикаторы просто усредняют. STFS гарантирует устойчивость обучения — модель видит данные под разными углами и не переобучается на локальных аномалиях. SSAM-блоки и OpenCL-реализация дают практическую скорость и точность, а разделение режимов обучение/эксплуатация сохраняет ресурсы в продакшене.
preview
От начального до среднего уровня: Перегрузка

От начального до среднего уровня: Перегрузка

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

Методы повторной выборки для оценки прогнозирования и классификации в MQL5

В этой статье рассмотрим и реализуем методы оценки качества модели, которые используют один и тот же набор данных как для обучения, так и для проверки.
preview
Разработка системы репликации (Часть 44): Проект Chart Trade (III)

Разработка системы репликации (Часть 44): Проект Chart Trade (III)

В предыдущей статье я объяснил, как можно управлять данными шаблона для их использования в OBJ_CHART. Там я лишь обозначил тему, не вдаваясь в подробности, поскольку в той версии работа была выполнена очень упрощенным способом. Это сделано для того, чтобы облегчить объяснение содержания, ведь несмотря на кажущуюся простоту многих вещей, некоторые из них не столь очевидны, а без понимания самой простой и основной части, вы не сможете по-настоящему разобраться в том, что мы делаем.
preview
Оптимизация на основе биогеографии — Biogeography-Based Optimization (BBO)

Оптимизация на основе биогеографии — Biogeography-Based Optimization (BBO)

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

Внедрение в MQL5 практических модулей из других языков (Часть 1): Создание библиотеки SQLite3 как в Python

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

Внедрение в MQL5 практических модулей из других языков (Часть 02): Создание библиотеки REQUESTS, как в Python

В этой статье опишем реализацию модуля, аналогичного модулю requests в Python, чтобы упростить отправку и получение веб-запросов в MetaTrader 5 с использованием MQL5.
preview
Как подключить ИИ-агентов к MetaTrader 5 через MCP

Как подключить ИИ-агентов к MetaTrader 5 через MCP

В статье показано, как подключить ИИ-агентов напрямую к MetaTrader 5, создав полноценный сервер MCP (Model Context Protocol) на Python. Подробно описаны архитектура, клиентская обёртка MetaTrader 5, обработчики рыночных данных и ордеров, а также регистрация инструментов через stdio, тестирование с помощью MCP Inspector и подключение к таким клиентам, как Claude Desktop или OpenClaw. В результате получается стандартизированный мост для запросов на естественном языке, получения данных в реальном времени и безопасного исполнения ордеров в MetaTrader 5.
preview
Разработка системы репликации (Часть 48): Концепции для понимания и осмысления

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

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 29): Темпы обучения и многослойные перцептроны

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

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

Темп обучения — это размер шага к цели обучения во многих алгоритмах машинного обучения. В статье мы изучим, какое влияние многочисленные форматы могут оказать на производительность генеративно-состязательной сети (Generative Adversarial Network, GAN) — разновидности нейронной сети, которую мы рассмотрели в одной из предыдущих статей.
preview
Интеграция Discord с MetaTrader 5: Создание торгового бота с уведомлениями в реальном времени

Интеграция Discord с MetaTrader 5: Создание торгового бота с уведомлениями в реальном времени

В этой статье мы рассмотрим, как интегрировать MetaTrader 5 и сервер Discord, чтобы получать торговые уведомления в реальном времени из любой точки мира. Мы узнаем, как настроить платформу и Discord, чтобы обеспечить отправку оповещений в Discord, а также поговорим о проблемах безопасности, возникающих в связи с использованием WebRequest и вебхуков для таких способов оповещения.
preview
Автоматизация торговых стратегий на MQL5 (Часть 12): Реализация стратегии смягчения ордер-блоков (MOB)

Автоматизация торговых стратегий на MQL5 (Часть 12): Реализация стратегии смягчения ордер-блоков (MOB)

В настоящей статье нами будет создана торговая система на MQL5, которая автоматизирует обнаружение ордер-блоков для для торговли по концепции Smart Money. Мы опишем правила стратегии, реализуем логику средствами MQL5 и интегрируем управление рисками для эффективного совершения сделок. Наконец, проведём тестирование системы на истории, чтобы оценить ее эффективность и доработать для получения оптимальных результатов.
preview
Загрузка данных Международного валютного фонда на Python

Загрузка данных Международного валютного фонда на Python

Загрузка данных Международного валютного фонда на Python: добываем данные IMF для применения в макроэкономических валютных стратегиях. Как макроэкономика может помочь трейдеру и алготрейдеру?
preview
Разрабатываем мультивалютный советник (Часть 32): Секреты шага создания проекта оптимизации (II)

Разрабатываем мультивалютный советник (Часть 32): Секреты шага создания проекта оптимизации (II)

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

Как использовать конечные разности для прогнозирования цен

Рассматривается практическое использование конечных разностей в трейдинге: типы разностей, их связь с динамикой цены и биноминальное преобразование для фильтрации шумов. Описаны правила кодирования паттернов по уровням разностей и применение этих паттернов к прогнозу. Приведены наивные, адаптивные и вероятностные подходы, которые помогают сглаживать ряды, выделять повторяющиеся структуры и оценивать будущие движения.
Материалы Automated Trading Championship: Репортажи Чемпионата 2006 года
Материалы Automated Trading Championship: Репортажи Чемпионата 2006 года

Материалы Automated Trading Championship: Репортажи Чемпионата 2006 года

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

Создание торговой панели администратора на MQL5 (Часть VI): Мультифункциональный интерфейс (I)

Роль администратора выходит за рамки простого общения в Telegram; он также может заниматься различными видами контроля, включая управление ордерами, отслеживание позиций и настройку интерфейса. В этой статье мы поделимся практическими советами по расширению нашей программы для поддержки множества функций в MQL5. Это обновление направлено на преодоление ограничений текущей панели администратора, которая в первую очередь сосредоточена на общении.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 62): Использование паттернов ADX и CCI с обучением с подкреплением TRPO

Возможности Мастера MQL5, которые вам нужно знать (Часть 62): Использование паттернов ADX и CCI с обучением с подкреплением TRPO

Осцилляторы ADX и CCI — это индикаторы следования за трендом и импульса, которые можно использовать в паре при разработке советника. Мы продолжаем тему, начатую в предыдущей статье, рассмотрением того, как обучение и обновление разработанной нами модели в процессе эксплуатации могут осуществляться благодаря обучению с подкреплением. Мы используем алгоритм, который еще не рассматривали в этой серии, известный как оптимизация политики доверенных регионов (Trusted Region Policy Optimization, TRPO). Как всегда, сборка советника с помощью Мастера MQL5 позволяет нам гораздо быстрее настраивать наши модели для тестирования таким образом, чтобы их можно было распространять и тестировать с различными типами сигналов.
preview
Автоматизация торговых стратегий на MQL5 (Часть 4): Построение многоуровневой системы зонального восстановления

Автоматизация торговых стратегий на MQL5 (Часть 4): Построение многоуровневой системы зонального восстановления

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

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

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

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

В статье представлен практический опыт внедрения фреймворка STFlow в торговую систему. Показано, как параллельная обработка ICE-признаков и потока событий, сочетание motion-энкодера и адаптивной фьюжн-агрегации позволяют модели самостоятельно анализировать рынок и принимать решения в реальном времени. Результаты тестирования на исторических данных демонстрируют положительное математическое ожидание и способность к адаптации в меняющихся рыночных условиях.
preview
Переосмысливаем классические стратегии (Часть 18): Алгоритмический поиск свечных паттернов

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

Эта статья помогает новым участникам сообщества искать и находить собственные свечные паттерны. Описание этих паттернов может оказаться сложной задачей, поскольку требует ручного поиска и творческого подхода к выявлению усовершенствований. В этой статье мы представляем свечной паттерн поглощения и показываем, как его можно усовершенствовать для создания более прибыльных торговых стратегий.
preview
Алгоритм циклического партеногенеза — Cyclic Parthenogenesis Algorithm (CPA)

Алгоритм циклического партеногенеза — Cyclic Parthenogenesis Algorithm (CPA)

В данной статье рассмотрим новый популяционный алгоритм оптимизации CPA (Cyclic Parthenogenesis Algorithm), вдохновленный уникальной репродуктивной стратегией тлей. Алгоритм сочетает два механизма размножения — партеногенез и половое, а также использует колониальную структуру популяции с возможностью миграции между колониями. Ключевыми особенностями алгоритма являются адаптивное переключение между различными стратегиями размножения и система обмена информацией между колониями через механизм перелета.
preview
От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (V) — Система напоминаний о событиях

От новичка до эксперта: Создание анимированного советника для новостей в MQL5 (V) — Система напоминаний о событиях

В этом обсуждении мы рассмотрим дополнительные усовершенствования, поскольку интегрируем усовершенствованную логику оповещения о событиях в экономическом календаре, отображаемых советником «Заголовки новостей». Это усовершенствование имеет решающее значение — оно гарантирует, что пользователи будут получать своевременные уведомления за короткое время до ключевых предстоящих событий. Присоединяйтесь к этой дискуссии, чтобы узнать больше.
preview
Нейросети в трейдинге: Гибридные модели прогнозирования с управляемой смесью распределений (Lattice)

Нейросети в трейдинге: Гибридные модели прогнозирования с управляемой смесью распределений (Lattice)

Статья разбирает гибридную систему Lattice: базовый LSTM, архетипы, soft/hard assignment и confidence-based binary gating для управления неопределённостью. Включён Tail-Aware модуль для моделирования тяжёлых хвостов и локально взрывных участков. Приведена реализация в MQL5 с выносом вычислительно тяжёлых частей в OpenCL и GPU (смесь экспертов, генерация и градиенты). Практический эффект — более надёжные сигналы входа/выхода и количественная поддержка риск-контроля.
preview
Механизмы гейтинга в ансамблевом обучении

Механизмы гейтинга в ансамблевом обучении

В настоящей статье мы продолжаем наше исследование ансамблевых моделей, обсуждая концепцию ворот (gates), в частности, как они могут быть полезны при объединении выходных данных модели для повышения точности прогнозирования или обобщения модели.
preview
Разработка системы репликации (Часть 68): Настройка времени (I)

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

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

Моделирование рынка (Часть 03): Вопрос производительности

Часто нам приходится делать шаг назад, а затем двигаться вперед. В этой статье мы покажем все изменения, необходимые для того, чтобы не нарушить работу индикаторов Mouse и Chart Trade. В качестве бонуса расскажем о других изменениях, произошедших в других заголовочных файлах, которые будут широко использоваться в будущем.
preview
Передача тиковых данных из MetaTrader в Python через сокеты с помощью MQL5-сервисов

Передача тиковых данных из MetaTrader в Python через сокеты с помощью MQL5-сервисов

Иногда не все можно запрограммировать на языке MQL5. И даже если возможно конвертировать существующие современные библиотеки в MQL5, на это уйдет много времени. В данной статье мы попытаемся обойти зависимость от Windows с помощью MQL5-сервисов — будем передавать тиковые данные (bid, ask и time) в приложение Python с помощью сокетов.
preview
Оптимизация долгосрочных сделок: Свечи поглощения и стратегии работы с ликвидностью

Оптимизация долгосрочных сделок: Свечи поглощения и стратегии работы с ликвидностью

Это советник на основе высоких таймфреймов, который проводит долгосрочный анализ, принимает торговые решения и совершает сделки на базе анализа высоких таймфреймов W1, D1 и MN. В статье подробно рассматривается советник, специально разработанный для трейдеров, использующих долгосрочную торговлю и достаточно терпеливых, чтобы выдерживать волатильность младших таймфреймов и удерживать при этом свои позиции, не меняя слишком часто направление торговли, пока не достигнут целевых уровней фиксации прибыли.
preview
Разработка системы репликации (Часть 53): Всё усложняется (V)

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

В этой статье мы рассмотрим важную тему, которую мало кто понимает: Пользовательские события. Опасности. Преимущества и ошибки, вызванные такими элементами. Данная тема является ключевой для тех, кто хочет стать профессиональным программистом на MQL5 или любом другом языке. Поэтому мы сосредоточимся на MQL5 и MetaTrader 5.
preview
Переосмысливаем классические стратегии в MQL5 (Часть III): Прогнозирование индекса FTSE 100

Переосмысливаем классические стратегии в MQL5 (Часть III): Прогнозирование индекса FTSE 100

В данной серии статей мы вернемся к хорошо известным торговым стратегиям, чтобы узнать, можно ли улучшить их с помощью искусственного интеллекта. В сегодняшней статье мы рассмотрим индекс FTSE 100 и попытаемся спрогнозировать его, используя часть отдельных акций, входящих в состав индекса.
preview
Генеративно-состязательные сети (GAN) для синтетических данных в сфере финансового моделирования (Часть 1): Введение в GAN и синтетические данные в сфере финансового моделирования

Генеративно-состязательные сети (GAN) для синтетических данных в сфере финансового моделирования (Часть 1): Введение в GAN и синтетические данные в сфере финансового моделирования

Настоящая статья знакомит трейдеров с Генеративно-состязательными сетями (GAN) для генерации Синтетических финансовых данных, устраняя ограничения данных в процессе обучения модели. В ней рассматриваются основы GAN, реализация кода на python и MQL5, а также практическое применение в финансовой сфере, позволяющее трейдерам повысить точность и надежность моделей с помощью синтетических данных.
preview
Нейросети в трейдинге: Рекуррентное моделирование микродвижений рынка (Энкодер)

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

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

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

В статье реализован событийный фреймворк EVA-Flow на MQL5 с объектом верхнего уровня CNeuronEVAFlow, встроенным в иерархию потоковых нейронов. Показаны подготовка, кодирование, первичное приближение потока и декодирование в режиме реального времени. Тесты на исторических и независимых данных MetaTrader 5 подтвердили контролируемые риски и положительное матожидание, что делает архитектуру пригодной для практического использования в стратегиях.
preview
Сеточный советник на клеточном автомате с онлайн-обучением в MQL5 (Часть II): Новый уровень онлайн-адаптации

Сеточный советник на клеточном автомате с онлайн-обучением в MQL5 (Часть II): Новый уровень онлайн-адаптации

Во второй части клеточный автомат переводится с решётки на граф. Признаки становятся вершинами графа с локальными и дальними small‑world связями, а клетки — агентами, которые взаимодействуют не только с геометрическими, но и со смысловыми соседями. Рассматриваются графовая фильтрация признаков, построение графа соседей, обновлённое голосование по согласованности и метрики Graph Coherence и Graph Health. Это снижает влияние одиночных выбросов и ускоряет распространение рыночных режимов при полной совместимости с MQL5.
preview
Нейросети в трейдинге: Оптимизация Cross-Attention для анализа длинных последовательностей рынка (STCA)

Нейросети в трейдинге: Оптимизация Cross-Attention для анализа длинных последовательностей рынка (STCA)

Статья показывает, как применить STCA к рынку: цель формируется сценарием, история задаётся эмбеддингами, а внимание вычисляется через Single-query Target-to-history Cross-Attention. Интеграция с FlashAttention на OpenCL переносит проекции на запросы и избегает формирования K/V для всей истории. Практический эффект — линейная сложность, экономия памяти и ускорение при анализе тысяч баров.
preview
Применение ансамблевых методов для задач классификации на языке MQL5

Применение ансамблевых методов для задач классификации на языке MQL5

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