Статьи об анализе данных и статистике в MQL5

icon

Статьи на темы математических моделей и законов вероятности заинтересуют многих трейдеров. Ведь математика положена в основу технических индикаторов, а знание статистики необходимо для анализа результатов торговли и разработки стратегий.

Читайте о нечеткой логике, цифровых фильтрах, рыночном профиле, картах Кохонена, нейронном газе и многих других инструментах, которые могут использованы для торговли.

Новая статья
последние | лучшие
preview
Создание пользовательских индикаторов в MQL5 (Часть 11): Улучшение футпринт-графика с помощью слоёв рыночной структуры и ордер-флоу

Создание пользовательских индикаторов в MQL5 (Часть 11): Улучшение футпринт-графика с помощью слоёв рыночной структуры и ордер-флоу

В статье MQL5-индикатор футпринт-графика расширяется слоями рыночной структуры и ордер-флоу: барами объёмного профиля, точкой контроля (Point of Control, POC), подсветкой зоны стоимости (value area), выявлением последовательных дисбалансов, зонами поглощения, а также маркерами single print (одиночных принтов) и unfinished business (незавершённой аукционной отработки экстремума). Мы расширим структуры данных бара, добавим функции для POC/зоны стоимости, дисбаланса и поглощения, а также построим конвейер отрисовки с фиксированным порядком слоёв. Вы получите готовые входные параметры, метаданные и утилиты отрисовки для интеграции и настройки этих слоёв в индикаторе.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 10): Факторизация матриц

Создание самооптимизирующихся советников на MQL5 (Часть 10): Факторизация матриц

Факторизация — это математический процесс, используемый для получения представления о свойствах данных. Когда мы применяем факторизацию к большим наборам рыночных данных — организованных в строки и столбцы — мы можем выявлять закономерности и характеристики рынка. Факторизация является мощным инструментом, и в этой статье показано, как использовать её в терминале MetaTrader 5 через API MQL5, чтобы получить более глубокое понимание рыночных данных.
preview
Знакомство с языком MQL5 (Часть 41): Руководство для начинающих по работе с файлами в MQL5 (III)

Знакомство с языком MQL5 (Часть 41): Руководство для начинающих по работе с файлами в MQL5 (III)

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

Двумерные копулы в MQL5 (Часть 1): Реализация гауссовой копулы и t-копулы Стьюдента для моделирования зависимостей

Это первая часть серии статей, посвящённых реализации двумерных копул в MQL5. В статье представлен код, реализующий гауссову копулу и t-копулу Стьюдента. Также рассматриваются основы статистических копул и связанные с ними темы. Код основан на Python-пакете ArbitrageLab от Hudson and Thames.
preview
TradeMux как Quant Backbone: Подключение институциональных Python-пайплайнов к разным терминалам и брокерам

TradeMux как Quant Backbone: Подключение институциональных Python-пайплайнов к разным терминалам и брокерам

Статья описывает TradeMux как мост между Python-пайплайном и терминалом MetaTrader 5 для чистой передачи торговых решений без дублирования логики. Разобрана production-архитектура из четырёх слоёв и полный Python execution service: подключение, чтение счёта и позиций, генерация сигналов (включая CatBoost), предторговый риск-контроль, kill_switch и supervisor. Практическая польза — кросс-брокерная нормализация (RoboForex, IC Markets, Alpari, OANDA) и масштабирование от одного счёта к мультисчётному broadcast без изменения торговой логики.
preview
Моделирование рынка (Часть 22): Первые шаги на SQL (V)

Моделирование рынка (Часть 22): Первые шаги на SQL (V)

Прежде, чем вы сдадитесь и решите отказаться от изучения SQL, позвольте мне напомнить вам, уважаемые читатели, что здесь мы всё ещё используем только самые базовые элементы. Мы ещё не рассмотрели некоторые возможности SQL. Как только вы их усвоите, вы увидите, что SQL гораздо практичнее, чем кажется. Хотя, скорее всего, мы в конечном итоге изменим направление того, что мы создаем, потому, что процесс создания является динамичным. Мы покажем немного больше о создании разных вещей в SQL, ведь это по настоящему важно и нужно вам. Просто думать, что вы более способны, чем целое сообщество программистов и разработчиков, приведет только к потере времени и возможностей. Не переживайте, потому что дальше будет ещё интереснее.
preview
Машинное обучение и Data Science (Часть 39): Тестируем связку новостей с ИИ

