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

icon

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

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

Новая статья
последние | лучшие
preview
Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (MacroHFT)

Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (MacroHFT)

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

Применение ассоциативных правил для анализа данных на Форексе

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

Нейросети в трейдинге: Мультимодальный агент, дополненный инструментами (FinAgent)

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

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

В статье представлена адаптация фреймворка EEMFlow для построения высокоэффективных торговых моделей средствами MQL5. Рассматриваются алгоритмы оценки MeshFlow с расширенной корреляцией признаков, позволяющие точно анализировать динамику рынка и прогнозировать ценовые потоки. Тестирование подтвердило положительное математическое ожидание, умеренные просадки и высокую эффективность принятия решений.
preview
Нейросети в трейдинге: Повышение эффективности Transformer путем снижения резкости (SAMformer)

Нейросети в трейдинге: Повышение эффективности Transformer путем снижения резкости (SAMformer)

Обучение моделей Transformer требует больших объемов данных и часто затруднено из-за слабой способности моделей к обобщению на малых выборках. Фреймворк SAMformer помогает решить эту проблему, избегая плохих локальных минимумов. И повышает эффективность моделей даже на ограниченных обучающих выборках.
preview
Таблицы в парадигме MVC на MQL5: Таблица корреляции символов

Таблицы в парадигме MVC на MQL5: Таблица корреляции символов

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

Разработка системы репликации (Часть 32): Система ордеров (I)

Из всего, что было разработано до настоящего момента, данная система, как вы наверняка заметите и со временем согласитесь, - является самым сложным. Сейчас нам нужно сделать нечто очень простое: заставить нашу систему имитировать работу торгового сервера на практике. Эта необходимость точно реализовывать способ моделирования действий торгового сервера кажется простым делом. По крайней мере, на словах. Но нам нужно сделать это так, чтобы для пользователя системы репликации/моделирования всё происходило как можно более незаметно или прозрачно.
preview
Факторизация матриц: основы

Факторизация матриц: основы

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

Теория категорий в MQL5 (Часть 20): Самовнимание и трансформер

Немного отвлечемся от наших постоянных тем и рассмотрим часть алгоритма ChatGPT. Есть ли у него какие-то сходства или понятия, заимствованные из естественных преобразований? Попытаемся ответить на эти и другие вопросы, используя наш код в формате класса сигнала.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 2): Стратегия скальпинга на USDJPY

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

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

От новичка до эксперта: Создание индикатора для определения зон ликвидности

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

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

Классификация данных для анализа и прогнозирования — очень разнообразная область машинного обучения с большим количеством подходов и методов. В этой статье рассматривается один из таких подходов, а именно агломеративная иерархическая классификация (Agglomerative Hierarchical Classification).
preview
Расширенные переменные и типы данных в MQL5

Расширенные переменные и типы данных в MQL5

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

Методы дискретизации ценовых движений на Python

Мы рассмотрим методы дискретизации цен на Python + MQL5. В этой статье я поделюсь практическим опытом разработки библиотеки на Python, которая реализует целый спектр подходов к формированию баров — от классических Volume и Range bars до более экзотических методов вроде Renko и Kagi.ары, свечи трехлинейного прорыва, рэйндж бары — какова их статистика, как еще можно представить цены дискретно?
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 19): Байесовский вывод

Возможности Мастера MQL5, которые вам нужно знать (Часть 19): Байесовский вывод

Байесовский вывод — это применение теоремы Байеса для обновления вероятностной гипотезы по мере поступления новой информации. Это намекает на необходимость адаптации в анализе временных рядов, и поэтому мы рассмотрим, как мы могли бы использовать его при создании пользовательских классов не только применительно к сигналам, но и для управления капиталом и трейлинг-стопами.
preview
От новичка до эксперта: Торговля по RSI с учетом структуры рынка

От новичка до эксперта: Торговля по RSI с учетом структуры рынка

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

Популяционные алгоритмы оптимизации: Устойчивость к застреванию в локальных экстремумах (Часть II)

