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

icon

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

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

Новая статья
последние | лучшие
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 4): Настройка стиля отображения для каждой трендовой волны

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

В статье показаны возможности мощного языка MQL5 для отрисовки различных стилей индикаторов в MetaTrader 5. Мы также рассмотрим скрипты и их использование в нашей модели.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 5): Система уведомлений (Часть II)

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

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

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

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

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

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

Разработка системы репликации - Моделирование рынка (Часть 17): Тики и еще больше тиков (I)

Здесь мы увидим, как реализовать что-то действительно интересное, но в то же время очень сложное из-за отдельных моментов, которые многих смущают. И самое худшее, что может случиться - это то, что некоторые трейдеры, считающие себя профессионалами, ничего не знают о важности этих понятий на рынке капитала. Да, хотя основное внимание здесь уделяется программированию, но понимание некоторых вопросов, связанных с торговлей на рынках, имеет первостепенное значение для того, что мы собираемся здесь реализовать.
preview
Нейросети в трейдинге: Иерархический векторный Transformer (HiVT)

Нейросети в трейдинге: Иерархический векторный Transformer (HiVT)

Предлагаем познакомиться с методом Иерархический Векторный Transformer (HiVT), который был разработан для быстрого и точного прогнозирования мультимодальных временных рядов.
preview
Нейросети в трейдинге: Гиперболическая модель латентной диффузии (HypDiff)

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

Статья рассматривает способы кодирования исходных данных в гиперболическом латентном пространстве через анизотропные диффузионные процессы. Это помогает точнее сохранять топологические характеристики текущей рыночной ситуации и повышает качество ее анализа.
preview
Нейросети в трейдинге: Оптимизация Transformer для прогнозирования временных рядов (LSEAttention)

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

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

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

Эффективное выявление и сохранение локальной структуры рыночных данных в условиях шума является важной задачей в трейдинге. Использование механизма Self-Attention показало хорошие результаты в обработке подобных данных, но классический метод не учитывают локальные особенности исходной структуры. В данной статье я предлагаю познакомиться с алгоритмом, способным учитывать эти структурные зависимости.
preview
Индикатор CandleCode: Формализация свечных моделей в MQL5

Индикатор CandleCode: Формализация свечных моделей в MQL5

В статье показана практическая реализация CandleCode для MetaTrader 5: расчет кодов свечей по методу Лиховидова с адаптацией порогов к волатильности (Bollinger Bands) и гистограммное отображение. Дополнительно представлен советник, который строит базу исторических паттернов по ZigZag, сравнивает их с текущим "слепком" через ATR и выдает статистику совпадений на панели.
preview
Нейросети в трейдинге: Прогнозирование временных рядов при помощи адаптивного модального разложения (Окончание)

Нейросети в трейдинге: Прогнозирование временных рядов при помощи адаптивного модального разложения (Окончание)

В статье рассматривается адаптация и практическая реализация фреймворка ACEFormer средствами MQL5 в контексте алгоритмической торговли. Показаны ключевые архитектурные решения, особенности обучения и результаты тестирования модели на реальных данных.
preview
Автоматизация торговых стратегий на MQL5 (Часть 17): Освоение стратегии скальпинга Grid-Mart с динамической информационной панелью

Автоматизация торговых стратегий на MQL5 (Часть 17): Освоение стратегии скальпинга Grid-Mart с динамической информационной панелью

В настоящей статье мы рассмотрим стратегию скальпинга Grid-Mart, автоматизировав ее на MQL5 с помощью динамической информационной панели для получения информации о торговле в режиме реального времени. Мы подробно описываем логику мартингейла на основе сетки, а также функции управления рисками. Мы также проводим тестирование на истории и развертывание для обеспечения надежной работы.
preview
Применение L1-фильтрации тренда в MetaTrader 5

Применение L1-фильтрации тренда в MetaTrader 5

