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

icon

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

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

Новая статья
последние | лучшие
preview
Нейросети — это просто (Часть 90): Частотная интерполяция временных рядов (FITS)

Нейросети — это просто (Часть 90): Частотная интерполяция временных рядов (FITS)

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

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

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

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

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

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

В последней статье нашей серии мы рассмотрели фреймворк Atom-Motif Contrastive Transformer (AMCT), который использует контрастное обучение для выявления ключевых паттернов на всех уровнях — от базовых элементов до сложных структур. В этой статье мы продолжаем реализацию подходов AMCT средствами MQL5.
preview
Эволюционная стратегия адаптации ковариационной матрицы — Covariance Matrix Adaptation Evolution Strategy (CMA-ES)

Эволюционная стратегия адаптации ковариационной матрицы — Covariance Matrix Adaptation Evolution Strategy (CMA-ES)

Исследуем один из самых интересных алгоритмов без градиентной оптимизации, который учится понимать геометрию целевой функции. Рассмотрим классическую реализацию CMA-ES с небольшой модификацией — заменой нормального распределения на степенное. Детальный разбор математики алгоритма, практическая реализация и честный анализ: где CMA-ES непобедим, а где его лучше не применять.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (I) - Тонкая настройка

Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (I) - Тонкая настройка

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

Анализируем двоичный код цен на бирже (Часть I): Новый взгляд на технический анализ

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

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

Статья знакомит с алгоритмом DA-CG-LSTM, который предлагает новые подходы к анализу временных рядов и их прогнозированию. Из нее вы узнаете, как инновационные механизмы внимания и гибкость модели позволяют улучшить точность прогнозов.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 4): Обучение собственной LLM с помощью GPU

Добавляем пользовательскую LLM в торгового робота (Часть 4): Обучение собственной LLM с помощью GPU

Языковые модели (LLM) являются важной частью быстро развивающегося искусственного интеллекта, поэтому нам следует подумать о том, как интегрировать мощные LLM в нашу алгоритмическую торговлю. Большинству людей сложно настроить эти модели в соответствии со своими потребностями, развернуть их локально, а затем применить к алгоритмической торговле. В этой серии статей будет рассмотрен пошаговый подход к достижению этой цели.
preview
Разработка передовых торговых систем (ПТС): Реализация Order Blocks в индикаторе

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

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

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

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

Постфактумный анализ торговли: подбираем TrailingStop и новые стопы в тестере стратегий

Продолжаем тему анализа совершённых сделок в тестере стратегий для улучшения качества торговли. Проверим, как использование различных трейлингов поможет изменить уже полученные результаты торговли.
preview
Как интегрировать в советник концепции Smart Money (BOS) в сочетании с индикатором RSI

Как интегрировать в советник концепции Smart Money (BOS) в сочетании с индикатором RSI

Концепция Smart Money (Break of Structure) в сочетании с индикатором RSI для принятия обоснованных решений в автоматической торговле на основе структуры рынка.
preview
Переходим на MQL5 Algo Forge (Часть 1): Создание основного репозитория

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

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

DoEasy. Элементы управления (Часть 15): WinForms-объект TabControl — несколько рядов заголовков вкладок, методы работы с вкладками

В статье продолжим работу над WinForm-объектом TabControl — создадим класс объекта-поля вкладки, сделаем возможность расположения заголовков вкладок в несколько рядов и добавим методы для работы с вкладками объекта.
preview
DoEasy. Элементы управления (Часть 19): Прокрутка вкладок в элементе TabControl, события WinForms-объектов

DoEasy. Элементы управления (Часть 19): Прокрутка вкладок в элементе TabControl, события WinForms-объектов

В статье создадим функционал для прокрутки заголовков вкладок в элементе управления TabControl при помощи кнопок управления прокруткой. Функционал будет работать для расположения заголовков вкладок в одну строку с любой из сторон элемента управления.
preview
DoEasy. Элементы управления (Часть 10): WinForms-объекты — оживляем интерфейс

DoEasy. Элементы управления (Часть 10): WinForms-объекты — оживляем интерфейс

Настала пора заняться оживлением графического интерфейса — делать функционал для взаимодействия объектов с пользователем и другими объектами. И для того, чтобы более сложные объекты могли правильно работать, нам уже необходим функционал взаимодействия объектов друг с другом и с пользователем.
preview
Возвратные стратегии дневной торговли RSI2 Ларри Коннорса

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

Ларри Коннорс — известный трейдер и автор книг, наиболее известный своими работами в области количественной (алгоритмизированной) торговли и таких стратегий, как 2-периодный индекс относительной силы RSI (RSI2), помогающих определять краткосрочные состояния перекупленности и перепроданности рынка. В этой статье объясним сначала актуальность нашего исследования, затем воссоздадим три самые известные стратегии Коннорса на языке MQL5 и применим их к внутридневной торговле на индексе CFD S&P 500.
preview
Разработка системы репликации - Моделирование рынка (Часть 20): ФОРЕКС (I)

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

