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

icon

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

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

Новая статья
последние | лучшие
preview
Разработка системы репликации - Моделирование рынка (Часть 02): Первые эксперименты (II)

Разработка системы репликации - Моделирование рынка (Часть 02): Первые эксперименты (II)

В этот раз попробуем другой подход для достижения цели в 1 минуту. Однако эта задача не так проста, как можно подумать.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 10): Нетрадиционная RBM

Возможности Мастера MQL5, которые вам нужно знать (Часть 10): Нетрадиционная RBM

Ограниченные машины Больцмана (Restrictive Boltzmann Machines, RBM) представляют собой на базовом уровне двухслойную нейронную сеть, способную выполнять неконтролируемую классификацию посредством уменьшения размерности. Мы используем ее основные принципы и посмотрим что случится, если мы перепроектируем и обучим ее нестандартно. Сможем ли мы получить полезный фильтр сигналов?
preview
Создание самооптимизирующихся советников на MQL5 (Часть 2): Стратегия скальпинга на USDJPY

Создание самооптимизирующихся советников на MQL5 (Часть 2): Стратегия скальпинга на USDJPY

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

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

В статье представлена адаптация фреймворка EEMFlow для построения высокоэффективных торговых моделей средствами MQL5. Рассматриваются алгоритмы оценки MeshFlow с расширенной корреляцией признаков, позволяющие точно анализировать динамику рынка и прогнозировать ценовые потоки. Тестирование подтвердило положительное математическое ожидание, умеренные просадки и высокую эффективность принятия решений.
preview
Расширенные переменные и типы данных в MQL5

Расширенные переменные и типы данных в MQL5

Переменные и типы данных — очень важные темы не только в программировании на MQL5, но и в любом языке программирования. Переменные и типы данных MQL5 можно разделить на простые и расширенные. Здесь мы рассмотрим расширенные переменные и типы данных. Простые мы изучали в предыдущей статье.
preview
Нейросети в трейдинге: Актер—Режиссёр—Критик (Actor—Director—Critic)

Нейросети в трейдинге: Актер—Режиссёр—Критик (Actor—Director—Critic)

Предлагаем познакомиться с фреймворком Actor-Director-Critic, который сочетает в себе иерархическое обучение и многокомпонентную архитектуру для создания адаптивных торговых стратегий. В этой статье мы подробно рассмотрим, как использование Режиссера для классификации действий Актера помогает эффективно оптимизировать торговые решения и повышать устойчивость моделей в условиях финансовых рынков.
preview
Теория категорий в MQL5 (Часть 3)

Теория категорий в MQL5 (Часть 3)

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

Альтернативные показатели риска и доходности в MQL5

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

Нейронная сеть на практике: Метод наименьших квадратов

В данной статье мы рассмотрим несколько идей, среди которых: как математические формулы оказываются сложнее с виду, чем при их реализации в коде. Помимо этого, рассмотрим как можно настроить квадрант графика, а также одну интересную проблему, которая может возникнуть в вашем MQL5-коде. Хотя, честно говоря, я еще не совсем понял, как это объяснить. Но всё равно я вам покажу, как исправить это в коде.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 14): Многоцелевое прогнозирование таймсерий с помощью STF

Возможности Мастера MQL5, которые вам нужно знать (Часть 14): Многоцелевое прогнозирование таймсерий с помощью STF

Пространственно-временное слияние (Spatial Temporal Fusion, STF), которое использует как "пространственные", так и временные метрики при моделировании данных, в первую очередь применяется в дистанционном обследовании и во многих других областях, связанных с визуализацией, для лучшего понимания нашего окружения. Основываясь на опубликованной статье, мы изучим потенциал этого подхода для трейдеров.
preview
Создание советника Daily Drawdown Limiter на языке MQL5

Создание советника Daily Drawdown Limiter на языке MQL5

В статье подробно рассматриваются возможности реализации советника на основе торгового алгоритма. Это поможет автоматизировать систему на MQL5 и взять под контроль дневную просадку.
preview
Разрабатываем менеджер терминалов (Часть 1): Постановка задачи

Разрабатываем менеджер терминалов (Часть 1): Постановка задачи

Как обеспечить возможность удобного контроля за несколькими терминалами, на которых торгуют советники, да ещё и на разных компьютерах? Попробуем создать веб-интерфейс по управлению запуском торговых терминалов MetaTrader 5 и просмотру детальной информации о работе каждого экземпляра.
preview
Теория категорий в MQL5 (Часть 22): Другой взгляд на скользящие средние

Теория категорий в MQL5 (Часть 22): Другой взгляд на скользящие средние