В статье рассматривается практическое применение L1-фильтрации тренда в MetaTrader 5, включая математические основы метода и его использование в языке MQL5. L1-фильтр позволяет выделять кусочно-линейные тренды, сохраняя ключевую структуру рынка и эффективно подавляя ценовой шум. Исследуются свойства масштабирования параметров, особенности оценки тренда и способы интеграции метода в алгоритмические торговые стратегии. Экспериментальные результаты показывают, как L1-фильтрация тренда улучшает стабильность сигналов, тайминг сделок и общую устойчивость торговых систем.
preview
Теория категорий в MQL5 (Часть 17): Функторы и моноиды

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

Это последняя статья серии, посвященная функторам. В ней мы вновь рассматриваем моноиды как категорию. Моноиды, которые мы уже представили в этой серии, используются здесь для помощи в определении размера позиции вместе с многослойными перцептронами.
preview
Алгоритм миграции животных — Animal Migration Optimization (AMO)

Алгоритм миграции животных — Animal Migration Optimization (AMO)

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

Управление рисками (Часть 1): Основы построения класса по управлению рисками

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

Разрабатываем мультивалютный советник (Часть 30): От торговой стратегии — к запуску мультивалютного советника

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

Автоматизация запуска терминала для выполнения сервисных задач

В статье рассмотрим возможность запуска терминала с конфигурационным файлом для выполнения автоматизированных рутинных задач, программную обработку такого запуска, и создадим полноценную систему автооптимизации советника средствами ОС Windows.
preview
DoEasy. Элементы управления (Часть 33): вертикальный "ScrollBar"

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

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

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

Представляем вашему вниманию заключительную часть цикла, посвящённого GinAR — нейросетевому фреймворку для прогнозирования временных рядов. В этой статье мы анализируем результаты тестирования модели на новых данных и оцениваем её устойчивость в условиях реального рынка.
preview
Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

Понимание и эффективное использование OpenCL API путем воссоздания встроенной поддержки в виде DLL в Linux (Часть 2): Реализация OpenCL Simple DLL

В продолжение первой части создадим простую DLL и протестируем ее с помощью MetaTrader 5. Это хорошо подготовит нас к разработке полноценной поддержки OpenCL в виде DLL в следующей части.
preview
DoEasy. Элементы управления (Часть 6): Элемент управления "Панель", автоизменение размеров контейнера под внутреннее содержимое

DoEasy. Элементы управления (Часть 6): Элемент управления "Панель", автоизменение размеров контейнера под внутреннее содержимое

В статье продолжим работу над WinForms-объектом "Панель" и реализуем автоизменение его размеров под общие размеры Dock-объектов, расположенных внутри панели. Кроме того добавим новые свойства в объект библиотеки "Символ".
preview
Гибридизация популяционных алгоритмов. Последовательная и параллельная схема

Гибридизация популяционных алгоритмов. Последовательная и параллельная схема

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

Теория категорий в MQL5 (Часть 13): События календаря со схемами баз данных

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

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

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

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

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

От новичка до эксперта: Прогнозируемые ценовые траектории

Уровни Фибоначчи обеспечивают практическую основу, которую часто соблюдают рынки, выделяя ценовые зоны, где реакция более вероятна. В настоящей статье мы создадим советник, применяющий логику коррекции Фибоначчи для прогнозирования вероятных будущих движений и коррекции сделок с отложенными ордерами. Изучим весь рабочий процесс — от определения колебаний до построения графика уровней, контроля рисков и выполнения.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 11): Числовые стены

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

Числовые стены (Number Walls) — это вариант регистра сдвига с линейной обратной связью (Linear Shift Back Registers), который предварительно оценивает последовательности на предмет предсказуемости путем проверки на сходимость. Мы посмотрим, как эти идеи могут быть использованы в MQL5.
preview
Нейросети в трейдинге: Адаптивное восприятие рыночной динамики (STE-FlowNet)

Нейросети в трейдинге: Адаптивное восприятие рыночной динамики (STE-FlowNet)

