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

icon

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

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

Новая статья
последние | лучшие
preview
Единый мультитаймфреймовый Ренко: Синтез временных измерений рынка

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

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

Осваиваем JSON: Разработка пользовательского JSON-ридера с нуля на MQL5

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

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

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

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

Продолжаем знакомство с инновационным фреймворком Chimera — двухмерной моделью пространства состояний, использующей нейросетевые технологии для анализа многомерных временных рядов. Этот метод обеспечивает высокую точность прогнозирования при низких вычислительных затратах.
preview
Теория категорий в MQL5 (Часть 21): Естественные преобразования с помощью LDA

Теория категорий в MQL5 (Часть 21): Естественные преобразования с помощью LDA

Эта статья, 21-я в нашей серии, продолжает рассмотрение естественных преобразований и того, как их можно реализовать с помощью линейного дискриминантного анализа. Как и в предыдущей статье, реализация представлена в формате класса сигнала.
preview
Удаленный профессиональный риск-менеджер Forex на Python

Удаленный профессиональный риск-менеджер Forex на Python

Делаем удаленный профессиональный риск-менеджер Для Forex на Python, разворачиваем его на сервере по шагам. В процессе статьи поймем, как программно управлять рисками на Форекс, и как больше не слить депозит на Форекс.
preview
Алгоритм анархической социальной оптимизации — Anarchic Society Optimization (ASO)

Алгоритм анархической социальной оптимизации — Anarchic Society Optimization (ASO)

В очередной статье мы познакомимся с алгоритмом Anarchic Society Optimization (ASO) и обсудим, как алгоритм, основанный на иррациональном и авантюрном поведении участников анархического общества - аномальной системы социального взаимодействия, свободной от централизованной власти и различного рода иерархий способен исследовать пространство решений и избегать ловушек локального оптимума. В статье будет представлена унифицированная структура ASO, применимая как к непрерывным, так и к дискретным задачам.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 3): Динамическое следование за трендом и возврат к среднему значению

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

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

Управление рисками (Часть 2): Реализация расчета лотов в графическом интерфейсе

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

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

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

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

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

Нейросети в трейдинге: Эффективное извлечение признаков для точной классификации (Mantis)

Познакомьтесь с Mantis — лёгкой фундаментальной моделью для классификации временных рядов на базе Transformer с контрастным предварительным обучением и гибридным вниманием, обеспечивающими рекордную точность и масштабируемость.
preview
Анализ временных разрывов цен в MQL5 (Часть II): Создаем тепловую карту распределения ликвидности во времени

Анализ временных разрывов цен в MQL5 (Часть II): Создаем тепловую карту распределения ликвидности во времени

Подробное руководство по созданию индикатора тепловой карты для MetaTrader 5, который визуализирует временное распределение цены в виде тепловой карты. Статья раскрывает математическую основу анализа временной плотности, где каждый ценовой уровень окрашивается от красного (минимальное время пребывания) до синего (максимальное время пребывания).
preview
Символьное уравнение прогнозирования цены с использованием SymPy

Символьное уравнение прогнозирования цены с использованием SymPy

Статья описывает интересный подход к алготрейдингу, основанный на символьных математических уравнениях вместо традиционных "черных ящиков" машинного обучения. Автор показывает, как преобразовать непрозрачные нейросети в читаемые математические формулы через библиотеку SymPy и полиномиальную регрессию, что позволяет полностью понимать логику принятия торговых решений. Подход сочетает вычислительную мощь ML с прозрачностью классических методов, давая трейдеру возможность анализировать, корректировать и адаптировать модели в реальном времени.
preview
Автоматизация торговых стратегий на MQL5 (Часть 14): Стратегия каскадной торговли с MACD-RSI и статистическими методами

Автоматизация торговых стратегий на MQL5 (Часть 14): Стратегия каскадной торговли с MACD-RSI и статистическими методами

В настоящей статье мы представляем стратегию лейеринга, которая сочетает индикаторы MACD и RSI со статистическими методами для автоматизации динамической торговли на MQL5. Мы исследуем архитектуру этого каскадного подхода, подробно описываем его реализацию с помощью ключевых сегментов кода и даем рекомендации читателям по тестированию на истории для оптимизации эффективности. Наконец, в заключение мы подчеркиваем потенциал стратегии и закладываем основу для дальнейших усовершенствований в автоматической торговле.
preview
Нейронная сеть на практике: Псевдообратная (I)

Нейронная сеть на практике: Псевдообратная (I)

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

Теория категорий в MQL5 (Часть 6): Мономорфные расслоенные произведения и эпиморфные кодекартовы квадраты

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

Инженерия признаков с Python и MQL5 (Часть I): AI-модели для долгосрочного прогнозирования по скользящим средним

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

