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

icon

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

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

Новая статья
последние | лучшие
preview
Как функции столетней давности могут обновить ваши торговые стратегии

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

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

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

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

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

В этой серии статей представлены несколько методов разметки временных рядов, которые могут создавать данные, соответствующие большинству моделей искусственного интеллекта (ИИ). Целевая разметка данных может сделать обученную модель ИИ более соответствующей пользовательским целям и задачам, повысить точность модели и даже помочь модели совершить качественный скачок!
preview
Торговый инструментарий MQL5 (Часть 2): Расширение и применение EX5-библиотеки для управления позициями

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

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

От новичка до эксперта: Раскрываем скрытые уровни коррекции Фибоначчи

В настоящей статье мы рассмотрим основанный на данных подход к обнаружению и проверке нестандартных уровней коррекции Фибоначчи, которые могут учитываться рынками. Мы представляем полный рабочий процесс, адаптированный для реализации на MQL5, начиная со сбора данных и определения баров или колебаний и заканчивая кластеризацией, проверкой статистических гипотез, бэктестингом и интеграцией в инструмент Фибоначчи на MetaTrader 5. Цель состоит в том, чтобы создать воспроизводимый конвейер, преобразующий отдельные наблюдения в статистически обоснованные торговые сигналы.
preview
Машинное обучение и Data Science (Часть 19): Совершенствуем AI-модели с помощью AdaBoost

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

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

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

Долгая кратковременная память (LSTM) - это тип рекуррентной нейронной сети (RNN), предназначенной для моделирования последовательных данных путем эффективного учета долгосрочных зависимостей и решения проблемы исчезающего градиента. В настоящей статье мы рассмотрим, как использовать LSTM для прогнозирования будущих тенденций, повышая эффективность стратегий следования за трендами. В статье будет рассказано о внедрении ключевых концепций и стоящей за разработкой мотивации, извлечении данных из MetaTrader 5, использовании этих данных для обучения модели на Python, интеграции модели машинного обучения в MQL5, а также о результатах и перспективах на будущее на основании статистического бэк-тестирования.
preview
Разработка системы репликации - Моделирование рынка (Часть 23): ФОРЕКС (IV)

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

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

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

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

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

При изучении метода FEDformer мы приоткрыли дверь в частотную область представления временного ряда. В новой статье мы продолжим начатую тему. И рассмотрим метод, позволяющий не только проводить анализ, но и прогнозировать последующие состояния в частной области.
preview
Как организовать ИИ-хедж-фонд в MetaTrader 5

Как организовать ИИ-хедж-фонд в MetaTrader 5

В статье разобрана архитектура совета из 15 ИИ-агентов: десять аналитиков и четыре риск-офицера голосуют в трёх параллельных фазах, итог фиксирует Председатель. Для восьми валютных пар используются изолированные контексты с отдельными репутациями. Динамический порог голосов зависит от дневных целей PnL. Expert Advisor работает только по сигналу SL и TP, что позволяет оценить качество решений без дополнительной механики.
preview
Разработка торгового советника с нуля (Часть 16): Доступ к данным в Интернете (II)

Разработка торгового советника с нуля (Часть 16): Доступ к данным в Интернете (II)

Знание того, как вводить данные из Web в советник, не так очевидно, вернее, не так просто, чтобы это можно было сделать без понимания всех возможностей, которые есть в MetaTrader 5.
preview
DoEasy. Элементы управления (Часть 11): WinForms-объекты — группы, WinForms-объект CheckedListBox

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

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

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

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

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

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

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

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

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

Концепция Smart Money (Break of Structure) в сочетании с индикатором RSI для принятия обоснованных решений в автоматической торговле на основе структуры рынка.
preview
Добавляем пользовательскую LLM в торгового робота (Часть 4): Обучение собственной LLM с помощью GPU

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

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

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

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

Реализация механизма безубыточности в MQL5 (Часть 1): Базовый класс и режим безубытка по фиксированным пунктам

В данной статье рассматривается применение механизма безубыточности (breakeven) в автоматизированных стратегиях на языке MQL5. Начнем с простого объяснения, что такое режим безубытка, как он реализуется и каковы его возможные вариации. Далее эта функциональность интегрируется в советника Order Blocks, созданного нами в последней статье об управлении рисками. Для оценки эффективности проведем два бэктеста при определенных условиях: один с применением механизма безубыточности и другой — без.
preview
Алгоритм кометного следа (Comet Tail Algorithm, CTA)

Алгоритм кометного следа (Comet Tail Algorithm, CTA)

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

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

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

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

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

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

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

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

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

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

