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

icon

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

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

Новая статья
последние | лучшие
preview
Реализация торговой стратегии на основе полос Боллинджера с помощью MQL5: Пошаговое руководство

Реализация торговой стратегии на основе полос Боллинджера с помощью MQL5: Пошаговое руководство

Пошаговое руководство по реализации на MQL5 алгоритма автоматической торговли, основанной на торговой стратегии «Полосы Боллинджера». Подробное учебное пособие на основе создания советника, который может быть полезен трейдерам.
preview
Нейросети в трейдинге: Контрастный Трансформер паттернов (Окончание)

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

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

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

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

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

Во второй части статьи перейдем к практической реализации алгоритма BSO, проведем тесты на тестовых функциях и сравним эффективность BSO с другими методами оптимизации.
preview
Разработка системы репликации - Моделирование рынка (Часть 20): ФОРЕКС (I)

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

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

Методы оптимизации библиотеки ALGLIB (Часть I)

В статье познакомимся с методами оптимизации библиотеки ALGLIB для MQL5. Статья включает простые и наглядные примеры применения ALGLIB для решения задач оптимизации, что сделает процесс освоения методов максимально доступным. Мы подробно рассмотрим подключение таких алгоритмов, как BLEIC, L-BFGS и NS, и на их основе решим простую тестовую задачу.
preview
Арбитражная алготорговля на теории графов

Арбитражная алготорговля на теории графов

В рамках статьи треугольный арбитраж представляется как задача поиска циклов в ориентированном графе, где вершины — валюты, рёбра — валютные пары с весами-курсами. Прибыльный цикл: произведение весов >1. Созданные нами алгоритмы Floyd-Warshall и DFS находят оптимальные пути обмена валют, возвращающиеся в исходную точку с прибылью.
preview
Фильтр сезонности и временные периоды в моделях глубокого обучения с ONNX и Python в советнике

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

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

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

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

MQL5-советник, интегрированный в Telegram (Часть 3): Отправка скриншотов графиков с подписями из MQL5 в Telegram

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

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

В статье создадим функционал для прокрутки заголовков вкладок в элементе управления TabControl при помощи кнопок управления прокруткой. Функционал будет работать для расположения заголовков вкладок в одну строку с любой из сторон элемента управления.
preview
Переходим на MQL5 Algo Forge (Часть 4): Работа с версиями и выпуск релизов

Переходим на MQL5 Algo Forge (Часть 4): Работа с версиями и выпуск релизов

Продолжим разработку проекта Simple Candles и Adwizard, описывая нюансы использования системы контроля версий и хранилища MQL5 Algo Forge.
preview
Машинное обучение и Data Science (Часть 19): Совершенствуем AI-модели с помощью AdaBoost

Машинное обучение и Data Science (Часть 19): Совершенствуем AI-модели с помощью AdaBoost

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

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

В этой статье представлен инновационный подход к техническому анализу, основанный на преобразовании ценовых движений в бинарный код. Автор демонстрирует, как различные аспекты рыночного поведения — от простых движений цены до сложных паттернов — можно закодировать в последовательности нулей и единиц.
preview
Применение Conditional LSTM и индикатора VAM в автоматической торговле

Применение Conditional LSTM и индикатора VAM в автоматической торговле

В настоящей статье рассматривается разработка советника (EA) для автоматической торговли, сочетающего в себе технический анализ с прогнозами с помощью глубокого обучения.
preview
Нейронная сеть на практике: Секущая прямая

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

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

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

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

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

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

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

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

Как функции столетней давности могут обновить ваши торговые стратегии

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

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

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

Нейросети в трейдинге: Пространственно-временная нейронная сеть (STNN)

В данной статье мы поговорим об использовании пространственно-временных преобразований для эффективного прогнозирования предстоящего ценового движения. Для повышения точности численного прогнозирования в STNN был предложен механизм непрерывного внимания, который позволяет модели лучше учитывать важные аспекты данных.
preview
Нейросети — это просто (Часть 90): Частотная интерполяция временных рядов (FITS)

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

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

Нейросети в трейдинге: Адаптивное представление графов (NAFS)

Предлагаем познакомиться с методом NAFS (Node-Adaptive Feature Smoothing) — это непараметрический подход к созданию представлений узлов, который не требует обучения параметров. NAFS извлекает характеристики каждого узла, учитывая его соседей, и затем адаптивно комбинирует эти характеристики для формирования конечного представления.
preview
Одномерный сингулярный спектральный анализ

Одномерный сингулярный спектральный анализ

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

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

В статье продолжим работу над WinForm-объектом TabControl — создадим класс объекта-поля вкладки, сделаем возможность расположения заголовков вкладок в несколько рядов и добавим методы для работы с вкладками объекта.
preview
Обучаем нейросети на осцилляторах без подглядывания в будущее

Обучаем нейросети на осцилляторах без подглядывания в будущее

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

DoEasy. Элементы управления (Часть 10): 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
Как построить советник, работающий автоматически (Часть 10): Автоматизация (II)

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

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

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

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

Нейросети — это просто (Часть 95): Снижение потребления памяти в моделях Transformer

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

Многопоточный торговый робот с машинным обучением: От концепции до реализации

Статья представляет пошаговую разработку многопоточного торгового робота с машинным обучением на Python и MetaTrader 5. Рассматривается архитектура системы — от сбора данных и создания технических индикаторов до обучения XGBoost-моделей с портфельным риск-менеджментом. Детально описана реализация аугментации данных, кластеризации признаков через Gaussian Mixture Models и координации потоков для параллельной торговли несколькими валютными парами.
preview
Нейросети в трейдинге: Двойная кластеризация временных рядов (Окончание)

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

Продолжаем реализацию подходов, предложенных авторами фреймворка DUET, который предлагает инновационный подход к анализу временных рядов, сочетая временную и канальную кластеризацию для выявления скрытых закономерностей в анализируемых данных.
DoEasy. Элементы управления (Часть 32):  горизонтальный "ScrollBar", прокрутка колесиком мышки
DoEasy. Элементы управления (Часть 32):  горизонтальный "ScrollBar", прокрутка колесиком мышки

DoEasy. Элементы управления (Часть 32): горизонтальный "ScrollBar", прокрутка колесиком мышки

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

Определение перекупленности и перепроданности по теории хаоса

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

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

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

Анализ всех вариантов движения цены на квантовом компьютере IBM

Используем квантовый компьютер от IBM для открытия всех вариантов движения цены. Звучит как научная фантастика? Добро пожаловать в мир квантовых вычислений для трейдинга!
preview
Добавляем пользовательскую LLM в торгового робота (Часть 4): Обучение собственной LLM с помощью GPU

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

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

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

В данной статье я хочу познакомить вас с одним интересным методом прогнозирования траекторий, разработанным для решения задач в области автономного движения транспортных средств. Авторы метода объединили в нем лучшие элементы различных архитектурных решений.