Первоначальная цель данной статьи заключается не в охвате всех возможностей ФОРЕКС, а скорее в адаптации системы таким образом, чтобы вы могли совершить хотя бы одну репликацию рынка. Моделирование оставим для другого момента. Однако, если у нас нет тиков, а есть только бары, приложив немного усилий, мы можем смоделировать возможные сделки, которые могли произойти на рынке ФОРЕКС. Так будет до тех пор, пока мы не рассмотрим, как адаптировать тестер. Попытка работать с данными ФОРЕКС внутри системы без их модификации приводит к ошибкам диапазона.
preview
Поиск с запретами — Tabu Search (TS)

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

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

DoEasy. Элементы управления (Часть 24): Вспомогательный WinForms-объект "Подсказка"

В статье переработаем логику указания базового и главного объекта для всех WinForms-объектов библиотеки, разработаем новый базовый объект "Подсказка" и несколько его производных классов для указания возможного направления перемещения разделительной линии.
preview
Популяционные алгоритмы оптимизации: Алгоритмы искусственной микро-иммунной системы (Micro Artificial immune system, Micro-AIS)

Популяционные алгоритмы оптимизации: Алгоритмы искусственной микро-иммунной системы (Micro Artificial immune system, Micro-AIS)

Статья рассказывает о методе оптимизации, основанном на принципах функционирования иммунной системы организма — Micro Artificial Immune System (Micro-AIS) — модификацию AIS. Micro-AIS использует более простую модель иммунной системы и простые операции обработки иммунной информации. Статья также обсуждает преимущества и недостатки Micro-AIS по сравнению с обычным AIS.
preview
Нейросети в трейдинге: Контрастный Трансформер паттернов

Нейросети в трейдинге: Контрастный Трансформер паттернов

Контрастный Transformer паттернов осуществляет анализ рыночных ситуаций, как на уровне отдельных свечей, так и целых паттернов. Что способствует повышению качества моделирования рыночных тенденций. А применение контрастного обучения для согласования представлений свечей и паттернов ведет к саморегуляции и повышению точности прогнозов.
preview
Нейронная сеть на практике: Секущая прямая

Нейронная сеть на практике: Секущая прямая

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

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

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

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

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

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

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

Разметка данных в анализе временных рядов (Часть 6):Применение и тестирование советника с помощью ONNX

В этой серии статей представлены несколько методов разметки временных рядов, которые могут создавать данные, соответствующие большинству моделей искусственного интеллекта (ИИ). Целевая разметка данных может сделать обученную модель ИИ более соответствующей пользовательским целям и задачам, повысить точность модели и даже помочь модели совершить качественный скачок!
preview
Алгоритм оптимизации на основе мозгового штурма — Brain Storm Optimization (Часть II): Многомодальность

Алгоритм оптимизации на основе мозгового штурма — Brain Storm Optimization (Часть II): Многомодальность

Во второй части статьи перейдем к практической реализации алгоритма BSO, проведем тесты на тестовых функциях и сравним эффективность BSO с другими методами оптимизации.
preview
Нейросети в трейдинге: Двойная кластеризация временных рядов (Окончание)

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

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

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

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

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

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

Создаем простой мультивалютный советник с использованием MQL5 (Часть 3): Префиксы/суффиксы символов и торговая сессия

Я получил комментарии от нескольких коллег-трейдеров о том, как использовать рассматриваемый мной мультивалютный советник у брокеров, использующих префиксы и/или суффиксы с именами символов, а также о том, как реализовать в советнике торговые часовые пояса или торговые сессии.
preview
Фильтр сезонности и временные периоды в моделях глубокого обучения с ONNX и Python в советнике

Фильтр сезонности и временные периоды в моделях глубокого обучения с ONNX и Python в советнике

Можем ли мы извлечь выгоду из сезонности при создании моделей для глубокого обучения с помощью Python? Помогает ли фильтрация данных в моделях ONNX получить лучшие результаты? Какой период времени использовать? Обо всем этом расскажем в этой статье.
preview
Нейросети в трейдинге: Комплексный метод прогнозирования траекторий (Traj-LLM)

Нейросети в трейдинге: Комплексный метод прогнозирования траекторий (Traj-LLM)

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

Введение в MQL5 (Часть 6): Функции для работы с массивами для начинающих (II)

Продолжим изучение возможностей языка программирования MQL5. В этой статье, предназначенной для начинающих, мы продолжим изучать функции для работы массивами, перейдя к более сложным концепциям, которые обязательно пригодятся при разработке эффективных торговых стратегий. В этот раз познакомимся с функциями ArrayPrint, ArrayInsert, ArraySize, ArrayRange, ArrarRemove, ArraySwap, ArrayReverse и ArraySort. Функции массивы знать обязательно, если вы хотите достичь высокого уровня в области алготрейдинга. Это очередная глава на пути к мастерству.
preview
Нейросети в трейдинге: Возмущённые модели пространства состояний для анализа рыночной динамики (Окончание)

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

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

DoEasy. Элементы управления (Часть 16): WinForms-объект TabControl — несколько рядов заголовков вкладок, режим растягивания заголовков под размеры контейнера

В статье продолжим разработку элемента управления TabControl, и реализуем расположение заголовков вкладок со всех четырёх сторон элемента для всех режимов задания размера заголовков: "Normal", "Fixed" и "Fill To Right".
preview
Торговый инструментарий MQL5 (Часть 2): Расширение и применение EX5-библиотеки для управления позициями

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

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

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

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