Машинное обучение и Data Science (Часть 39): Тестируем связку новостей с ИИ

Новости оказывают существенное влияние на финансовые рынки, особенно если говорить о важнейших публикациях, например по занятости в несельскохозяйственном секторе (Non-Farm Payrolls, NFPs). Мы не раз видели, как один единственный заголовок может спровоцировать резкие колебания цен. В этой статье мы рассмотрим в деталях связку новостей и возможностей искусственного интеллекта.
preview
Моделирование рынка (Часть 17): Сокеты (XI)

Моделирование рынка (Часть 17): Сокеты (XI)

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

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

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

Построение моделей волатильности в MQL5 (Часть I): Первичная реализация

В этой статье мы представляем библиотеку MQL5 для моделирования волатильности, разработанную так, чтобы функционировать аналогично пакету arch в Python. В настоящее время библиотека поддерживает спецификацию распространённых моделей условного среднего: HAR, AR, Constant Mean и Zero Mean, а также моделей условной волатильности: Constant Variance, ARCH и GARCH.
preview
Тестер стратегий для Python и MetaTrader 5 (Часть 04): Основы работы тестера

Тестер стратегий для Python и MetaTrader 5 (Часть 04): Основы работы тестера

В этой увлекательной статье мы создадим своего первого торгового робота в симуляторе и запустим тестирование стратегии, напоминающее работу тестера стратегий MetaTrader 5, а затем сравним результат, полученный в пользовательской симуляции, с результатом в нашем любимом терминале.
preview
Моделирование рынка: Первые шаги на SQL в MQL5 (II)

Моделирование рынка: Первые шаги на SQL в MQL5 (II)

Хотя многие считают, что мы можем без проблем встраивать SQL-код в другой код, обычно это не так. Причина заключается в том, что SQL-код включается в исполняемый файл в виде строки. И тот факт, что SQL-код внедряется в виде строки, хотя и не вызывает проблем в небольших фрагментах, в итоге это может создать нам немало головной боли.
preview
Создание пользовательских индикаторов в MQL5 (Часть 7): Гибридные рыночные профили Time Price Opportunity (TPO) для анализа сессий

Создание пользовательских индикаторов в MQL5 (Часть 7): Гибридные рыночные профили Time Price Opportunity (TPO) для анализа сессий

В этой статье мы разрабатываем пользовательский индикатор на MQL5 для гибридных TPO-профилей с поддержкой нескольких сессионных периодов: внутридневных, дневных, недельных, месячных и фиксированных периодов с учётом часового пояса. Индикатор дискретизирует цены по сетке, отслеживает данные сессии, включая максимумы, минимумы, цены открытия и закрытия, а также рассчитывает ключевые элементы, такие как точка контроля (POC) и зона стоимости (value area) на основе количества TPO. Он визуально отображает профили на графике с настраиваемыми цветами для букв TPO, одиночных отпечатков (single prints), зон стоимости, POC и маркеров закрытия, позволяя выполнять подробный анализ сессий.
preview
VQC-фильтр с живым обучением прямо в MQL5 поверх графового fair-value скальпера

VQC-фильтр с живым обучением прямо в MQL5 поверх графового fair-value скальпера

В статье реализован двухслойный подход к входу в сделку: графовый fair-value скальпер по 28 валютным парам и вероятностный VQC‑фильтр — классически симулированная схема вращений с онлайн‑обучением в MQL5 через parameter‑shift и Adam. Разбираются кодирование признаков, аналитический градиент, согласование направлений, калибровка порога уверенности и защита от подглядывания в будущее. Читатель получает рабочую архитектуру фильтра и практические приёмы её интеграции в советник.
preview
Создание пользовательских индикаторов в MQL5 (Часть 5): Доработка WaveTrend Crossover с помощью Canvas — градиентный туман, сигнальные пузырьки и управление рисками

