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

icon

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

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

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

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

Статья представляет новый подход к созданию торговых систем на основе квантовых принципов и искусственного интеллекта. Автор описывает разработку уникальной нейронной сети, которая выходит за рамки классического машинного обучения, объединяя квантовую механику с современными архитектурами ИИ.
preview
Нейросети — это просто (Часть 50): Soft Actor-Critic (оптимизация модели)

Нейросети — это просто (Часть 50): Soft Actor-Critic (оптимизация модели)

В предыдущей статье мы реализовали алгоритм Soft Actor-Critic, но не смогли обучить прибыльную модель. В данной статье мы проведем оптимизацию ранее созданной модели для получения желаемых результатов её работы.
preview
Нейросети — это просто (Часть 91): Прогнозирование в частотной области (FreDF)

Нейросети — это просто (Часть 91): Прогнозирование в частотной области (FreDF)

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

Нейросети в трейдинге: Агент с многоуровневой памятью (Окончание)

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

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

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

DoEasy. Элементы управления (Часть 13): Оптимизация взаимодействия WinForms-объектов с мышкой, начало разработки WinForms-объекта TabControl

В статье исправим и оптимизируем обработку внешнего вида WinForms-объектов после увода курсора мышки с объекта и начнём разработку WinForms-объекта TabControl.
preview
Нейросети — это просто (Часть 81): Анализ динамики данных с учетом контекста (CCMR)

Нейросети — это просто (Часть 81): Анализ динамики данных с учетом контекста (CCMR)

В предыдущих работах мы всегда оценивали текущее состояния окружающей среды. При этом динамика изменения показателей, как таковая, всегда оставалась "за кадром". В данной статье я хочу познакомить Вас с алгоритмом, который позволяет оценить непосредственное изменение данных между 2 последовательными состояниями окружающей среды.
preview
Строим и оптимизируем торговую систему, основанную на объемах торгов (Chaikin Money Flow - CMF)

Строим и оптимизируем торговую систему, основанную на объемах торгов (Chaikin Money Flow - CMF)

В настоящей статье мы представим основанный на объемах индикатор денежного потока Чайкина (Chaikin Money Flow, CMF) после того, как узнаем, как его можно построить, рассчитать и использовать. Разберемся как создать пользовательский индикатор. Проанализируем несколько простых стратегий, которые можно использовать и протестируем их, чтобы понять, какая стратегия лучше.
preview
Пишем первую модель стеклянного ящика (Glass Box) на Python и MQL5

Пишем первую модель стеклянного ящика (Glass Box) на Python и MQL5

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

Переосмысливаем классические стратегии на языке Python: Пересечения скользящих средних

В этой статье мы пересмотрим классическую стратегию пересечений скользящих средних для оценки ее текущей эффективности. Учитывая, сколько времени прошло с момента ее создания, исследуем потенциальные улучшения, которые ИИ может привнести в эту традиционную торговую стратегию. С помощью методов искусственного интеллекта мы постараемся применить передовые возможнности прогнозирования для потенциальной оптимизации точек входы и выхода из рынка, адаптировать их к меняющимся рыночным условиям и повысить общую эффективность по сравнению с традиционными подходами.
preview
Поиск с запретами — Tabu Search (TS)

Поиск с запретами — Tabu Search (TS)

В статье рассматривается алгоритм табу-поиска — один из первых и наиболее известных методов метаэвристики. Мы подробно разберем, как работает алгоритм, начиная с выбора начального решения и исследования соседних вариантов, с акцентом на использование табу-листа. Статья охватывает ключевые аспекты алгоритма и его особенности.
preview
Нейросети — это просто (Часть 92): Адаптивное прогнозирование в частотной и временной областях

Нейросети — это просто (Часть 92): Адаптивное прогнозирование в частотной и временной областях

Авторы метода FreDF экспериментально подтвердили преимущество комбинированного прогнозирования в частотной и временной областях. Однако применение весового гиперпараметра не является оптимальным для нестационарных временных рядов. В данной статье я предлагаю познакомиться с методом адаптивного сочетания прогнозов в частотной и временной областях.
preview
Разработка показателя качества советников

