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

icon

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

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

Новая статья
последние | лучшие
preview
Движение цены: Математические модели и технический анализ

Движение цены: Математические модели и технический анализ

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

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

Продолжаем знакомство с фреймворком Mamba4Cast. И сегодня мы погрузимся в практическую реализацию предложенных подходов. Mamba4Cast создавался не для долгого прогрева на каждом новом временном ряде, а для мгновенного включения в работу. Благодаря идее Zero‑Shot Forecasting модель способна сразу выдавать качественные прогнозы на реальных данных без дообучения и тонкой настройки гиперпараметров.
preview
От новичка до эксперта: Совместная отладка на MQL5

От новичка до эксперта: Совместная отладка на MQL5

Политика «решения проблем» может создать четкую программу для овладения сложными навыками, такими как программирование на MQL5. Такой подход позволяет сконцентрироваться на решении проблем, одновременно развивая свои навыки. Чем больше проблем вы решаете, тем более продвинутый опыт передается в ваш мозг. Лично я считаю, что отладка - это самый эффективный способ освоить программирование. Сегодня мы рассмотрим процесс очистки кода и обсудим лучшие методы преобразования запутанной программы в ясную и функциональную. Прочтите эту статью и откройте для себя ценную информацию.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 5): Разработка и тестирование торговой стратегии с помощью LLM (II) - Настройка LoRA

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

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

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

ADX — еще один относительно популярный технический индикатор, используемый некоторыми трейдерами для оценки силы преобладающего тренда. Действуя как комбинация двух других индикаторов, он представляет собой осциллятор, паттерны которого мы исследуем в этой статье с помощью Мастера MQL5 и его вспомогательных классов.
preview
Нейросети в трейдинге: Обобщение временных рядов без привязки к данным (Mamba4Cast)

Нейросети в трейдинге: Обобщение временных рядов без привязки к данным (Mamba4Cast)

В этой статье мы знакомимся с фреймворком Mamba4Cast и подробно рассматриваем один из его ключевых компонентов — позиционное кодирование на основе временных меток. Показано, как формируется временной эмбеддинг с учётом календарной структуры данных.
preview
Компьютерное зрение для трейдинга (Часть 2): Усложняем архитектуру до 2D-анализа RGB-изображений

Компьютерное зрение для трейдинга (Часть 2): Усложняем архитектуру до 2D-анализа RGB-изображений

Компьютерное зрение для трейдинга, как работает и как разрабатывается по шагам. Создаем алгоритм распознавания RGB-изображений графиков цен с механизмом внимания и двунаправленным LSTM-слоем. В результате получаем рабочую модель прогнозирования цены евро-доллара с точностью до 55% на валидационном участке.
preview
Как создать торговый журнал с помощью MetaTrader и Google Sheets

Как создать торговый журнал с помощью MetaTrader и Google Sheets

Создайте торговый журнал с помощью MetaTrader и Google Sheets! Вы узнаете, как синхронизировать свои торговые данные с помощью HTTP POST и извлекать их с помощью HTTP-запросов. Наконец, у вас будет торговый журнал, который поможет эффективно отслеживать ваши сделки.
preview
Алгоритм верблюда — Camel Algorithm (CA)

Алгоритм верблюда — Camel Algorithm (CA)

Алгоритм верблюда, разработанный в 2016 году, моделирует поведение верблюдов в пустыне для решения оптимизационных задач, учитывая факторы температуры, запасов и выносливости. В данной работе представлена еще его модифицированная версия (CAm) с ключевыми улучшениями: применение гауссова распределения при генерации решений и оптимизация параметров эффекта оазиса.
preview
Машинное обучение и Data Science (Часть 30): Тандем из сверточных (CNN) и рекуррентных (RNN) нейросетей для прогнозирования фондового рынка

Машинное обучение и Data Science (Часть 30): Тандем из сверточных (CNN) и рекуррентных (RNN) нейросетей для прогнозирования фондового рынка