Создание пользовательских индикаторов в MQL5 (Часть 5): Доработка WaveTrend Crossover с помощью Canvas — градиентный туман, сигнальные пузырьки и управление рисками

В этой статье мы улучшим индикатор Smart WaveTrend Crossover в MQL5, добавив отрисовку с использованием Canvas для градиентных туманных наложений, сигнальные блоки для обнаружения пробоев, а также метки сигналов в виде пузырьков с подписями или простых треугольников. Мы также реализуем функции управления рисками с динамическими уровнями Take Profit и Stop Loss, рассчитываемыми через множители свечей или проценты и отображаемыми с помощью линий и таблицы, а также добавим параметры фильтрации по тренду и расширения сигнальных блоков.
preview
Алгоритм оптимизации кита-белухи — Beluga Whale Optimization (BWO)

Алгоритм оптимизации кита-белухи — Beluga Whale Optimization (BWO)

Кандидат в нашу рейтинговую таблицу — Beluga Whale Optimization, метаэвристика, построенная на трёх моделях поведения кита-белухи: парном плавании, охоте с полётом Леви и обновлении популяции через падение кита. По ходу реализации обнаружилось, что алгоритм не столько оптимизирует, сколько считывает геометрию тестового стенда, разбираем механизм этого и собираем честную перспективную модификацию BWOm.
preview
Моделирование рынка: Position View (VI)

Моделирование рынка: Position View (VI)

В данной статье мы внесем ряд улучшений, чтобы индикатор позиции точно отражал реальное состояние дел на торговом сервере с точки зрения открытых позиций и их текущего состояния. Я должен напомнить, что эти приложения, которые будут здесь показаны, ни в коем случае не предназначены для замены каких-либо элементов, доступных в MetaTrader 5. Их также не следует использовать без должной осмотрительности и взвешенного подхода, поскольку их цель — представить обучающий код, то есть предназначенный исключительно для изучения принципов работы системы. Причина, по которой я называю этот код обучающим, заключается в том, что использование сообщений в некоторых случаях не является лучшим способом реализации определенных функций.
preview
Разработка инструментария для анализа Price Action (Часть 41): Создание советника для статистического анализа ценовых уровней на MQL5

Разработка инструментария для анализа Price Action (Часть 41): Создание советника для статистического анализа ценовых уровней на MQL5

Статистика всегда лежала в основе финансового анализа. По определению статистика – это дисциплина, которая собирает, анализирует, интерпретирует и представляет данные в осмысленном виде. Теперь представьте, что тот же подход применяется к свечам – необработанная ценовая динамика преобразуется в измеримые показатели. Насколько полезно было бы знать для заданного периода центральную тенденцию, разброс и распределение поведения рынка? В этой статье мы покажем именно такой подход и разберем, как статистические методы превращают свечные данные в четкие, практические сигналы.
preview
Знакомство с языком MQL5 (Часть 39): Руководство для начинающих по работе с файлами в MQL5 (I)

Знакомство с языком MQL5 (Часть 39): Руководство для начинающих по работе с файлами в MQL5 (I)

В этой статье работа с файлами в MQL5 рассматривается на практическом проектном примере. Вы будете использовать FileSelectDialog, чтобы выбрать или создать CSV-файл, открыть его с помощью FileOpen и записать структурированные заголовки с данными счета, такие как имя счета, баланс, логин, диапазон дат и время последнего обновления. В результате вы получите понятную основу для пригодного к повторному использованию торгового журнала и безопасной работы с файлами в MetaTrader 5.
preview
Статистический арбитраж на основе коинтегрированных акций (Часть 6): Система оценки

Статистический арбитраж на основе коинтегрированных акций (Часть 6): Система оценки

В данной статье мы предлагаем систему оценки стратегий возврата к среднему значению, основанную на статистическом арбитраже коинтегрированных акций. В статье предлагаются критерии, которые варьируются от ликвидности и транзакционных издержек до количества рангов коинтеграции и времени возврата к среднему значению, при этом учитываются стратегические критерии — частота данных (временной интервал) и период обратного обзора для тестов на коинтеграцию, которые оцениваются до того, как будет сформирован итоговый оценочный балл (rank_score). Предоставляются файлы, необходимые для воспроизведения бэктеста, а также приводятся комментарии к его результатам.
preview
Статистический арбитраж на коинтегрированных акциях (Часть 3): Настройка базы данных