Нейросети в трейдинге: Устойчивые торговые сигналы в любых режимах рынка (ST-Expert)

В этой статье мы познакомимся с фреймворком ST-Expert, который обеспечивает устойчивость прогнозов к рыночной неопределённости, позволяя учитывать локальные и глобальные зависимости во временных рядах. Его гибкая архитектура способствует адаптивности моделей и повышает точность предсказаний.
preview
Нейросети в трейдинге: Модели многократного уточнения прогнозов (RAFT)

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

Фреймворк RAFT предлагает принципиально иной подход к прогнозированию динамики рынка — не как разовый снимок, а как итеративное уточнение состояния в реальном времени. Он одновременно учитывает локальные и глобальные изменения, сохраняя высокую точность даже при сложных ценовых структурах.
preview
Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Простые элементы управления

Компоненты View и Controller для таблиц в парадигме MVC на MQL5: Простые элементы управления

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

Введение в MQL5 (Часть 10): Руководство по работе со встроенными индикаторами в MQL5 для начинающих

В этой статье описывается работа со встроенными индикаторами в MQL5, отдельное внимание уделяется созданию советника на основе индикатора RSI с использованием проектного подхода. Вы научитесь получать и использовать значения RSI, обрабатывать колебания ликвидности и улучшать визуализацию торговли с помощью графических объектов. Кроме того, в статье рассматривается еще один важный аспект. Сюда относится риск в процентах от депозита, соотношение риска и доходности, а также модификация риска на ходу для защиты прибыли.
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года
Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

Материалы Automated Trading Championship: Репортажи Чемпионата 2007 года

В данной теме представлены Еженедельные Репортажи Чемпионата 2007 года. Эти материалы являются моментальными снимками, которые интересно читать не только в ходе самих соревнований, но и спустя годы.
preview
Разработка системы репликации (Часть 27): Проект советника — класс C_Mouse (I)

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

В этой статье мы воплотим в жизнь класс C_Mouse. Он обеспечивает возможности программирования на самом высоком уровне. Однако разговоры о высокоуровневых или низкоуровневых языках программирования не связаны с включением в код нецензурных слов или жаргона. Всё наоборот. Когда мы говорим о высокоуровневом или низкоуровневом программировании, мы имеем в виду, насколько легко или сложно понять код другим программистам.
preview
От начального до среднего уровня: Переменные (I)

От начального до среднего уровня: Переменные (I)

Многим начинающим программистам тяжело понять почему их код работает не так, как они ожидают. Существует множество моментов, которые делают код действительно функциональным. Это не просто набор разных функций и операций, который заставляет код работать. Сегодня я предлагаю вам научиться правильно создавать настоящий код, а не копировать и вставлять его фрагменты. Представленные здесь материалы имеют исключительно дидактический характер. Ни в коем случае нельзя рассматривать приложение ни с какой иной целью, кроме как для изучения и освоения представленных концепций.
preview
Разработка системы репликации (Часть 29): Проект советника — класс C_Mouse (III)

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

После улучшения класса C_Mouse, мы можем сосредоточиться на создании класса, призванного создать совершенно новую основу для обучения. Как уже упоминалось в начале статьи, мы не будем использовать наследование или полиморфизм для создания этого нового класса. Вместо этого мы изменим, а точнее, добавим новые объекты в ценовую линию. Именно этим мы и займемся в данный момент, а в следующей статье мы рассмотрим, как изменить исследования. Но мы сделаем всё это, не меняя код класса C_Mouse. Признаюсь, на практике было бы легче достичь этого с помощью наследования или полиморфизма. однако существуют и другие методы достижения такого же результата.
Материалы Automated Trading Championship: Интервью с Участниками 2007 года
Материалы Automated Trading Championship: Интервью с Участниками 2007 года

Материалы Automated Trading Championship: Интервью с Участниками 2007 года

В публикуемых интервью Чемпионата 2007 года уже чувствуется влияние результатов предыдущего соревнования. Первый Чемпионат получил широкий резонанс не только на страницах интернета, но и в оффлайновых печатных изданиях. Ведущий разработчик компании MetaQuotes Software Corp. рассказывает о нововведениях предстоящего Чемпионата Automated Trading Championship 2007. Мы обратились с вопросами к разработчику известного индикаторного комплекса ZUP Евгению Неумоину (nen), пообщались с трейдером фонда Александром Позднышевым (AlexSilver).
preview
Разработка советника для мониторинга точек входа в свинг-сделки

Разработка советника для мониторинга точек входа в свинг-сделки