В этой статье мы попытаемся упростить описание концепций, рассматриваемых в этой серии, остановившись только на одном индикаторе - наиболее распространенном и, вероятно, самом легком для понимания. Речь идет о скользящей средней. Также мы рассмотрим значение и возможные применения вертикальных естественных преобразований.
preview
Переосмысливаем классические стратегии (Часть II): Пробои индикатора Bollinger Bands

Переосмысливаем классические стратегии (Часть II): Пробои индикатора Bollinger Bands

В статье рассматривается торговая стратегия, объединяющая линейный дискриминантный анализ (Linear Discriminant Analysis, LDA) с полосами Боллинджера с использованием прогнозов категориальных зон для стратегических сигналов входа в рынок.
preview
Разработка системы репликации - Моделирование рынка (Часть 25): Подготовка к следующему этапу

Разработка системы репликации - Моделирование рынка (Часть 25): Подготовка к следующему этапу

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

Перестановка ценовых баров в MQL5

В этой статье мы представляем алгоритм перестановки ценовых баров и подробно рассказываем, как тесты на перестановку (permutation tests) можно использовать для выявления случаев, когда эффективность стратегии была сфабрикована с целью обмануть потенциальных покупателей советников.
preview
Методы дискретизации ценовых движений на Python

Методы дискретизации ценовых движений на Python

Мы рассмотрим методы дискретизации цен на Python + MQL5. В этой статье я поделюсь практическим опытом разработки библиотеки на Python, которая реализует целый спектр подходов к формированию баров — от классических Volume и Range bars до более экзотических методов вроде Renko и Kagi.ары, свечи трехлинейного прорыва, рэйндж бары — какова их статистика, как еще можно представить цены дискретно?
preview
Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (MacroHFT)

Нейросети в трейдинге: Контекстно-зависимое обучение, дополненное памятью (MacroHFT)

Предлагаю познакомиться с фреймворком MacroHFT, который применяет контекстно зависимое обучение с подкреплением и память, для улучшения решений в высокочастотной торговле криптовалютами, используя макроэкономические данные и адаптивные агенты.
preview
DoEasy. Элементы управления (Часть 28): Стили полосы в элементе управления "ProgressBar"

DoEasy. Элементы управления (Часть 28): Стили полосы в элементе управления "ProgressBar"

В статье будут разработаны стили отображения и текст описания полосы прогресса элемента управления ProgressBar
preview
Разработка инструментария для анализа движения цен (Часть 1): Проектор графиков

Разработка инструментария для анализа движения цен (Часть 1): Проектор графиков

Настоящий проект направлен на использование алгоритма MQL5 для разработки комплексного набора инструментов анализа для MetaTrader 5. Эти инструменты — от скриптов и индикаторов до моделей искусственного интеллекта и советников — позволят автоматизировать процесс анализа рынка. Иногда такая разработка позволяет создавать инструменты, способные выполнять углубленный анализ без участия человека и прогнозировать результаты на соответствующих платформах. Ни одна возможность не будет упущена. Присоединяйтесь ко мне в рамках исследования процесса создания надежного набора пользовательских инструментов для анализа рынка. Начнем с разработки простой программы на MQL5, которую я назвал Chart Projector (Проектор графиков).
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 56): Фракталы Билла Вильямса

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

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

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

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

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

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

Как разработать агент обучения с подкреплением на MQL5 с интеграцией RestAPI (Часть 4): Организация функций в классах в MQL5

В данной статье рассматривается переход от процедурного написания кода к объектно-ориентированному программированию (ООП) в MQL5 с упором на интеграцию с REST API. Сегодня мы обсуждаем организацию функций HTTP-запросов (GET и POST) в классы и подчеркнем такие преимущества, как инкапсуляция, модульность и простота обслуживания. Подробно рассмотрим рефакторинг кода и покажем замену изолированных функций методами класса. Статья содержит практические примеры и тесты.
preview
Разработка системы репликации (Часть 37): Прокладываем путь (I)

Разработка системы репликации (Часть 37): Прокладываем путь (I)

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

Внедряем систему непрерывной адаптации LLM для алгоритмического трейдинга

SEAL (Self-Evolving Adaptive Learning) — система непрерывной адаптации LLM для алгоритмического трейдинга, решающая проблему быстрой деградации моделей на меняющихся рынках. Вместо периодического переобучения, которое занимает часы и стирает старые паттерны, SEAL учится на каждой закрытой сделке, сохраняя приоритетную память важных примеров и автоматически запуская инкрементальный файнтьюнинг при падении точности или смене рыночного режима.
preview
Факторизация матриц: основы

Факторизация матриц: основы

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

Совместное использование PSAR, Хейкин-Аши и глубокого обучения для трейдинга