Статистический арбитраж на коинтегрированных акциях (Часть 3): Настройка базы данных

В данной статье представлен пример реализации сервиса на MQL5 для обновления вновь созданной базы данных, используемой в качестве источника для анализа данных и для торговли корзиной коинтегрированных акций. Подробно объясняется логика проектирования базы данных, а также приводится описание структуры данных (data dictionary) для справки. Предоставлены скрипты на MQL5 и Python для создания базы данных, инициализации её схемы и загрузки рыночных данных.
preview
Моделирование рынка: Position View (III)

Моделирование рынка: Position View (III)

В предыдущих статьях мы упоминали, что иногда нам необходимо задать значение для свойства ZOrder. Но почему? Причина в том, что многие коды, добавляющие объекты на график, просто не используют или, точнее, не определяют значение для этого свойства. Дело в том, что я здесь не для того, чтобы говорить, что должен или не должен делать каждый программист, или как он должен или не должен писать свой код. Я здесь для того, чтобы показать вам, уважаемый читатель, и всем, кто действительно хочет понять внутреннее устройство процессов, что именно происходит за кулисами.
preview
Разработка инструментария для анализа Price Action (Часть 42): Интерактивное тестирование на графике с кнопочной логикой и статистическими уровнями

Разработка инструментария для анализа Price Action (Часть 42): Интерактивное тестирование на графике с кнопочной логикой и статистическими уровнями

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

Моделирование рынка: Первые шаги на SQL в MQL5 (IV)

Многие люди склонны недооценивать SQL или даже вообще не использовать его, потому что не до конца понимают, как он на самом деле работает. При выполнении запросов к базе данных SQL мы не всегда ищем универсальный ответ, а в некоторых случаях нам нужен очень конкретный и практичный ответ. Если создать базу данных с надлежащей структурой и моделью данных, в неё можно будет интегрировать практически любые типы информации.
preview
Моделирование рынка: Position View (VIII)

Моделирование рынка: Position View (VIII)

В предыдущей статье мы рассмотрели, как можно реализовать индикатор позиции для закрытия открытой позиции непосредственно с графика, взаимодействуя с доступным на нем объектом. После завершения и проверки работы первого механизма мы приступили к внесению изменений, чтобы обеспечить возможность удаления линий тейк-профита и стоп-лосса для открытой позиции. Однако, поскольку необходимые изменения требовали подробных объяснений, в той же статье я показал только те изменения, которые необходимо было внести в советник, но всё ещё требовалось показать изменения, которые необходимо было внести в индикатор позиции.
preview
Создание пользовательских индикаторов в MQL5 (Часть 2): Разработка индикатора RSI в виде шкалы со стрелкой на Canvas

Создание пользовательских индикаторов в MQL5 (Часть 2): Разработка индикатора RSI в виде шкалы со стрелкой на Canvas

В этой статье мы разработаем индикатор RSI в формате круговой шкалы на MQL5, использующий Canvas и механику стрелочного указателя для отображения значений индекса относительной силы с помощью динамической стрелки, цветовых зон перекупленности и перепроданности и настраиваемых текстовых подписей. Мы используем класс Canvas для отрисовки таких элементов, как дуги, деления и секторы, обеспечивая плавное и эффективное обновление при поступлении новых данных RSI.
preview
Разработка инструментария для анализа Price Action (Часть 50): Создание модуля согласования сигналов RVGI, CCI и SMA на MQL5

Разработка инструментария для анализа Price Action (Часть 50): Создание модуля согласования сигналов RVGI, CCI и SMA на MQL5

Многим трейдерам сложно распознавать настоящие развороты. В этой статье представлен советник, который объединяет RVGI, CCI (±100) и трендовый фильтр SMA, формируя единый четкий сигнал разворота. Советник включает панель на графике, настраиваемые алерты и полный исходный файл, готовый к немедленной загрузке и тестированию.
preview
Разработка инструментария для анализа Price Action (Часть 45): Создание динамической панели для анализа уровней в MQL5