В статье переработаем логику указания базового и главного объекта для всех WinForms-объектов библиотеки, разработаем новый базовый объект "Подсказка" и несколько его производных классов для указания возможного направления перемещения разделительной линии.
preview
Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT

Установка MetaTrader 5 и других приложений от MetaQuotes на HarmonyOS NEXT

Приложения от MetaQuotes, включая платформы MetaTrader 5 и MetaTrader 4, можно установить на устройства с операционной системой HarmonyOS NEXT с помощью компонента DroiTong. В статье представлено пошаговое руководство для установки программ на телефон или ноутбук.
preview
Команда ИИ-агентов с ротацией по прибыли: Эволюция живой торговой системы в MQL5

Команда ИИ-агентов с ротацией по прибыли: Эволюция живой торговой системы в MQL5

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

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

В статье продолжим работу над WinForm-объектом TabControl — создадим класс объекта-поля вкладки, сделаем возможность расположения заголовков вкладок в несколько рядов и добавим методы для работы с вкладками объекта.
preview
Команда ИИ-агентов с ротацией по прибыли: Эволюция живой торговой системы в MQL5

Команда ИИ-агентов с ротацией по прибыли: Эволюция живой торговой системы в MQL5

Управление финансами как экосистема: семь ИИ-трейдеров с разными характерами и стратегиями вместо одного алгоритма. Они конкурируют за капитал, учатся на ошибках и принимают решения коллективно. Статья раскрывает принципы работы системы Modern RL Trader, где код обладает сознанием и эмоциями, создавая живой, эволюционирующий торговый разум.
preview
Таблицы в парадигме MVC на MQL5: Таблица корреляции символов

Таблицы в парадигме MVC на MQL5: Таблица корреляции символов

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

Квантовая нейросеть на MQL5 (Часть III): Виртуальный квантовый процессор с кубитами

Создаем торговую систему с настоящим квантовым симулятором вместо математических аналогий. Система использует 3 виртуальных кубита, квантовые гейты и принципы суперпозиции для анализа рынков. Реализована как торговый советник для MetaTrader 5 на MQL5. Главное достижение — переход от имитации к реальным квантовым принципам обработки финансовой информации.
preview
Единый мультитаймфреймовый Ренко: Синтез временных измерений рынка

Единый мультитаймфреймовый Ренко: Синтез временных измерений рынка

Статья представляет инновационную концепцию мультитаймфреймового Ренко-графика, который объединяет сигналы с четырёх временных масштабов (M5, M15, H1, H4) в единый синтетический инструмент. Система создаёт виртуальный символ в MetaTrader 5, используя EMA каждого таймфрейма для формирования композитного сигнала через три метода: простое среднее, взвешенное среднее и консенсус. Реализация включает адаптивный размер кирпича на основе ATR, работу в реальном времени и полную интеграцию с MetaTrader 5.
preview
Квантовая нейросеть на MQL5 (Часть II): Обучаем нейросеть с обратным распространением ошибки на марковских матрицах ALGLIB

Квантовая нейросеть на MQL5 (Часть II): Обучаем нейросеть с обратным распространением ошибки на марковских матрицах ALGLIB

В статье представлена инновационная архитектура квантовой нейронной сети для алгоритмической торговли, объединяющая принципы квантовой механики с современными методами машинного обучения. Система включает квантовые эффекты (резонанс, интерференцию, декогеренцию), многоуровневую память различных временных масштабов, марковские цепи с библиотекой ALGLIB и адаптивное управление параметрами. Полная реализация выполнена на MQL5 с использованием встроенных типов matrix/vector, что устраняет барьеры внедрения в MetaTrader 5.
preview
Разработка системы репликации - Моделирование рынка (Часть 20): ФОРЕКС (I)

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

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

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

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

Функции Уолша в современном трейдинге

Эта статья рассматривает применение функций Уолша в трейдинге. Мы познакомимся с основными принципами использования этих функций для анализа финансовых рынков, прогнозирования цен и принятия торговых решений. Также мы обсудим преимущества и недостатки этих функций, и перспективы их применения в трейдинге и техническом анализе.
preview
Нейросетевой торговый советник на базе PatchTST

Нейросетевой торговый советник на базе PatchTST

Статья представляет революционную архитектуру PatchTST — специально адаптированный трансформер для анализа финансовых временных рядов, который разбивает рыночные данные на патчи из 16 баров для эффективной обработки. Подробно рассматривается полная реализация торгового робота в MQL5 — от математических основ и структур данных до готового Expert Advisor с системами управления рисками и непрерывного обучения.
preview
Разработка системы репликации (Часть 57): Анализируем тестовый сервис

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

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

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

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