В настоящем проекте исследуется сочетание глубокого обучения и технического анализа для тестирования торговых стратегий на рынке Форекс. Для быстрого экспериментирования используется скрипт на Python, использующий модель ONNX наряду с традиционными индикаторами, такими как PSAR, SMA и RSI, для прогнозирования движения пары EUR/USD. Затем скрипт MetaTrader 5 переносит эту стратегию в реальную среду, используя исторические данные и технический анализ для принятия обоснованных торговых решений. Результаты тестирования на исторических данных свидетельствуют об осторожном, но последовательном подходе, направленном на управление рисками и устойчивый рост, а не на агрессивную погоню за прибылью.
preview
Переосмысливаем классические стратегии (Часть 13): Минимизация задержки при пересечении скользящих средних

Переосмысливаем классические стратегии (Часть 13): Минимизация задержки при пересечении скользящих средних

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

Передовые методы управления и оптимизации памяти в MQL5

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

Отбор признаков и снижение размерности с помощью анализа главных компонент (PCA)

В статье рассматривается реализация модифицированного алгоритма анализа компонентов прямого отбора, вдохновленного исследованиями, представленными в книге Луки Пуггини (Luca Puggini) и Шона Маклуна (Sean McLoone) “Анализ компонентов прямого отбора: алгоритмы и приложения”.
preview
Биологический нейрон для прогнозирования финансовых временных рядов

Биологический нейрон для прогнозирования финансовых временных рядов

Выстраиваем биологически верную систему нейронов для прогнозирования временных рядов. Внедрение плазмоподобной среды в архитектуру нейронной сети создало своеобразный "коллективный разум", где каждый нейрон влияет на работу системы не только через прямые связи, но и посредством дальнодействующих электромагнитных взаимодействий. Как покажет себя нейронная система моделирования мозга на рынке?
preview
Изучение передовых методов машинного обучения в стратегии пробоя «коридора Дарваса» (Darvas Box Breakout)

Изучение передовых методов машинного обучения в стратегии пробоя «коридора Дарваса» (Darvas Box Breakout)

Стратегия Darvas Box Breakout, созданная Николасом Дарвасом, представляет собой подход в технической торговле, который выявляет потенциальные сигналы на покупку, когда цена акций поднимается выше установленного диапазона «коридора», что указывает на сильный восходящий импульс. В этой статье мы применим эту стратегическую концепцию в качестве примера для изучения трех передовых методов машинного обучения. К ним относятся использование модели машинного обучения для генерации сигналов вместо фильтрации сделок, применение непрерывных сигналов вместо дискретных и использование для подтверждения сделок моделей, обученных на разных таймфреймах.
preview
Реализация квантовой схемы Quantum Reservoir Computing (QRC)

Реализация квантовой схемы Quantum Reservoir Computing (QRC)

Революционный подход к машинному обучению в трейдинге через квантовые вычисления. Статья демонстрирует практическую реализацию адаптивной системы QRC с постоянным дообучением для прогнозирования рыночных движений в реальном времени.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 09): Сочетание кластеризации k-средних с фрактальными волнами

Возможности Мастера MQL5, которые вам нужно знать (Часть 09): Сочетание кластеризации k-средних с фрактальными волнами

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

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

Мы завершаем реализацию фреймворка MacroHFT для высокочастотной торговли криптовалютами, который использует контекстно-зависимое обучение с подкреплением и памятью для адаптации к динамичным рыночным условиям. И в завершении данной статьи будет проведено тестирование реализованных подходов, на реальных исторических данных, для оценки их эффективности.
preview
Базовый класс популяционных алгоритмов как основа эффективной оптимизации

Базовый класс популяционных алгоритмов как основа эффективной оптимизации

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

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

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

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

Прежде, чем двигаться дальше в разработке мультивалютных советников, попробуем переключиться на создание нового проекта, использующего разработанную библиотеку. На этом примере выявим, как лучше организовать хранение исходного кода, и как нам может помочь использование нового репозитория кода от MetaQuotes.
preview
Разработка системы репликации (Часть 28): Проект советника — класс C_Mouse (II)

Разработка системы репликации (Часть 28): Проект советника — класс C_Mouse (II)

Когда начали создаваться первые системы, способные что-то считать, всё потребовало вмешательства инженеров, обладающих обширными знаниями о том, что проектируется. Мы говорим о рассвете компьютерной техники, о времени, когда не было даже терминалов, позволяющих что-либо программировать. По мере развития и роста интереса к тому, чтобы большее число людей могли создавать что-либо, появлялись новые идеи и методы программирования этих машин, которые раньше сводились к изменению положения соединителей. Именно тогда появились первые терминалы.