Разработка инструментария для анализа Price Action (Часть 45): Создание динамической панели для анализа уровней в MQL5

В этой статье мы рассмотрим мощный инструмент на MQL5, который позволяет тестировать любой ценовой уровень одним кликом. Просто введите нужный уровень и нажмите Analyze – советник мгновенно сканирует исторические данные, выделяет на графике все касания и пробои и выводит статистику в аккуратной информационной панели. Вы увидите, как часто цена отрабатывала этот уровень или пробивала его, а также выступал ли уровень чаще как поддержка или как сопротивление. Читайте дальше, чтобы подробнее ознакомиться с процедурой.
preview
Статистический арбитраж на основе коинтегрированных акций (заключительная часть): Анализ данных с помощью специализированной БД

Статистический арбитраж на основе коинтегрированных акций (заключительная часть): Анализ данных с помощью специализированной БД

В статье рассказывается, как объединить SQLite (OLTP) с DuckDB (OLAP) для обработки данных статистического арбитража. Колоночный движок DuckDB, оператор ASOF JOIN и встроенные функции для работы с массивами ускоряют выполнение основных задач, таких как сопоставление котировок со сделками и RWEC, при этом зафиксировано увеличение скорости от 2 до 23 раз по сравнению с SQLite при работе с большими массивами данных. Вы получаете более простые запросы и более быструю аналитику, при этом исполнение операций по-прежнему осуществляется в SQLite.
preview
Моделирование рынка: Position View (IV)

Моделирование рынка: Position View (IV)

Здесь мы начнем объединять различные компоненты или приложения, которые ранее были полностью изолированы друг от друга. Chart Trade, индикатор мыши и советник уже были связаны между собой, однако всё ещё отсутствовал способ прямой визуализации на графике открытых на торговом сервере позиций, которые зачастую обрабатывались через систему встречных ордеров. С этого момента это становится возможным, открывая путь для различных идей и будущих реализаций. Хотя мы только начинаем внедрять эти компоненты в работу, у нас уже появится направление для дальнейшего развития.
preview
Рыночные секреты Ларри Уильямса (Часть 7): Эмпирическое исследование концепции "торгового дня недели"

Рыночные секреты Ларри Уильямса (Часть 7): Эмпирическое исследование концепции "торгового дня недели"

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

Статистический арбитраж на основе коинтегрированных акций (Часть 5): Отбор активов

В данной статье предлагается процесс отбора активов для стратегии торговли на основе статистического арбитража с использованием коинтегрированных акций. Система начинается с обычной фильтрации по экономическим факторам, таким как сектор активов и отрасль, и заканчивается составлением перечня критериев для системы оценки. Для каждого статистического теста, использованного в скрининге, был разработан соответствующий класс на языке Python: Коэффициент корреляции Пирсона, коинтеграция Энгл-Грейнджера, коинтеграция Йохансена и стационарность по ADF/KPSS. Эти классы Python сопровождаются личным комментарием автора об использовании ИИ-помощников в разработке программного обеспечения.
preview
Алгоритм оптимизации на основе коронавируса — Corona Virus Optimization (CVO)

Алгоритм оптимизации на основе коронавируса — Corona Virus Optimization (CVO)

Описываем и реализуем CVO: заражение как генерация кандидатов, покоординатное нормальное возмущение, динамическая популяция. Алгоритм интегрирован в C_AO и проверен на стандартном бенчмарке. Разбор выявляет масштабную причину стагнации и даёт прикладное решение — переход к относительному шагу по ширине диапазона; код готов к использованию.
preview
Двумерные копулы в MQL5 (Часть 2): Реализация архимедовых копул в MQL5

Двумерные копулы в MQL5 (Часть 2): Реализация архимедовых копул в MQL5

Во второй части серии мы рассматриваем свойства двумерных архимедовых копул и их реализацию в MQL5. Мы также изучаем применение копул для разработки простой стратегии парного трейдинга.
preview
Моделирование рынка: Position View (V)