В этой статье мы рассмотрим динамическую интеграцию сверточных нейронных сетей (CNN) и рекуррентных нейронных сетей (RNN) для задач прогнозирования фондового рынка. Для этого соединим способность CNN извлекать закономерности и эффективность RNN в обработке последовательных данных. Давайте посмотрим, как такая мощная комбинация может повысить точность и эффективность торговых алгоритмов.
preview
Критерий независимости Гильберта-Шмидта (HSIC)

Критерий независимости Гильберта-Шмидта (HSIC)

В статье рассматривается непараметрический статистический тест HSIC (Hilbert-Schmidt Independence Criterion) предназначенный для выявления линейных и нелинейных зависимостей в данных. Предложены реализации двух алгоритмов вычисления HSIC на языке MQL5: точного перестановочного теста и гамма-аппроксимации. Эффективность метода демонстрируется на синтетических данных, моделирующих нелинейную связь признаков и целевой переменной.
preview
От начального до среднего уровня: Массив (III)

От начального до среднего уровня: Массив (III)

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

Создание торговой панели администратора на MQL5 (Часть III): Расширение встроенных классов для управления темами (II)

Мы расширим существующую библиотеку Dialog, включив в нее логику управления темами. Кроме того, мы интегрируем методы переключения тем в классы CDialog, CEdit и CButton, используемые в нашем проекте панели администратора.
preview
Количественный анализ трендов: Собираем статистику на Python

Количественный анализ трендов: Собираем статистику на Python

Что такое количественный анализ трендов на рынке Форекс. Собираем статистику по трендам, их величине и распределению по валютной паре EURUSD. Как количественный анализ трендов поможет создать прибыльный торговый советник.
preview
Самооптимизирующийся советник на языках MQL5 и Python (Часть V): Глубокие марковские модели

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

Мы применим простую цепь Маркова к индикатору RSI, чтобы наблюдать за поведением цены после того, как индикатор проходит через ключевые уровни. Мы пришли к выводу, что самые сильные сигналы на покупку и продажу по паре NZDJPY генерируются, когда RSI находится в диапазоне 11–20 и 71–80 соответственно. Мы покажем, как можно манипулировать данными, чтобы создавать оптимальные торговые стратегии, основанные непосредственно на имеющихся данных. Кроме того, мы продемонстрируем, как обучить глубокую нейронную сеть оптимальному использованию матрицы перехода.
preview
Применение Conditional LSTM и индикатора VAM в автоматической торговле

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

В настоящей статье рассматривается разработка советника (EA) для автоматической торговли, сочетающего в себе технический анализ с прогнозами с помощью глубокого обучения.
preview
Компонент View для таблиц в парадигме MVC на MQL5: Базовый графический элемент

Компонент View для таблиц в парадигме MVC на MQL5: Базовый графический элемент

В статье рассматривается процесс разработки базового графического элемента для компонента View в рамках реализации таблиц в парадигме MVC (Model-View-Controller) на языке MQL5. Это первая статья, посвященная компоненту View, и третья в серии статей о создании таблиц для клиентского терминала MetaTrader 5.
preview
Нейросети в трейдинге: Прогнозирование временных рядов при помощи адаптивного модального разложения (Окончание)

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

В статье рассматривается адаптация и практическая реализация фреймворка ACEFormer средствами MQL5 в контексте алгоритмической торговли. Показаны ключевые архитектурные решения, особенности обучения и результаты тестирования модели на реальных данных.
preview
Скрытые марковские модели в торговых системах на машинном обучении

Скрытые марковские модели в торговых системах на машинном обучении

Скрытые марковские модели (СММ) представляют собой мощный класс вероятностных моделей, предназначенных для анализа последовательных данных, где наблюдаемые события зависят от некоторой последовательности ненаблюдаемых (скрытых) состояний, которые формируют марковский процесс. Основные предположения СММ включают марковское свойство для скрытых состояний, означающее, что вероятность перехода в следующее состояние зависит только от текущего состояния, и независимость наблюдений при условии знания текущего скрытого состояния.
preview
Алгоритм на основе фракталов — Fractal-Based Algorithm (FBA)

Алгоритм на основе фракталов — Fractal-Based Algorithm (FBA)

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 41): Сети Deep-Q