Продолжение эксперимента, цель которого - исследовать поведение популяционных алгоритмов оптимизации в контексте их способности эффективно покидать локальные минимумы при низком разнообразии в популяции и достигать глобальных максимумов. Результаты исследования.
preview
Самооптимизирующийся советник на языках MQL5 и Python (Часть V): Глубокие марковские модели

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

Мы применим простую цепь Маркова к индикатору RSI, чтобы наблюдать за поведением цены после того, как индикатор проходит через ключевые уровни. Мы пришли к выводу, что самые сильные сигналы на покупку и продажу по паре NZDJPY генерируются, когда RSI находится в диапазоне 11–20 и 71–80 соответственно. Мы покажем, как можно манипулировать данными, чтобы создавать оптимальные торговые стратегии, основанные непосредственно на имеющихся данных. Кроме того, мы продемонстрируем, как обучить глубокую нейронную сеть оптимальному использованию матрицы перехода.
preview
Разработка системы репликации - Моделирование рынка (Часть 25): Подготовка к следующему этапу

Разработка системы репликации - Моделирование рынка (Часть 25): Подготовка к следующему этапу

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

Теория категорий в MQL5 (Часть 4): Интервалы, эксперименты и композиции

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

От Python к MQL5: Путешествие в квантовые торговые системы

В статье рассматривается разработка квантовой торговой системы - от прототипа на Python к реализации на MQL5 для реальной торговли. Система использует принципы квантовых вычислений, такие как суперпозиция и запутанность, для анализа состояний рынка, хотя она работает на классических компьютерах с использованием квантовых симуляторов. Ключевые особенности включают трехкубитную систему для одновременного анализа восьми состояний рынка, 24-часовые периоды ретроспективного анализа и семь технических индикаторов для анализа рынка. Хотя показатели точности могут показаться скромными, они обеспечивают существенное преимущество в сочетании с правильными стратегиями управления рисками.
preview
Нейросети в трейдинге: Актер—Режиссёр—Критик (Actor—Director—Critic)

Нейросети в трейдинге: Актер—Режиссёр—Критик (Actor—Director—Critic)

Предлагаем познакомиться с фреймворком Actor-Director-Critic, который сочетает в себе иерархическое обучение и многокомпонентную архитектуру для создания адаптивных торговых стратегий. В этой статье мы подробно рассмотрим, как использование Режиссера для классификации действий Актера помогает эффективно оптимизировать торговые решения и повышать устойчивость моделей в условиях финансовых рынков.
preview
Нейросети в трейдинге: Инъекция глобальной информации в независимые каналы (InjectTST)

Нейросети в трейдинге: Инъекция глобальной информации в независимые каналы (InjectTST)

Большинство современных методов прогнозирования мультимодальных временных рядов используют подход независимых каналов. Тем самым игнорируется природная зависимость различных каналов одного временного ряда. Разумное использование 2 подходов (независимых и смешанных каналов) является ключом к повышению эффективности моделей.
preview
Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (Окончание)

Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (Окончание)

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 38): Полосы Боллинджера

Полосы Боллинджера — очень распространенный индикатор конвертов, используемый многими трейдерами для ручного размещения и закрытия сделок. Мы изучим этот индикатор, рассмотрев как можно больше различных сигналов, которые он генерирует, и посмотрим, как их можно использовать в советнике, собранном с помощью Мастера.
preview
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 2)

Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 2)

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

Отбор признаков и снижение размерности с помощью анализа главных компонент (PCA)

В статье рассматривается реализация модифицированного алгоритма анализа компонентов прямого отбора, вдохновленного исследованиями, представленными в книге Луки Пуггини (Luca Puggini) и Шона Маклуна (Sean McLoone) “Анализ компонентов прямого отбора: алгоритмы и приложения”.
preview
Совместное использование PSAR, Хейкин-Аши и глубокого обучения для трейдинга

Совместное использование PSAR, Хейкин-Аши и глубокого обучения для трейдинга