Разработка показателя качества советников

В этой статье мы объясним, как разработать показатель качества, который ваш советник сможет отображать в тестере стратегии. Мы познакомимся с двумя известными методами расчета (Ван Тарп и Санни Харрис).
preview
Разработка торгового советника с нуля (Часть 14): Добавляем Volume at Price (II)

Разработка торгового советника с нуля (Часть 14): Добавляем Volume at Price (II)

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

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

Сейчас наш советник использует базу данных для получения строк инициализации одиночных экземпляров торговых стратегий. Однако база данных является достаточно объёмной и содержит много информации, ненужной при реальной работе советника. Попробуем обеспечить работоспособность советника без обязательного подключения к базе данных.
preview
Связь торговых роботов MetaTrader 5 с внешними брокерами через API и Python

Связь торговых роботов MetaTrader 5 с внешними брокерами через API и Python

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

Разрабатываем мультивалютный советник (Часть 19): Создаём этапы, реализованные на Python

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

Как реализовать автоматическую оптимизацию в советниках MQL5

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

Оптимизация портфеля на форексе: Синтез VaR и теории Марковица

Как осуществляется портфельная торговля на Форекс? Как могут быть синтезированы портфельная теория Марковица для оптимизации пропорций портфеля и VaR модель для оптимизации риска портфеля? Создаем код по портфельной теории, где, с одной стороны, получим низкий риск, а с другой — приемлемую долгосрочную доходность.
preview
Переходим на MQL5 Algo Forge (Часть 1): Создание основного репозитория

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

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

DoEasy. Элементы управления (Часть 7): Элемент управления "Текстовая метка"

В статье создадим класс объекта элемента управления WinForms "Текстовая метка". Такой объект будет иметь возможность позиционирования в любом месте своего контейнера, а его собственный функционал будет повторять некоторый функционал текстовой метки MS Visual Studio — мы сможем задать для выводимого текста параметры шрифта.
preview
Нейросети в трейдинге: Управляемая сегментация (Окончание)

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

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

Разработка торговой системы на основе стакана цен (Часть I): индикатор

Стакан цен Depth of Market, несомненно, является очень важным элементом для выполнения быстрых сделок, особенно в алгоритмах высокочастотного трейдинга (HFT). В этой серии статей мы рассмотрим этот тип торговых событий, которые можно получить через брокера на многих торгуемых символах. Начнем с индикатора, в котором можно настроить цветовую палитру, положение и размер гистограммы, отображаемой непосредственно на графике. Мы также рассмотрим, как сгенерировать события BookEvent для тестирования индикатора в определенных условиях. Другие возможные темы для будущих статей - это хранение данных ценовых распределений и способы их использования в тестере стратегий.
preview
Теория категорий в MQL5 (Часть 18): Квадрат естественности

Теория категорий в MQL5 (Часть 18): Квадрат естественности

Статья продолжает серию о теории категорий, представляя естественные преобразования, которые являются ключевым элементом теории. Мы рассмотрим сложное на первый взгляд определение, затем углубимся в примеры и способы применения преобразований в прогнозировании волатильности.
preview
Нейросети в трейдинге: Superpoint Transformer (SPFormer)

Нейросети в трейдинге: Superpoint Transformer (SPFormer)

В данной статья предлагаем познакомиться с методом сегментации 3D-люъектов на основе Superpoint Transformer (SPFormer), который устраняет необходимость в промежуточной агрегации данных. Что ускоряет процесс сегментации и повышает производительность модели.
preview
Единый мультитаймфреймовый Ренко: Синтез временных измерений рынка

Единый мультитаймфреймовый Ренко: Синтез временных измерений рынка