Сеть Deep-Q (Deep-Q-Network) — это алгоритм обучения с подкреплением, который вовлекает нейронные сети в прогнозирование следующего значения Q и идеального действия в процессе обучения модуля машинного обучения. Мы уже рассматривали альтернативный алгоритм обучения с подкреплением — Q-обучение. Таким образом, в данной статье представлен еще один пример того, как многослойный перцептрон (multi-layer perceptron, MLP), обученный с помощью обучения с подкреплением, может использоваться в пользовательском классе сигналов.
preview
Арбитражный трейдинг Forex: Матричная торговая система на возврат к справедливой стоимости с ограничением риска

Арбитражный трейдинг Forex: Матричная торговая система на возврат к справедливой стоимости с ограничением риска

Статья содержит детальное описание алгоритма расчета кросс-курсов, визуализацию матрицы дисбалансов и рекомендации по оптимальной настройке параметров MinDiscrepancy и MaxRisk для эффективной торговли. Система автоматически рассчитывает "справедливую стоимость" каждой валютной пары через кросс-курсы, генерируя сигналы на покупку при отрицательных отклонениях, и на продажу — при положительных.
preview
Нейросети в трейдинге: Прогнозирование временных рядов при помощи адаптивного модального разложения (ACEFormer)

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

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

Компьютерное зрение для трейдинга (Часть 1): Создаем базовый простой функционал

Система прогнозирования EURUSD с применением компьютерного зрения и глубокого обучения. Узнайте, как сверточные нейронные сети могут распознавать сложные ценовые паттерны на валютном рынке и предсказывать движение курса с точностью до 54%. Статья раскрывает методологию создания алгоритма, использующего технологии искусственного интеллекта для визуального анализа графиков вместо традиционных технических индикаторов. Автор демонстрирует процесс трансформации ценовых данных в «изображения», их обработку нейронной сетью и уникальную возможность заглянуть в «сознание» ИИ через карты активации и тепловые карты внимания. Практический код на Python с использованием библиотеки MetaTrader 5 позволяет читателям воспроизвести систему и применить ее в собственной торговле.
preview
MQL5-советник, интегрированный в Telegram (Часть 7): Анализ команд для автоматизации индикаторов на графиках

MQL5-советник, интегрированный в Telegram (Часть 7): Анализ команд для автоматизации индикаторов на графиках

В этой статье мы узнаем, как интегрировать команды Telegram с MQL5 для автоматизации добавления индикаторов на торговые графики. Мы рассмотрим процесс анализа пользовательских команд, их выполнение на языке MQL5 и тестирование системы для обеспечения бесперебойной торговли на основе индикаторов.
preview
Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA): Продолжение

Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA): Продолжение

Продолжение исследования алгоритма хаотической оптимизации. Вторая часть статьи посвящена практическим аспектам реализации алгоритма, его тестированию и выводам.
preview
Скальпинг по потоку ордеров (Order Flow Scalping) с MQL5

Скальпинг по потоку ордеров (Order Flow Scalping) с MQL5

Данный советник для MetaTrader 5 реализует стратегию Scalping OrderFlow (стратегия скальпирования потока ордеров) с расширенным управлением рисками. В нем используется множество технических индикаторов для определения торговых возможностей на основе дисбалансов в потоке ордеров. Бэк-тестирование показывает потенциальную прибыльность, но подчеркивает необходимость дальнейшей оптимизации, особенно в области управления рисками и соотношения результатов торговли. Он подходит для опытных трейдеров и требует тщательного тестирования и понимания перед практическим применением.
preview
Прогнозируем Ренко — бары при помощи ИИ CatBoost

Прогнозируем Ренко — бары при помощи ИИ CatBoost

Как использовать Ренко-бары вместе с ИИ? Рассмотрим Ренко-трейдинг на Форекс с точностью прогнозов до 59.27%. Исследуем преимущества Ренко-баров для фильтрации рыночного шума, узнаем, почему объемные показатели важнее ценовых паттернов, и как настроить оптимальный размер блока Ренко для EURUSD. Пошаговое руководство по интеграции CatBoost, Python и MetaTrader 5 для создания собственной системы прогнозирования Ренко Форекс. Идеально для трейдеров, стремящихся выйти за рамки традиционного технического анализа.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 9): Советник с несколькими стратегиями (I)

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

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

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