Фреймворк STE-FlowNet открывает новый взгляд на анализ финансовых данных, реагируя на реальные события рынка, а не на фиксированные таймфреймы. Его архитектура сохраняет локальные и временные зависимости, позволяя отслеживать даже мелкие импульсы в динамике цен.
preview
Нейронная сеть на практике: Функция прямой линии

Нейронная сеть на практике: Функция прямой линии

В этой статье мы бегло просмотрим некоторые методы получения функции, которая может представлять наши данные в базе данных. Я не буду подробно останавливаться на том, как использовать статистику и исследования вероятностей для интерпретации результатов. Оставим это для тех, кто действительно хочет углубиться в математическую сторону вопроса. Тем не менее, изучение этих вопросов будет иметь решающее значение для понимания того, что связано с изучением нейронных сетей. Здесь мы довольно спокойно рассмотрим этот вопрос.
preview
Методы оптимизации библиотеки Alglib (Часть II)

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

В статье продолжим изучение оставшихся методов оптимизации из библиотеки ALGLIB, уделяя особое внимание их тестированию на сложных многомерных функциях. Это позволит нам не только оценить эффективность каждого из алгоритмов, но и выявить их сильные и слабые стороны в различных условиях.
preview
Знакомство с языком MQL5 (Часть 16): Создание советников с использованием паттернов технического анализа

Знакомство с языком MQL5 (Часть 16): Создание советников с использованием паттернов технического анализа

Эта статья знакомит новичков с созданием советника на языке MQL5, который выявляет классический паттерн технического анализа – "голову и плечи" – и торгует по нему. В статье рассматривается, как обнаружить паттерн, используя ценовое действие, нарисовать его на графике, установить уровни входа, стоп-лосса и тейк-профита, а также автоматизировать выполнение сделок на основе паттерна.
preview
Теория категорий в MQL5 (Часть 15): Функторы с графами

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

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

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

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

Нейросети в трейдинге: Использование языковых моделей для прогнозирования временных рядов

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

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

Для дальнейшего продвижения хорошо было бы посмотреть, можем ли мы улучшить результаты, периодически выполняя повторную автоматическую оптимизацию и генерирование нового советника. Камнем преткновения во многих спорах об использовании оптимизации параметров является вопрос о том, насколько долго можно использовать полученные параметры для торговли в будущем периоде с сохранением основных показателей прибыльности и просадки на заданных уровнях. И можно ли вообще это делать?
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 26): Скользящие средние и показатель Херста

Возможности Мастера MQL5, которые вам нужно знать (Часть 26): Скользящие средние и показатель Херста

Показатель Херста — это мера того, насколько сильно временной ряд автокоррелирует в долгосрочной перспективе. Предполагается, что он отражает долгосрочные свойства временного ряда и поэтому имеет определенный вес в анализе временных рядов даже за пределами экономических/финансовых временных рядов. Однако мы сосредоточимся на его потенциальной пользе для трейдеров, изучив, как этот показатель можно объединить со скользящими средними для формирования потенциально надежного сигнала.
preview
Разработка системы репликации (Часть 41): Начало второй фазы (II)

Разработка системы репликации (Часть 41): Начало второй фазы (II)

Если до этого момента вам всё казалось правильным, это значит, что вы на самом деле не задумываетесь о долгосрочной перспективе. Когда вы начинаете разрабатывать приложения, а со временем вам больше не приходится создавать новые приложения. Остается только добиться того, чтобы они работали вместе. Давайте рассмотрим, как завершить сборку указателя мыши.
preview
Алгоритм дуэлянта — Duelist Algorithm

Алгоритм дуэлянта — Duelist Algorithm

Что если бы ваши торговые стратегии могли учиться друг у друга, как настоящие бойцы? Duelist Algorithm — новый метод оптимизации, где параметры торговых систем буквально сражаются в дуэлях за право называться лучшими.
preview
Разработка инструментария для анализа движения цен (Часть 13): RSI Sentinel

Разработка инструментария для анализа движения цен (Часть 13): RSI Sentinel

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