В настоящем проекте исследуется сочетание глубокого обучения и технического анализа для тестирования торговых стратегий на рынке Форекс. Для быстрого экспериментирования используется скрипт на Python, использующий модель ONNX наряду с традиционными индикаторами, такими как PSAR, SMA и RSI, для прогнозирования движения пары EUR/USD. Затем скрипт MetaTrader 5 переносит эту стратегию в реальную среду, используя исторические данные и технический анализ для принятия обоснованных торговых решений. Результаты тестирования на исторических данных свидетельствуют об осторожном, но последовательном подходе, направленном на управление рисками и устойчивый рост, а не на агрессивную погоню за прибылью.
preview
Анализ влияния погоды на валюты аграрных стран с использованием Python

Анализ влияния погоды на валюты аграрных стран с использованием Python

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

Нейросети в трейдинге: Оптимизация Transformer для прогнозирования временных рядов (LSEAttention)

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

Прогнозирование в трейдинге и Grey-модели

В этой статье рассматривается применение Grey-моделей для прогнозирования финансовых временных рядов. Мы рассмотрим принципы работы Grey-моделей и особенности их применения к финансовым рядам. Обсудим преимущества и ограничения использования этих моделей в трейдинге.
preview
Как опередить любой рынок (Часть V): Альтернативные данные FRED EURUSD

Как опередить любой рынок (Часть V): Альтернативные данные FRED EURUSD

В статье использованы альтернативные ежедневные данные Федерального резервного банка Сент-Луиса по обобщенному индексу доллара США и набор других макроэкономических показателей для прогнозирования будущего обменного курса EURUSD. К сожалению, хотя данные, по-видимому, имеют почти идеальную корреляцию, нам не удалось получить никаких существенных преимуществ в точности нашей модели, что, наводит нас на мысль, что инвесторам, возможно, лучше использовать обычные рыночные котировки.
preview
Разработка системы репликации (Часть 33): Система ордеров (II)

Разработка системы репликации (Часть 33): Система ордеров (II)

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

Переосмысливаем классические стратегии (Часть 13): Минимизация задержки при пересечении скользящих средних

Пересечения скользящих средних широко известны трейдерам, и тем не менее суть стратегии мало изменилась с момента ее создания. В этой статье мы представим небольшую корректировку первоначальной стратегии, направленную на минимизацию задержки. Все поклонники оригинальной стратегии могут рассмотреть возможность ее пересмотра в соответствии с рассмотренными здесь идеями. Используя две скользящие средние с одинаковым периодом, мы значительно сокращаем задержку торговой стратегии, не нарушая при этом ее основополагающих принципов.
preview
Разработка системы репликации - Моделирование рынка (Часть 13): Появление СИМУЛЯТОРА (III)

Разработка системы репликации - Моделирование рынка (Часть 13): Появление СИМУЛЯТОРА (III)

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

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

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

Визуализация стратегий в MQL5: раскладываем результаты оптимизации по графикам критериев

В этой статье мы напишем пример визуализации процесса оптимизации и сделаем отображение трёх лучших проходов для четырёх критериев оптимизации. А также обеспечим возможность выбора одного из трёх лучших проходов для вывода его данных в таблицы и на график.
preview
Создание советника Daily Drawdown Limiter на языке MQL5

Создание советника Daily Drawdown Limiter на языке MQL5

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

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

Продолжаем знакомство с фреймворком Mamba4Cast. И сегодня мы погрузимся в практическую реализацию предложенных подходов. Mamba4Cast создавался не для долгого прогрева на каждом новом временном ряде, а для мгновенного включения в работу. Благодаря идее Zero‑Shot Forecasting модель способна сразу выдавать качественные прогнозы на реальных данных без дообучения и тонкой настройки гиперпараметров.
preview
Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Построение объектов)

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

Mantis — универсальный инструмент для глубокого анализа временных рядов, гибко масштабируемый под любые финансовые сценарии. Узнайте, как сочетание патчинга, локальных свёрток и кросс-внимания позволяет получить высокоточную интерпретацию рыночных паттернов.