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

icon

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

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

Новая статья
последние | лучшие
preview
От новичка до эксперта: Программирование японских свечей

От новичка до эксперта: Программирование японских свечей

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

Разработка системы репликации - Моделирование рынка (Часть 22): ФОРЕКС (III)

Хотя это уже третья статья об этом, я должен объяснить для тех, кто еще не понял разницу между фондовым рынком и валютным рынком (ФОРЕКС): большая разница заключается в том, что в ФОРЕКС не существует, точнее, нам не дают информацию о некоторых моментах, которые действительно происходили в ходе торговли.
preview
Критерии тренда. Окончание

Критерии тренда. Окончание

В этой статье мы рассмотрим особенности применения некоторых критериев тренда на практике. А также сделаем попытку разработать несколько новых критериев. Основное внимание будет уделено эффективности применения этих критериев для анализа рыночных данных и трейдинга.
preview
Алгоритм кометного следа (Comet Tail Algorithm, CTA)

Алгоритм кометного следа (Comet Tail Algorithm, CTA)

В данной статье мы рассмотрим новый авторский алгоритм оптимизации CTA (Comet Tail Algorithm), который черпает вдохновение из уникальных космических объектов - комет и их впечатляющих хвостов, формирующихся при приближении к Солнцу. Данный алгоритм основан на концепции движения комет и их хвостов, и предназначен для поиска оптимальных решений в задачах оптимизации.
preview
Торговый инструментарий MQL5 (Часть 2): Расширение и применение EX5-библиотеки для управления позициями

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

Узнайте, как импортировать и использовать EX5-библиотеки в вашем коде или проектах MQL5. В этой статье мы расширим ранее созданную EX5-библиотеку, добавив больше функций управления позициями и создав два советника. В первом примере будет использоваться технический индикатор Variable Index Dynamic Average для разработки советника по стратегии трейлинг-стопа, а во втором - торговая панель для мониторинга, открытия, закрытия и изменения позиций. Эти два примера продемонстрируют, как использовать обновленную EX5-библиотеку для управления позициями.
preview
Теория категорий в MQL5 (Часть 16): Функторы с многослойными перцептронами

Теория категорий в MQL5 (Часть 16): Функторы с многослойными перцептронами

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

Подробная информация о торговле на основе объема: Подтверждение тренда

Усовершенствованный метод подтверждения тренда сочетает в себе ценовое движение, анализ объема и машинное обучение для выявления подлинных изменений на рынке. Для подтверждения сделки требуются как ценовые пробои, так и скачки объема (на 50% выше среднего), а для дополнительного подтверждения используется нейронная сеть LSTM. Система использует определение размера позиции на основе ATR и динамическое управление рисками, что позволяет ей адаптироваться к различным рыночным условиям и одновременно отфильтровывать ложные сигналы.
preview
DoEasy. Элементы управления (Часть 17): Отсечение невидимых участков объектов, вспомогательные WinForms-объекты кнопки со стрелками

DoEasy. Элементы управления (Часть 17): Отсечение невидимых участков объектов, вспомогательные WinForms-объекты кнопки со стрелками

В статье создадим функционал сокрытия участков объектов, выходящих за пределы своего контейнера, создадим вспомогательные объекты-кнопки со стрелками для использования их в составе других WinForms-объектов.
preview
Модифицированный советник Grid-Hedge в MQL5 (Часть III): Оптимизация простой хеджирующей стратегии (I)

Модифицированный советник Grid-Hedge в MQL5 (Часть III): Оптимизация простой хеджирующей стратегии (I)

В третьей части мы вернемся к советникам Simple Hedge и Simple Grid, разработанным ранее. Теперь мы займемся совершенствованием советника Simple Hedge с помощью математического анализа и подхода грубой силы (brute force) с целью оптимального использования стратегии. Эта статья углубляется в математическую оптимизацию стратегии, закладывая основу для будущего исследования оптимизации на основе кода в последующих частях.
preview
Нейросети в трейдинге: Гибридный торговый фреймворк с предиктивным кодированием (StockFormer)

Нейросети в трейдинге: Гибридный торговый фреймворк с предиктивным кодированием (StockFormer)

Предлагаем познакомиться с гибридной торговой системой StockFormer, которая объединят предиктивное кодирование и алгоритмы обучения с подкреплением (RL). Во фреймворке используются 3 ветви Transformer с интегрированным механизмом Diversified Multi-Head Attention (DMH-Attn), который улучшает ванильный модуль внимания за счет многоголового блока Feed-Forward, что позволяет захватывать разнообразные паттерны временных рядов в разных подпространствах.
preview
Разрабатываем мультивалютный советник (Часть 29): Доработка конвейера

Разрабатываем мультивалютный советник (Часть 29): Доработка конвейера

Повышаем удобство работы с конвейером автоматической оптимизации: попробуем пройти путь от создания проекта оптимизации до теста итогового советника. Для наглядности промоделируем по шагам весь процесс создания итогового советника, останавливаясь для внесения желаемых исправлений.
preview
Нейросети в трейдинге: Иерархическое обучение признаков облака точек