Год близится к завершению, и в это время долгосрочные трейдеры часто подводят его итоги, анализируя историю рынка, его поведение и тренды с тем, чтобы оценить потенциал для будущих движений. В этой статье мы рассмотрим разработку советника для мониторинга долгосрочных сделок с помощью языка MQL5. Цель в том, чтобы справиться с такими проблемами, как упущение торговых возможностей по причине торговли вручную и отсутствия автоматизированных систем мониторинга. В качестве примера мы будем использовать одну из наиболее ярких торговых пар, чтобы эффективно определить стратегию для нашего решения и разработать его.
preview
Алгоритм оптимизации Ройял Флеш —  Royal Flush Optimization (RFO)

Алгоритм оптимизации Ройял Флеш — Royal Flush Optimization (RFO)

Авторский алгоритм Royal Flush Optimization предлагает новый взгляд на решение задач оптимизации, заменяя классическое бинарное кодирование генетических алгоритмов на секторный подход, вдохновленный принципами покера. RFO демонстрирует, как упрощение базовых принципов может привести к созданию эффективного и практичного метода оптимизации. В статье представлен детальный анализ алгоритма и результаты тестирования.
preview
Алгоритм оптимизации центральной силы — Central Force Optimization (CFO)

Алгоритм оптимизации центральной силы — Central Force Optimization (CFO)

В этой статье представлен алгоритм оптимизации центральной силы (CFO), вдохновленный законами гравитации. Исследуется, как принципы физического притяжения могут решать оптимизационные задачи, где "более тяжелые" решения притягивают менее успешные аналоги.
preview
Пользовательские символы MQL5: Создаем символ 3D-баров

Пользовательские символы MQL5: Создаем символ 3D-баров

В данной статье представлено детальное руководство по созданию инновационного индикатора 3DBarCustomSymbol.mq5, который генерирует пользовательские символы в MetaTrader 5, объединяющие цену, время, объем и волатильность в единое трехмерное представление. Рассматриваются математические основы, архитектура системы, практические аспекты реализации и применения в торговых стратегиях.
preview
Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 3)

Разработка MQTT-клиента для MetaTrader 5: методология TDD (Часть 3)

Статья является третьей частью серии, описывающей этапы разработки нативного MQL5-клиента для протокола MQTT. В этой части мы подробно описываем применение принципа разработки через тестирование для реализации обмена пакетами CONNECT/CONNACK. В конце этого шага наш клиент ДОЛЖЕН уметь вести себя соответствующим образом при работе с любыми возможными результатами сервера при попытке подключения.
preview
Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (II)

Построение модели для ограничения диапазона сигналов по тренду (Часть 8): Разработка советника (II)

Ранее мы обсуждали советник на основе индикатора, который также работал в паре с независимым скриптом для построения структуры риска и вознаграждения. Сегодня мы обсудим архитектуру MQL5-советника, объединяющего все функции в одной программе.
preview
Передовые методы управления и оптимизации памяти в MQL5

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

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

Нейросети в трейдинге: Модель темпоральных запросов (TQNet)

Фреймворк TQNet открывает новые возможности в моделировании и прогнозировании финансовых временных рядов, сочетая модульность, гибкость и высокую производительность. В статье раскрывается возможность реализации сложных механизмом работы с глобальными корреляциями, включая продвинутые методы инициализации параметров.
preview
Алгоритм Большого взрыва и Большого сжатия — BBBC (Big Bang - Big Crunch)

Алгоритм Большого взрыва и Большого сжатия — BBBC (Big Bang - Big Crunch)

В статье представлен метод Big Bang - Big Crunch, который имеет две ключевые фазы: циклическое создание случайных точек и их сжатие к оптимальному решению. Этот подход сочетает исследование и уточнение, позволяя постепенно находить лучшие решения и открывая новые возможности в области оптимизации.
preview
Прогнозирование в трейдинге и Grey-модели

Прогнозирование в трейдинге и Grey-модели

В этой статье рассматривается применение Grey-моделей для прогнозирования финансовых временных рядов. Мы рассмотрим принципы работы Grey-моделей и особенности их применения к финансовым рядам. Обсудим преимущества и ограничения использования этих моделей в трейдинге.
preview
Инженерия признаков с Python и MQL5 (Часть II): Угол наклона цены

Инженерия признаков с Python и MQL5 (Часть II): Угол наклона цены

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

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

Продолжаем реализацию подходов, предложенных авторами фреймворка FinCon. FinCon является многоагентной системой, основанной на больших языковых моделях (LLM). Сегодня мы реализуем необходимые модули и проведем комплексное тестирование модели на реальных исторических данных.
preview
Изучение MQL5 — от новичка до профи (Часть VII): Принципы отладки приложений MQL

Изучение MQL5 — от новичка до профи (Часть VII): Принципы отладки приложений MQL

Исправление ошибок — неотъемлемая часть цикла программирования. В этой статье рассмотрены типовые приемы исправления ошибок (отладки) любого приложения, работающего в среде MetaTrader 5.