Моделирование рынка: Position View (V)

Несмотря на изложенное в предыдущей статье, это кажется чем-то простым. Там перед нами стоят различные проблемы и множество задач, которые нужно решить и выполнить. Вы, уважаемый читатель, можете представить, что всё легко и просто. По наивности вы просто принимаете то, что вам предлагают. И это ошибка, которой вам, уважаемый читатель, следует постараться избежать. Хуже простого принятия — непонимание и попытка использовать что-то без реального осознания того, что именно используется. Среди новичков часто встречается этап копирования и вставки кода. Если вы не хотите навсегда остаться на этом этапе, стоит научиться использовать определенные инструменты. Одним из наиболее часто используемых программистами инструментов является документация. Второй инструмент состоит из тестов и лог-файлов. Здесь мы увидим, как это сделать.
preview
Автоматизация торговых стратегий в MQL5 (Часть 43): Адаптивная стратегия на основе канала линейной регрессии

Автоматизация торговых стратегий в MQL5 (Часть 43): Адаптивная стратегия на основе канала линейной регрессии

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

Создание пользовательских индикаторов в MQL5 (Часть 1): Построение трендового индикатора на основе пивотов с градиентной заливкой на Canvas

В этой статье мы создадим трендовый индикатор на основе пивотов в MQL5. Он рассчитывает быстрые и медленные пивотные линии за заданные пользователем периоды, определяет направление тренда по положению цены относительно этих линий и отмечает начало тренда стрелками, при необходимости продлевая линии за пределы текущего бара. Индикатор поддерживает динамическое отображение отдельных восходящих и нисходящих линий настраиваемых цветов, пунктирных быстрых линий, которые меняют цвет при смене тренда, а также дополнительную градиентную заливку между линиями с использованием объекта класса CCanvas для более наглядного выделения трендовой области.
preview
Создание пользовательских индикаторов в MQL5 (Часть 6): Усовершенствование расчётов RSI — сглаживание, динамические цвета и поддержка нескольких таймфреймов

Создание пользовательских индикаторов в MQL5 (Часть 6): Усовершенствование расчётов RSI — сглаживание, динамические цвета и поддержка нескольких таймфреймов

В этой статье мы создадим универсальный индикатор RSI в MQL5 с поддержкой нескольких вариантов расчёта, источников данных и методов сглаживания для более качественного анализа. Мы добавим изменение оттенка для цветовой индикации, динамические границы зон перекупленности/перепроданности и уведомления о смене тренда. Индикатор включает мультитаймфреймовую поддержку с интерполяцией и предоставляет настраиваемый инструмент RSI для разных стратегий.
preview
Реализация модели гауссовской смеси в MQL5

Реализация модели гауссовской смеси в MQL5

В статье рассматриваются теоретические основы и практическая реализация модели смеси нормальных распределений (Gaussian Mixture Model) на языке MQL5. Представлен класс CGMM и примеры его использования, а также методология выбора оптимального количества компонентов модели с помощью информационных критериев AIC/BIC. Значительное внимание уделяется принципу работы EM-алгоритма — признанного стандарта при обучении вероятностных моделей со скрытыми(латентными) переменными. Реализована поддержка режима обучения MAP и инициализация параметров с помощью K-Means++. Готовый инструмент для кластеризации, оценки многомерной плотности и генерации данных теперь доступен и в MetaTrader 5.
preview
Низкочастотные количественные стратегии в MetaTrader 5: (Часть 1) Настройка OLAP-ориентированного хранилища данных

Низкочастотные количественные стратегии в MetaTrader 5: (Часть 1) Настройка OLAP-ориентированного хранилища данных

В статье описывается практический конвейер данных для количественного анализа на базе хранилища Parquet, секционирования по схеме Hive и DuckDB. Подробно рассматривается перенос выбранных таблиц SQLite в Parquet, структурирование рыночных данных по источнику, символу, таймфрейму и дате, а также запросы к ним с помощью оконных функций SQL. Пример Golden Cross иллюстрирует оценку будущей доходности по нескольким символам. Прилагаемые скрипты Python отвечают за загрузку данных, преобразование и выполнение.