Нейросети в трейдинге: Иерархическое обучение признаков облака точек

Продолжаем изучение алгоритмов для извлечения признаков из облака точек. И в данной статье мы познакомимся с механизмами повышения эффективности метода PointNet.
preview
Квантовая нейросеть на MQL5 (Часть I): Создаем включаемый файл

Квантовая нейросеть на MQL5 (Часть I): Создаем включаемый файл

Статья представляет новый подход к созданию торговых систем на основе квантовых принципов и искусственного интеллекта. Автор описывает разработку уникальной нейронной сети, которая выходит за рамки классического машинного обучения, объединяя квантовую механику с современными архитектурами ИИ.
preview
Многослойный перцептрон и алгоритм обратного распространения ошибки (Часть 3): Интеграция с тестером стратегии - Обзор (I)

Многослойный перцептрон и алгоритм обратного распространения ошибки (Часть 3): Интеграция с тестером стратегии - Обзор (I)

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

Переосмысливаем классические стратегии (Часть 12): Стратегия пробоев на паре EURUSD

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

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

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

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

В этой серии статей мы обсуждаем создание советников, способных автономно подстраиваться под динамичные рыночные условия. В сегодняшней статье мы попытаемся настроить глубокую нейронную сеть для синтетических рынков Deriv.
preview
Нейронная сеть на практике: Зарисовка нейрона

Нейронная сеть на практике: Зарисовка нейрона

В этой статье мы построим базовый нейрон. И хотя с виду он кажется простым, а многие могут посчитать этот код совершенно тривиальным и бессмысленным, я хочу, чтобы вы получили удовольствие, изучая этот простой набросок нейрона. Не бойтесь изменять код, чтобы лучше его понять.
preview
Решение проблем интеграции ONNX

Решение проблем интеграции ONNX

ONNX — отличный инструмент для интеграции сложного ИИ-кода на разных платформах. Однако при его использовании возникают некоторые сложности, которые необходимо преодолеть, чтобы извлечь из него максимальную пользу. В этой статье мы обсудим распространенные проблемы, с которыми вы можете столкнуться, и способы их устранения.
preview
Разработка передовых торговых систем (ПТС): Реализация Order Blocks в индикаторе

Разработка передовых торговых систем (ПТС): Реализация Order Blocks в индикаторе

В этой статье мы узнаем, как создать индикатор, который обнаруживает, рисует и предупреждает о смягчении ордер-блоков (ОВ). Также мы подробно рассмотрим, как идентифицировать эти блоки на графике, устанавливать точные предупреждения и визуализировать их положение с помощью прямоугольников, чтобы лучше понять поведение цены. Данный индикатор станет ключевым инструментом для тех, кто следует концепциям Smart Money Concepts и методологии Inner Circle Trader.
preview
Шаблоны проектирования в MQL5 (Часть 2): Структурные шаблоны

Шаблоны проектирования в MQL5 (Часть 2): Структурные шаблоны

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

Нейросети в трейдинге: Параметроэффективный Transformer с сегментированным вниманием (PSformer)

Предлагаем познакомиться с новым фреймворком PSformer, который адаптирует архитектуру ванильного Transformer для решения задач прогнозирования многомерных временных рядов. В основе фреймворка лежат две ключевые инновации: механизм совместного использования параметров (PS) и внимание к пространственно-временным сегментам (SegAtt).
preview
Нейросети в трейдинге: Мультимодальный агент, дополненный инструментами (Окончание)

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

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

Объединение стратегий фундаментального и технического анализа на языке MQL5 для начинающих

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

Объединяем 3D-бары, квантовые вычисления и машинное обучение в единую торговую систему

Представлена полная интеграция модуля 3D-баров в квантово-усиленную торговую систему для прогнозирования движения валютных пар. Система объединяет стационарные четырёхмерные признаки, квантовый энкодер на 8 кубитах и градиентный бустинг CatBoost с 52+ признаками. Система реализована на Python с использованием MetaTrader 5, Qiskit, CatBoost и опциональной интеграцией LLM Llama 3.2 для интерпретации прогнозов.
preview
Прогнозирование трендов с помощью LSTM для стратегий следования за трендом

Прогнозирование трендов с помощью LSTM для стратегий следования за трендом

Долгая кратковременная память (LSTM) - это тип рекуррентной нейронной сети (RNN), предназначенной для моделирования последовательных данных путем эффективного учета долгосрочных зависимостей и решения проблемы исчезающего градиента. В настоящей статье мы рассмотрим, как использовать LSTM для прогнозирования будущих тенденций, повышая эффективность стратегий следования за трендами. В статье будет рассказано о внедрении ключевых концепций и стоящей за разработкой мотивации, извлечении данных из MetaTrader 5, использовании этих данных для обучения модели на Python, интеграции модели машинного обучения в MQL5, а также о результатах и перспективах на будущее на основании статистического бэк-тестирования.
preview
Шаблоны проектирования в программировании на MQL5 (Часть 3): Поведенческие шаблоны 1

