Автоматизация торговых стратегий на MQL5 (Часть 35): Разработка торговой системы на основе брейкер-блоков
В этой статье мы создадим на MQL5 торговую систему на основе брейкер-блоков. Она определяет диапазоны консолидации, обнаруживает пробои и подтверждает брейкер-блоки по свинговым точкам, чтобы торговать их ретесты с заданными параметрами риска. Система динамически отображает ордер-блоки и брейкер-блоки, а также связанные с ними подписи и стрелки; кроме того, система поддерживает автоматическую торговлю и использование трейлинг-стопа.
Неопределённость как модель (Часть 8): Обобщение МНК
Материал показывает, как в MQL5 корректировать результаты регрессий при гетероскедастичности и автокорреляции. Реализована HAC-оценка Ньюи—Уэста для получения робастных стандартных ошибок и корректных t-статистик, что продемонстрировано на задаче оценки влияния новостей на волатильность EURUSD. Для моделей с коррелированными остатками применен CLS для ARMA с регуляризацией Левенберга—Марквардта, проверенный на спреде GOOGL/AAPL.
Автоматизация торговых стратегий в MQL5 (Часть 43): Адаптивная стратегия на основе канала линейной регрессии
В этой статье мы реализуем в MQL5 адаптивную систему на основе канала линейной регрессии. Она автоматически рассчитывает линию регрессии и канал стандартного отклонения за заданный пользователем период, активируется только тогда, когда абсолютное значение наклона превышает минимальный порог, что подтверждает наличие выраженного тренда, а также динамически перестраивает или продлевает канал, когда цена выходит за его границы на настраиваемую долю ширины.
Автоматизация торговых стратегий в MQL5 (Часть 45): Инверсный разрыв справедливой стоимости (IFVG)
В этой статье мы создадим в MQL5 систему, которая обнаруживает разрывы справедливой стоимости (FVG) и отслеживает их переход в состояние инвертированного FVG (IFVG). Она выявляет бычьи и медвежьи FVG на последних сформированных барах с фильтрацией по минимальному размеру разрыва, отслеживает состояния FVG Normal, Mitigated и Inverted в зависимости от взаимодействия цены с зоной (митигация при пробое дальней границы, возврат цены в зону после митигации и инверсия фиксируется, когда после повторного входа цена закрывается за дальней границей, выходя изнутри зоны), игнорирует новые FVG, ценовые диапазоны которых перекрываются с уже существующими зонами, и ограничивает число отслеживаемых FVG.
Моделирование рынка: Position View (VII)
В данной статье мы начнем вносить некоторые улучшения в индикатор позиции, чтобы иметь возможность взаимодействовать с ним и изменять ценовые линии или закрывать позицию напрямую через взаимодействие с индикатором позиции. Прежде чем мы перейдем к реализации, стоит кое-что уточнить, особенно для тех, кто об этом не знает. Индикатор никак не может использоваться для изменения чего-либо на торговом сервере. Это связано с тем, что в MetaTrader 5 действует система безопасности, которая позволяет воздействовать на ордера и позиции только советникам. Никакое другое приложение, кроме советника, не сможет манипулировать ордерами или позициями.
Торговые инструменты MQL5 (Часть 23): Трёхмерные графики с управляемой камерой и поддержкой DirectX для анализа распределений
В этой статье мы усовершенствовали инструмент построения графиков биномиального распределения в MQL5, интегрировав DirectX для 3D-визуализации, что позволило переключаться между 2D и 3D режимами с управляемым камерой поворотом, масштабированием и автоматическим подбором положения камеры для иммерсивного анализа. Мы визуализируем столбцы гистограммы в 3D, опорные плоскости и оси наряду с кривой функции вероятностной массы, сохраняя при этом 2D-элементы, такие как панели статистики, легенда и настраиваемые темы, градиенты и метки.
Двумерные копулы в MQL5: (Часть 3) Реализация и настройка смешанных моделей копул
В статье наш набор инструментов для работы с копулами расширяется смешанными копулами, реализованными непосредственно в MQL5. Мы строим смеси Клейтона–Франка–Гумбеля и Клейтона–Стьюдента-t–Гумбеля, оцениваем их с помощью EM и вводим управление разреженностью через SCAD с кросс-валидацией. Предоставленные скрипты настраивают гиперпараметры, сравнивают смеси с использованием информационных критериев и сохраняют обученные модели. Практики могут применять эти компоненты для учета асимметричной хвостовой зависимости и встраивать выбранную модель в индикаторы или советники.
Нейросети в трейдинге: Долговременная память торговых сценариев (Окончание)
В статье отдельные компоненты VLADriver-RAG объединяются в единую торговую систему с долговременной памятью завершённых сценариев. Показана последовательность подготовки рыночного представления, обучения Актёра и Критика, формирования базовой памяти и последующей адаптации модели с использованием найденного опыта. Практическая часть позволяет проследить весь цикл до проверки полученной системы на EURUSD H1 вне обучающей выборки.
Изучение Стандартной библиотеки MQL5 (часть 1): Знакомство с CTrade, CiMA и CiATR
Стандартная библиотека MQL5 — чрезвычайно полезный инструмент при разработке торговых алгоритмов для MetaTrader 5. В этой серии мы будем учиться создавать с помощью нее эффективные торговые инструменты для MetaTrader 5. Под инструментами подразумеваются собственные советники, индикаторы и другие вспомогательные средства. Сегодня мы разработаем трендового советника с использованием классов CTrade, CiMA и CiATR. Тема будет полезна всем — и начинающим, так и опытным разработчикам. Приятного чтения.
MetaTrader и Google Таблицы через PythonAnywhere: Руководство по безопасному потоку данных
В этой статье показан безопасный способ экспорта данных MetaTrader в Google Таблицы. Google Таблицы — очень ценное решение, поскольку оно работает в облаке, а сохраненные там данные доступны в любое время и из любого места. Поэтому трейдеры могут получать доступ к торговым и связанным с торговлей данным, экспортированным в Google Таблицы, и выполнять дальнейший анализ для будущей торговли в любое время, где бы они ни находились.
Знакомство с языком MQL5 (Часть 42): Руководство для начинающих по работе с файлами в MQL5 (IV)
В этой статье показано, как создать индикатор на языке MQL5, который считывает торговую историю из CSV, извлекает значения из столбца Profit($) и общее число сделок, а затем рассчитывает накопительную кривую баланса. Мы строим кривую в отдельном окне индикатора, автоматически масштабируем ось Y и рисуем горизонтальную и вертикальную оси для выравнивания. Индикатор обновляется по таймеру и перерисовывается только при появлении новых сделок. Необязательные метки показывают прибыль или убыток по каждой сделке, помогая прямо на графике оценивать результаты торговли и просадки.
От начального до среднего уровня: События в объектах (II)
В данной статье мы рассмотрим принцип работы трех последних типов событий, которые может генерировать объект. Разбираться в этом будет очень увлекательно, так как в итоге мы сделаем то, что многим может показаться безумием, но это вполне возможно и дает весьма удивительный результат.
Торговые инструменты MQL5 (Часть 26): Интеграция частотного биннинга, энтропии и критерия хи-квадрат в визуальный анализатор
В этой статье мы разработаем инструмент частотного анализа на языке MQL5, который группирует данные о ценах в гистограммы, вычисляет энтропию для оценки информационного содержания и применяет тесты хи-квадрат для проверки соответствия распределения, а также интерактивные логи и статистические панели для более глубокого понимания рыночной структуры. Мы интегрируем режимы обновления по барам и по тикам, рендеринг с суперсэмплированием для плавной визуализации и перетаскиваемые/изменяемые по размеру объекты Canvas с автоматически прокручивающимися логами для повышения удобства использования при выполнении торгового анализа.
Возможности Мастера MQL5, которые вам нужно знать (Часть 76): Использование паттернов Awesome Oscillator и каналов конвертов с обучением с учителем
В продолжение нашей предыдущей статьи о паре индикаторов Awesome Oscillator и каналов конвертов (Envelope Channels), мы рассмотрим, как эту пару можно улучшить с помощью обучения с учителем. Awesome Oscillator и канал конвертов — это взаимодополняющее сочетание инструментов, позволяющих выявлять тренды и создавать уровни поддержки/сопротивления. Наш подход к обучению с учителем представляет собой сверточную нейронную сеть (CNN), которая использует ядро скалярного произведения (Dot Product Kernel) с механизмом внимания во времени (Cross-Time-Attention) для определения размеров своих ядер и каналов. Как обычно, это делается в пользовательском файле класса сигналов (signal class), который взаимодействует с Мастером MQL5 для сборки советника.
Торговые инструменты MQL5 (Часть 25): Расширяем поддержку нескольких распределений с интерактивным переключением
В этой статье мы расширим инструмент построения графиков на MQL5 для поддержки семнадцати статистических распределений с циклическим перебором распределений с помощью значка переключения в заголовке. Мы добавим загрузку данных для каждого типа, дискретное и непрерывное вычисление гистограмм и теоретические функции распределения вероятностей/плотности для каждой модели, а также динамические заголовки, метки осей и панели параметров, которые автоматически адаптируются. Результат позволяет накладывать кривые разных распределений на данные одной и той же выборки и сравнивать качество соответствия моделей из разных семейств распределений.
Создание пользовательских индикаторов в MQL5 (Часть 3): Улучшение многошкальной визуализации с секторным и круговым стилями
В этой статье мы расширяем индикатор со шкальной визуализацией в MQL5, добавляя поддержку нескольких осцилляторов и выбор отдельного или комбинированного отображения через перечисление. Мы вводим секторный и круглый стили шкал с помощью производных классов от базового класса шкалы, улучшая отрисовку корпуса шкалы дугами, линиями и полигонами для более аккуратного визуального представления.
Алгоритм оптимизации шимпанзе: от ChOA к BChimp
Алгоритм оптимизации шимпанзе (ChOA) подражает групповой охоте приматов с разделением ролей, а его бинарная ветвь BChimp переносит эту механику в задачи отбора признаков. Реализуем непрерывное ядро в C_AO, по пути находим и исправляем унаследованный дефект коэффициента — незаметный за бинаризацией, но разрушающий поиск в непрерывной области. Аннотация даёт готовую реализацию и практические выводы о качестве и устойчивости поиска.
Разработка инструментария для анализа Price Action (Часть 53): Тепловая карта плотности паттернов для выявления зон поддержки и сопротивления
В этой статье представлен советник Pattern Density Heatmap – инструмент картирования ценовой динамики, который преобразует повторяющиеся обнаружения свечных паттернов в статистически значимые зоны поддержки и сопротивления. Вместо того чтобы рассматривать каждый сигнал по отдельности, советник агрегирует обнаружения в фиксированные ценовые зоны (бины), оценивает их плотность с опциональным взвешиванием по давности и подтверждает уровни по данным старшего таймфрейма. Полученная тепловая карта показывает уровни, на которые рынок исторически реагировал, и помогает заранее выбирать момент входа, управлять риском и повышать уверенность в стратегии независимо от стиля торговли.
Разработка динамического мультивалютного советника (Часть 8): Ротация капитала в зависимости от времени суток
В этой статье представлен механизм ротации капитала по торговым сессиям на языке MQL5, который распределяет риск по торговым сессиям вместо равномерной экспозиции в течение всего дня. Мы подробно разберем бюджеты риска по сессиям в рамках дневного лимита, динамический расчет лота на основе оставшегося риска сессии и автоматические ежедневные сбросы. При исполнении сделок используется специфичная для каждой сессии логика пробоя и торговли против ложного движения с подтверждением волатильности по ATR. В результате читатель получает практический шаблон, который позволяет направлять капитал туда, где условия конкретной сессии статистически наиболее сильны, сохраняя при этом контроль над экспозицией в течение всего дня.
Автоматизация торговых стратегий в MQL5 (Часть 42): Сессионная система пробоя начального диапазона (ORB)
В статье мы создадим гибко настраиваемую сессионную систему Opening Range Breakout (ORB) на MQL5. Она позволяет задавать время начала сессии и продолжительность начального диапазона, автоматически рассчитывает его максимум и минимум и открывает сделки только после подтверждённого пробоя в направлении движения.
Разработка инструментария для анализа Price Action (Часть 66): Создание сканера паттерна "голова и плечи" с проверкой структуры на MQL5
Стабильно выявлять паттерны "голова и плечи" в рыночных данных в реальном времени достаточно трудно из-за шума и структурной неоднозначности. В этой статье представлен структурированный индикатор на языке MQL5 на основе треугольников, который выделяет компоненты паттерна, строит линию шеи и проверяет формации с использованием ATR, симметрии и ограничений наклона. Система обнаруживает и отображает стандартные и перевернутые паттерны, присваивает им оценку качества и подтверждает пробои с возможностью генерации алертов, обеспечивая последовательный анализ графиков на основе четких правил.
Автоматизация торговых стратегий в MQL5 (Часть 49): Разворотный паттерн "Квазимодо" (QM)
В статье мы создаём автоматическую программу MQL5, которая обнаруживает разворотный паттерн Квазимодо по зигзагу подтверждённых свинговых точек. Рассмотрим поиск свингов, активацию сетапа, вход на возврате к линии QM, структурный Stop Loss и расчёт объёма по риску. Также добавим перенос в безубыток, трейлинг-стоп и частичная фиксация прибыли для сопровождения открытых позиций.
Разработка инструментария для анализа Price Action (Часть 65): Создание системы для мониторинга и анализа построенных вручную уровней Фибоначчи
Инструмент коррекции Фибоначчи – важный элемент анализа Price Action, указывающий ключевые уровни возможной рыночной реакции. Однако его эффективность часто ограничена необходимостью постоянного ручного наблюдения, из-за чего часть сетапов может быть пропущена. В этой части серии представлен инструмент, который с помощью MQL5 синхронизирует и активно отслеживает вручную построенные уровни Фибоначчи, сочетая дискреционный подход с автоматизированным контролем.
Анализ CSV-данных (Часть 1): Механизм экспорта CSV при многоядерной оптимизации в MQL5
При многоядерной оптимизации в MetaTrader 5 результаты могут незаметно теряться, когда параллельные агенты одновременно обращаются к одному CSV-файлу. Повторно используемый механизм экспорта MQL5 применяет итерационную спин-блокировку, чтобы надёжно открыть файл и добавлять строки без потерь. Он сохраняет пользовательские метрики, включая коэффициент Сортино, среднюю продолжительность сделки и показатели качества сигналов — запаздывание и частота ложных разворотов (whipsaws) — в сводном CSV-файле для последующей аналитической обработки.
Торговые инструменты MQL5 (Часть 27): Отрисовка параметрической кривой-бабочки на холсте Canvas
В этой статье мы исследуем кривую-бабочку — математическую кривую, задаваемую параметрическим уравнением, и визуализируем ее на canvas в MQL5. Мы создаём интерактивное окно визуализации с перетаскиваемым окном canvas с изменяемым размером, рендерингом кривых с использованием технологии суперсэмплирования, градиентными фонами и легендой, сегментированной по цветам. В итоге у нас есть полнофункциональный визуальный инструмент, который отрисовывает кривую-бабочку непосредственно на графике MetaTrader 5.
Нейросети в трейдинге: От единственного прогноза к пространству рыночных сценариев (сценарное кросс-внимание)
Статья вводит промежуточный слой между Forecast и торговой политикой. CNeuronScenarioCrossAttention по отдельности анализирует сценарии, не смешивая их траектории, включает оценку неопределённости и применяет априорные вероятности только после содержательной интерпретации. Для Актёра используется исторический контекст, Критик работает без памяти. На выходе — компактные контексты для принятия решения.
Преодоление проблем доступности в торговых инструментах на MQL5 (Часть IV): Удаленная голосовая торговля
Узнайте о практическом способе выполнения сделок в MetaTrader 5 из голосовых сообщений Telegram с помощью промежуточного ПО на Python и советника MQL5, выступающего в качестве HTTP-клиента. В статье рассматриваются архитектура, опрос WebRequest, очереди в памяти, парсинг JSON с удалением нулевых символов-терминаторов и ограниченная грамматика команд с размером лота по умолчанию 0,001. Вы настроите среду и проверите задержку передачи данных, подходящую для мобильных интернет-соединений.
Торговые инструменты MQL5 (Часть 28): Полигональная заливка кривой-бабочки в MQL5
Мы расширяем возможности холста (canvas) для отображения кривой-бабочки в MetaTrader 5, добавляя многослойную заливку крыльев, жилки крыльев, точки текстуры чешуек и изображение всего тела (брюшко, торакс, голова, глаза, усики). В этой статье реализованы полигональные заливки с вертикальными и радиальными градиентами, а также залитые круги и эллипсы, все с использованием сглаживания методом суперсэмплинга. Вы также получите многоразовые вспомогательные функции MQL5 и порядок рендеринга, который преобразует простую кривую в настраиваемую, детализированную иллюстрацию на графике.
Автоматизация торговых стратегий на MQL5 (Часть 39): Стратегия статистического возврата к среднему с доверительными интервалами и информационной панелью
В этой статье мы разработаем советник на MQL5 для торговли по стратегии статистического возврата к среднему. Советник рассчитывает среднее, дисперсию, асимметрию, эксцесс и статистику Харке-Бера за заданный период, выявляет ненормальные распределения и формирует сигналы на покупку и продажу по доверительным интервалам с адаптивными порогами.
Алгоритм оптимизации койотов — Coyote Optimization Algorithm (COA)
Представляем MQL5-реализацию Coyote Optimization Algorithm: стаи с локальными альфами, медианная тенденция и встроенный кроссовер обеспечивают параллельное исследование областей пространства и контроль преждевременной сходимости. Алгоритм встроен в C_AO и проверен на стандартном стенде и композитном античит-тесте. В статье — код, псевдокод и разбор операторов, позволяющие применить COA для оптимизации параметров торговой системы.
От начального до среднего уровня: FileSave и FileLoad
В сегодняшней статье рассмотрим некоторые способы работы с библиотечными функциями FileSave и FileLoad. Хотя многие считают их малоперспективными из-за некоторых ограничений или трудностей, которые они вызывают в определенных сценариях, правильное понимание того, как работают эти две функции, может сэкономить нам много работы в определенные моменты. Кроме того, они являются отличным способом работы с лог-файлами.
Изучение стандартной библиотеки MQL5 (Часть 7): Создание интерактивных меток позиций с помощью класса CCanvas
В этой статье мы рассмотрим, как создать инструмент визуализации информации о позициях, используя класс CCanvas из стандартной библиотеки MQL5. Этот проект укрепит ваши навыки работы с библиотечными модулями и дает трейдерам практический инструмент для визуализации открытых позиций и взаимодействия с ними непосредственно на графике в реальном времени. Присоединяйтесь к обсуждению и узнайте больше.
CRUD-операции в Firebase с использованием MQL
В этой статье представлено пошаговое руководство по освоению CRUD-операций (Create, Read, Update, Delete — создание, чтение, обновление и удаление) в Firebase с акцентом на Realtime Database и Firestore. Вы узнаете, как использовать методы Firebase SDK для эффективного управления данными в веб- и мобильных приложениях: от добавления новых записей до запросов, изменения и удаления элементов. Также рассмотрены практические примеры кода и лучшие подходы к структурированию и обработке данных в реальном времени, что помогает разработчикам создавать динамические и масштабируемые приложения на гибкой NoSQL-архитектуре Firebase.
Автоматизация классических рыночных методов в MQL5 (Часть 3): Стадийный анализ Стэна Вайнштейна
В статье представлен полноценный торговый советник, построенный на методе стадийного анализа Стэна Вайнштейна. Советник классифицирует рынок по одной из четырёх стадий, анализируя наклон и положение 30-недельной скользящей средней, а также характер движения цены и динамику объёма. Затем он открывает длинные позиции только при прорывах в Стадию 2, а короткие — при пробоях вниз в Стадию 4. В статье объясняется каждая стадия, способы её программного определения и то, почему преимущество метода создаёт именно дисциплина — торговля только на подходящей стадии.
Автоматизация торговых стратегий на MQL5 (Часть 40): Торговля по уровням коррекции Фибоначчи с пользовательскими уровнями
В статье разрабатывается советник MQL5 для торговли по уровням коррекции Фибоначчи. Пользовательские уровни, например 50% и 61,8%, рассчитываются по диапазону дневной свечи или массиву данных за выбранный период. Направление определяется по соотношению цен закрытия и открытия; позиции открываются при пересечении уровней с ограничением числа сделок, необязательным закрытием при новом расчёте, трейлинг-стопом в пунктах и буферами SL/TP в процентах от диапазона.
Разработка инструментария для анализа Price Action (Часть 68): Панель RSI с привязкой к цене на языке MQL5
Мы представляем встроенную в график панель RSI, которая устраняет необходимость в отдельном окне, привязывая данные о моментуме непосредственно к текущей цене. В статье рассматриваются концепция решения и код на MQL5: получение значений RSI в реальном времени, классификация сигналов по наклону и адаптивное позиционирование. Трейдеры получают значение RSI, состояние и силу сигнала прямо в точке принятия решения, что повышает ясность анализа на разных таймфреймах.
Управление позициями: Пирамидальное наращивание прибыльных позиций при снижающемся риске
Представляем CPyramidBridge, тонкий слой на MQL5, который сопоставляет результаты определения размера ставки с CPyramidEngine. Этот мост применяет вероятностный подход к расчету начального объема позиции, обеспечивает входной контроль с учетом доступных лимитов, активирует добавления к позиции на основе динамической дивергенции, адаптирует трейлинг-стоп к оценкам резерва и синхронизирует сигналы на закрытии пирамиды, что позволяет советнику преобразовывать уверенность модели и текущую параллельную активность сигналов в структурированную пирамиду с уменьшающимся риском.
Преодоление проблем доступности в торговых инструментах на MQL5 (Часть III): Двунаправленное голосовое взаимодействие между трейдером и советником
Создадим локальный двунаправленный голосовой интерфейс для MetaTrader 5 с помощью WebRequest в MQL5 и двух сервисов Python. В статье реализовано автономное распознавание речи с помощью Vosk, обнаружение фразы активации, HTTP‑endpoint для получения команд и сервер преобразования текста в речь на локальном хосте. Вы подключите советника, который будет получать команды, открывать сделки и возвращать голосовые подтверждения для возможности работать без помощи рук.
Модульная архитектура индикаторов в MQL5 (Часть 1): Хватит копировать и вставлять — начните писать масштабируемый, переиспользуемый код
В статье разработан объектно-ориентированный каркас для индикаторов MQL5 путем преобразования примитивного примера в пригодные для постоянного использования модули. В ней формализуется частичный пересчет буфера в OnCalculate, логика переносится в классы, вынесенные в заголовочные файлы (CAppliedPrice, CSma), а также вводятся CSubIndiBase, CIndicatorBase и реестр для централизации требований. В результате получаются переносимые компоненты, изолированные входные параметры и аккуратно организованные буферы при минимуме шаблонного кода, что ускоряет сборку новых индикаторов и упрощает их обслуживание.
Возможности Мастера MQL5, которые вам нужно знать (Часть 77): Использование индикаторов Gator и A/D (Accumulation/Distribution)
Осциллятор Gator Билла Вильямса и осциллятор накопления/распределения образуют еще одну пару индикаторов, которую можно совместно использовать в советнике на MQL5. Мы используем осциллятор Gator для подтверждения наличия тренда, а A/D – для его дополнительного подтверждения по объему. Как и прежде, для изучения этой пары индикаторов мы используем Мастер MQL5, чтобы создать и протестировать соответствующий советник.