Мы продолжаем реализацию фреймворка DA-CG-LSTM, который предлагает инновационные методы анализа и прогнозирования временных рядов. Использование CG-LSTM и двойного внимания позволяет более точно выявлять как долгосрочные, так и краткосрочные зависимости в данных, что особенно полезно для работы с финансовыми рынками.
preview
Алгоритм хаотической оптимизации  — Chaos optimization algorithm (COA)

Алгоритм хаотической оптимизации — Chaos optimization algorithm (COA)

Усовершенствованный алгоритм хаотической оптимизации (COA), объединяющий воздействие хаоса с адаптивными механизмами поиска. Алгоритм использует множество хаотических отображений и инерционные компоненты для исследования пространства поиска. Статья раскрывает теоретические основы хаотических методов финансовой оптимизации.
preview
HTTP и Connexus (Часть 2): Понимание архитектуры HTTP и дизайна библиотеки

HTTP и Connexus (Часть 2): Понимание архитектуры HTTP и дизайна библиотеки

В настоящей статье рассматриваются основы протокола HTTP, описываются основные методы (GET, POST, PUT, DELETE), коды состояния, а также структура URL-адресов. Кроме того, в ней представлено начало создания библиотеки Connexus с классами CQueryParam и CURL, облегчающими манипулирование URL-адресами и параметрами запросов в HTTP-запросах.
preview
Создание самооптимизирующихся советников на языках MQL5 и Python (Часть II): Настройка глубоких нейронных сетей

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

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

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

Пошаговое руководство по реализации на MQL5 алгоритма автоматической торговли, основанной на торговой стратегии «Полосы Боллинджера». Подробное учебное пособие на основе создания советника, который может быть полезен трейдерам.
preview
Разрабатываем мультивалютный советник (Часть 26): Информер для торговых инструментов

Разрабатываем мультивалютный советник (Часть 26): Информер для торговых инструментов

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

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

Статья знакомит с алгоритмом DA-CG-LSTM, который предлагает новые подходы к анализу временных рядов и их прогнозированию. Из нее вы узнаете, как инновационные механизмы внимания и гибкость модели позволяют улучшить точность прогнозов.
preview
Переосмысливаем классические стратегии в MQL5 (Часть III): Прогнозирование индекса FTSE 100

Переосмысливаем классические стратегии в MQL5 (Часть III): Прогнозирование индекса FTSE 100

В данной серии статей мы вернемся к хорошо известным торговым стратегиям, чтобы узнать, можно ли улучшить их с помощью искусственного интеллекта. В сегодняшней статье мы рассмотрим индекс FTSE 100 и попытаемся спрогнозировать его, используя часть отдельных акций, входящих в состав индекса.
preview
Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки

Парный трейдинг: Алготорговля с автооптимизацией на разнице Z-оценки

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

Классы таблицы и заголовка на базе модели таблицы в MQL5: Применение концепции MVC

Это вторая часть статьи, посвященной реализации модели таблицы в MQL5 с использованием архитектурной парадигмы MVC (Model-View-Controller). В статье рассматривается разработка классов таблицы и её заголовка, основанных на ранее созданной модели таблицы. Разработанные классы станут основой для дальнейшей реализации компонентов представления (View) и управления (Controller), которые будут рассмотрены в следующих статьях.
preview
Как опередить любой рынок (Часть V): Альтернативные данные FRED EURUSD

Как опередить любой рынок (Часть V): Альтернативные данные FRED EURUSD

В статье использованы альтернативные ежедневные данные Федерального резервного банка Сент-Луиса по обобщенному индексу доллара США и набор других макроэкономических показателей для прогнозирования будущего обменного курса EURUSD. К сожалению, хотя данные, по-видимому, имеют почти идеальную корреляцию, нам не удалось получить никаких существенных преимуществ в точности нашей модели, что, наводит нас на мысль, что инвесторам, возможно, лучше использовать обычные рыночные котировки.