Шаблоны проектирования в программировании на MQL5 (Часть 3): Поведенческие шаблоны 1

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

Квантовая нейросеть на MQL5 (Часть II): Обучаем нейросеть с обратным распространением ошибки на марковских матрицах ALGLIB

В статье представлена инновационная архитектура квантовой нейронной сети для алгоритмической торговли, объединяющая принципы квантовой механики с современными методами машинного обучения. Система включает квантовые эффекты (резонанс, интерференцию, декогеренцию), многоуровневую память различных временных масштабов, марковские цепи с библиотекой ALGLIB и адаптивное управление параметрами. Полная реализация выполнена на MQL5 с использованием встроенных типов matrix/vector, что устраняет барьеры внедрения в MetaTrader 5.
preview
Разработка системы репликации - Моделирование рынка (Часть 11): Появление СИМУЛЯТОРА (I)

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

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

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

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

Теория категорий в MQL5 (Часть 7): Мульти-, относительные и индексированные домены

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

Переходим на MQL5 Algo Forge (Часть 1): Создание основного репозитория

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

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

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

Введение в MQL5 (часть 9): Использование объектов на графике

В этой статье мы научимся создавать и настраивать объекты графиков в MQL5, используя текущие и исторические данные. Здесь также представлено практическое руководство, с которым вы сможете отображать сделки на графике и использовать другие объекты MQL5 на практике.
preview
Теория категорий в MQL5 (Часть 17): Функторы и моноиды

Теория категорий в MQL5 (Часть 17): Функторы и моноиды

Это последняя статья серии, посвященная функторам. В ней мы вновь рассматриваем моноиды как категорию. Моноиды, которые мы уже представили в этой серии, используются здесь для помощи в определении размера позиции вместе с многослойными перцептронами.
preview
Возвратные стратегии дневной торговли RSI2 Ларри Коннорса

Возвратные стратегии дневной торговли RSI2 Ларри Коннорса

Ларри Коннорс — известный трейдер и автор книг, наиболее известный своими работами в области количественной (алгоритмизированной) торговли и таких стратегий, как 2-периодный индекс относительной силы RSI (RSI2), помогающих определять краткосрочные состояния перекупленности и перепроданности рынка. В этой статье объясним сначала актуальность нашего исследования, затем воссоздадим три самые известные стратегии Коннорса на языке MQL5 и применим их к внутридневной торговле на индексе CFD S&P 500.
preview
Индикатор прогнозирования ARIMA на MQL5

Индикатор прогнозирования ARIMA на MQL5

В данной статье мы создаем индикатор прогнозирования ARIMA на MQL5. Рассматривается, как модель ARIMA формирует прогнозы, её применимость к рынку Форекс и фондовому рынку в целом. Также объясняется, что такое авторегрессия AR, каким образом авторегрессионные модели используются для прогнозирования, и как работает механизм авторегрессии.
preview
Система самообучения с подкреплением для алгоритмической торговли на MQL5

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

В статье создаётся многоагентная система машинного обучения для алгоритмической торговли на MetaTrader 5 на основе обучения с подкреплением. Система имеет трёхуровневую архитектуру: нейроны памяти хранят опыт, агенты принимают независимые решения, коллективный разум объединяет их через взвешенное голосование. Система непрерывно совершенствуется через Q-обучение, прунинг неэффективных нейронов и эволюционное снижение исследования.
preview
Разработка системы репликации - Моделирование рынка (Часть 15): Появление СИМУЛЯТОРА (V) - СЛУЧАЙНОЕ БЛУЖДАНИЕ

Разработка системы репликации - Моделирование рынка (Часть 15): Появление СИМУЛЯТОРА (V) - СЛУЧАЙНОЕ БЛУЖДАНИЕ

В этой статье мы завершим разработку симулятора для нашей системы. Основной целью здесь будет настройка алгоритма, рассмотренного в предыдущей статье. Этот алгоритм направлен на создание движения СЛУЧАЙНОГО БЛУЖДАНИЯ. Поэтому, для понимания сегодняшнего материала, необходимо понять содержание предыдущих статей. Если вы не следили за развитием симулятора, советую посмотреть эту последовательность с самого начала. В противном случае вы можете запутаться в том, что будет здесь объяснено.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 9): Советник с несколькими стратегиями (II)

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

Количество стратегий, которые можно интегрировать в виде советника, практически безгранично. Однако каждая дополнительная стратегия увеличивает сложность алгоритма. Благодаря использованию нескольких стратегий советник может лучше адаптироваться к изменяющимся рыночным условиям, что потенциально повышает его прибыльность. Сегодня мы рассмотрим, как реализовать в MQL5 одну из выдающихся стратегий, разработанных Ричардом Дончианом, продолжая при этом совершенствовать функциональность нашего советника Trend Constraint.