Статья представляет инновационную концепцию мультитаймфреймового Ренко-графика, который объединяет сигналы с четырёх временных масштабов (M5, M15, H1, H4) в единый синтетический инструмент. Система создаёт виртуальный символ в MetaTrader 5, используя EMA каждого таймфрейма для формирования композитного сигнала через три метода: простое среднее, взвешенное среднее и консенсус. Реализация включает адаптивный размер кирпича на основе ATR, работу в реальном времени и полную интеграцию с MetaTrader 5.
preview
Таблицы в парадигме MVC на MQL5: Таблица корреляции символов

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

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

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

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

Как опередить любой рынок (Часть IV): Индексы волатильности евро и золота CBOE

Мы проанализируем альтернативные данные, собранные Чикагской опционной биржей (Chicago Board of Options Exchange, CBOE), чтобы повысить точность наших глубоких нейронных сетей при прогнозировании символа XAUEUR.
preview
Разрабатываем мультивалютный советник (Часть 20): Приводим в порядок конвейер этапов автоматической оптимизации проектов (I)

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

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

Переосмысливаем классические стратегии (Часть XI): Пересечение скользящих средних (II)

Скользящие средние и стохастический осциллятор можно использовать для генерации торговых сигналов, следующих за трендом. Однако эти сигналы будут наблюдаться только после того, как произойдет ценовое движение. Мы можем эффективно преодолеть этот неизбежный лаг в технических индикаторах с помощью искусственного интеллекта. В настоящей статье мы расскажем, как создать полностью автономный советник на базе ИИ таким образом, чтобы улучшить любую из ваших существующих торговых стратегий. Даже самая старая торговая стратегия может быть улучшена.
preview
Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT

Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT

Приложения от MetaQuotes, включая платформы MetaTrader 5 и MetaTrader 4, можно установить на устройства с операционной системой HarmonyOS NEXT с помощью компонента DroiTong. В статье представлено пошаговое руководство для установки программ на телефон или ноутбук.
preview
Нейросети в трейдинге: Гибридный торговый фреймворк с предиктивным кодированием (Окончание)

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

Продолжаем рассмотрение гибридной торговой системы StockFormer, которая объединяет предиктивное кодирование и алгоритмы обучения с подкреплением для анализа финансовых временных рядов. Основой системы служат три ветви Transformer с механизмом Diversified Multi-Head Attention (DMH-Attn), позволяющим выявлять сложные паттерны и взаимосвязи между активами. Ранее мы познакомились с теоретическими аспектами фреймворка и реализовали механизмы DMH-Attn, а сегодня поговорим об архитектуре моделей и их обучении.
preview
Как построить советник, работающий автоматически (Часть 09): Автоматизация (I)

Как построить советник, работающий автоматически (Часть 09): Автоматизация (I)

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

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

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

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

Статья знакомит с алгоритмом DA-CG-LSTM, который предлагает новые подходы к анализу временных рядов и их прогнозированию. Из нее вы узнаете, как инновационные механизмы внимания и гибкость модели позволяют улучшить точность прогнозов.
preview
Критерии тренда. Окончание

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

В этой статье мы рассмотрим особенности применения некоторых критериев тренда на практике. А также сделаем попытку разработать несколько новых критериев. Основное внимание будет уделено эффективности применения этих критериев для анализа рыночных данных и трейдинга.
preview
Разрабатываем мультивалютный советник (Часть 8): Проводим нагрузочное тестирование и обрабатываем новый бар

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

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

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

Статья является пятой частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT 5.0. В этой части мы опишем структуру пакетов PUBLISH - как мы устанавливаем их флаги публикации (Publish Flags), кодируем строки названий тем и устанавливаем идентификаторы пакетов, когда это необходимо.
preview
Разрабатываем мультивалютный советник (Часть 14): Адаптивное изменение объёмов в риск-менеджере

Разрабатываем мультивалютный советник (Часть 14): Адаптивное изменение объёмов в риск-менеджере

Разработанный ранее риск-менеджер содержал только базовую функциональность. Попробуем рассмотреть возможные пути его развития, позволяющие повысить торговые результаты без вмешательства в логику торговых стратегий.