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

icon

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

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

Новая статья
последние | лучшие
preview
Советник для размещения ордеров на основе риска с графическим интерфейсом на графике (Часть 2): Добавление интерактивности и логики

Советник для размещения ордеров на основе риска с графическим интерфейсом на графике (Часть 2): Добавление интерактивности и логики

Узнайте, как создать интерактивный советник MQL5 с панелью управления на графике. Вы научитесь рассчитывать размер лота на основе риска и отправлять ордера прямо с графика.
preview
Осваиваем графики Kagi в MQL5 (Часть I): Создание движка графика Kagi

Осваиваем графики Kagi в MQL5 (Часть I): Создание движка графика Kagi

Узнайте, как создать полноценный движок графиков Kagi в MQL5: строить ценовые развороты, формировать динамические отрезки линий и обновлять структуру Kagi в реальном времени. В первой части показано, как отображать графики Kagi непосредственно в MetaTrader 5, давая трейдерам ясное представление о смене тренда и силе рынка и одновременно закладывая основу для автоматизированной торговой логики на базе Kagi во второй части.
preview
Знакомство с языком MQL5 (Часть 33): Освоение API и функции WebRequest в языке MQL5 (VII)

Знакомство с языком MQL5 (Часть 33): Освоение API и функции WebRequest в языке MQL5 (VII)

В этой статье показано, как интегрировать API Google Generative AI в MetaTrader 5 с помощью языка MQL5. Вы научитесь структурировать API-запросы, обрабатывать ответы сервера, извлекать контент, сгенерированный ИИ, управлять лимитами API и сохранять результаты в текстовый файл для удобного доступа.
preview
Нейросети в трейдинге: От единственного прогноза к пространству рыночных сценариев (Окончание)

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

Материал завершает адаптацию фреймворка ORION к трейдингу: сценарии рынка формируются Market Encoder, а Актёр на их основе управляет объёмом, TP и SL с учётом состояния счёта; Критики дают оценку действий. Описаны процедуры офлайн‑ и онлайн‑обучения и контроль утечки будущего. Проверка проводится в тестере стратегий на отложенном периоде.
preview
Нейросети в трейдинге: Двухуровневая адаптация торговой политики (D2Skill)

Нейросети в трейдинге: Двухуровневая адаптация торговой политики (D2Skill)

Начинаем адаптацию фреймворка D2Skill к нейронной торговой политике: навыки формируются из повторяющихся псевдоостатков и применяются как аддитивные коррекции в латентном пространстве. Реализуется элемент CD2SkillItem на MQL5/OpenCL с GPU‑конвейером обновления в двух представлениях (полный остаток и направление + масштаб). Контролируемый эксперимент оценивает косинусное сходство, ошибку реконструкции и вклад коррекции в функцию потерь. Читатель получает готовый блок и методику проверки для последующего банка навыков.
preview
Разработка инструментария для анализа Price Action (Часть 45): Создание динамической панели для анализа уровней в MQL5

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

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

От начального до среднего уровня: Struct (VII)

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

Упрощение работы с базами данных в MQL5 (Часть 2): Создание сущностей с помощью метапрограммирования

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

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

Продолжается адаптация MomAD к алгоритмическому трейдингу: собран класс CNeuronMomAD, объединяющий UncAD с модулями согласования и уточнения сценариев (TTM, MPI). Разобраны этапы последовательного обучения модели и тестирование на EURUSD H1 за январь–апрель 2026 года. Статья фокусируется на интеграции в общий вычислительный контур и практических выводах по управлению риском при положительном результате.
preview
Разработка инструментария для анализа Price Action (Часть 69): Обнаружение паттерна "флаг" в MQL5

Разработка инструментария для анализа Price Action (Часть 69): Обнаружение паттерна "флаг" в MQL5

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

Нейросети в трейдинге: от рыночного шума к устойчивому торговому плану (MomAD)

В статье рассматривается адаптация идей MomAD к задачам нейросетевого трейдинга. Основное внимание уделено проблеме нестабильности торговых решений, когда модель слишком часто меняет сценарий и разрушает прибыльный план. Описаны теоретические основы Momentum-Aware Planning, расстояния Хаусдорфа и их перенос в латентное пространство рыночных состояний. В практической части реализован базовый OpenCL-механизм оценки расхождения между сценариями.
preview
Искусство работы с логами (Часть 10): Подавление повторяющихся логов (suppression)

Искусство работы с логами (Часть 10): Подавление повторяющихся логов (suppression)

Мы создали систему подавления логов в библиотеке Logify. В статье подробно рассматривается, как класс CLogifySuppression уменьшает «шум» в консоли, применяя настраиваемые правила для исключения повторяющихся или незначимых сообщений. Также мы освещаем структуру внешних конфигурационных файлов, механизмы валидации и всестороннее тестирование, обеспечивающие надежность и гибкость сбора логов при разработке ботов и индикаторов.
preview
Статистический арбитраж на основе коинтегрированных акций (Часть 5): Отбор активов

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

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

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

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

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

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

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

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

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

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

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

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

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

Во второй части серии мы рассматриваем свойства двумерных архимедовых копул и их реализацию в MQL5. Мы также изучаем применение копул для разработки простой стратегии парного трейдинга.
preview
Алгоритм оптимизации на основе коронавируса — Corona Virus Optimization (CVO)

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

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

От начального до среднего уровня: События в объектах (I)

В этой статье мы рассмотрим три из шести событий, которые MetaTrader 5 может генерировать при возникновении каких-либо изменений с объектом на графике. Данные события очень полезны с точки зрения взаимодействия с пользователями. Это происходит так, потому что без понимания этих событий нам придётся приложить гораздо больше усилий для поддержания определённой конфигурации в графике при попытке управлять объектами для конкретных целей.
preview
Моделирование рынка: Первые шаги на SQL в MQL5 (IV)

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

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

Искусство работы с логами (Часть 9): Применяем паттерн Builder-класса и настраиваем конфигурации по умолчанию

В этой статье демонстрируется, как кардинально упростить использование библиотеки Logify с помощью паттерна "Builder" и автоматических конфигураций по умолчанию. Рассматриваются структура специализированных Builder-классов, приемы работы с ними при помощи интеллектуальной подсказки (автодополнения), а также способы обеспечения функционального логирования даже без ручной настройки. Кроме того, статья описывает доработки для сборки MetaTrader 5 5100.
preview
Нативная реализация RSA-шифрования на MQL5

Нативная реализация RSA-шифрования на MQL5

В MQL5 отсутствует встроенная асимметричная криптография, из-за чего безопасный обмен данными по незащищённым каналам вроде HTTP становится затруднительным. В этой статье представлена чистая реализация RSA на MQL5 с использованием схемы дополнения PKCS#1 v1.5, позволяющая безопасно передавать сеансовые ключи для AES и небольшие блоки данных без внешних библиотек. Такой подход обеспечивает уровень безопасности, похожий на HTTPS, поверх обычного HTTP и, более того, закрывает важный пробел в защищённой коммуникации для приложений MQL5.
preview
Создание самооптимизирующихся советников на MQL5 (Часть 14): Преобразования данных как параметры настройки регулятора с обратной связью

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

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

Разработка инструментария для анализа Price Action (Часть 57): Создание модуля классификации состояния рынка на MQL5

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

Встраивание торговой дисциплины в код (Часть 4): Принудительный контроль торговых сессий и блокировка торговли на новостях в MQL5

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

Пользовательские инструменты отладки и профилирования для разработки на MQL5 (Часть I): Расширенное логирование

Узнайте, как реализовать мощный пользовательский фреймворк для логирования в MQL5, который выходит за рамки простых операторов Print() за счет поддержки уровней серьезности, множества обработчиков вывода и автоматической ротации файлов — и все это с возможностью настройки «на лету». Интегрируйте синглтон CLogger с ConsoleLogHandler и FileLogHandler для захвата контекстных журналов с метками времени как на вкладке «Эксперты», так и в постоянных файлах. Оптимизируйте отладку и трассировку производительности в ваших советниках с помощью понятных, настраиваемых форматов журналов и централизованного управления.
preview
Встраивание торговой дисциплины в код (Часть 3): Принудительное ограничение торговли на уровне символов с помощью белого списка в MQL5

Встраивание торговой дисциплины в код (Часть 3): Принудительное ограничение торговли на уровне символов с помощью белого списка в MQL5

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

Разработка самовосстанавливающегося советника в MQL5 (Часть 1): Архитектура постоянного хранения состояния сделки

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

Переосмысливаем классические стратегии (Часть 20): Современная интерпретация стохастического осциллятора

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

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

В этой статье представлена адаптивная система обнаружения параллельных каналов и пробоев на языке MQL5. В ней показано, как определяются точки свинга, как строятся и динамически пересчитываются каналы, а также как пробои подтверждаются и визуализируются с помощью сигналов, сохраняющихся на графике. Этот подход объединяет геометрию трендовых линий, фильтрацию на основе ATR и проверку ретеста, обеспечивая надежный анализ Price Action в реальном времени для профессиональной работы с графиками и принятия торговых решений.
preview
Рыночные секреты Ларри Уильямса (Часть 15): Торговля разворотами по паттерну Hidden Smash Day с учетом рыночного контекста

Рыночные секреты Ларри Уильямса (Часть 15): Торговля разворотами по паттерну Hidden Smash Day с учетом рыночного контекста

Создадим советник MQL5, который автоматизирует развороты Hidden Smash Day Ларри Уильямса. Он считывает подтвержденные сигналы из пользовательского индикатора, применяет фильтры рыночного контекста (включая проверку направления по Supertrend и необязательные правила торговых дней) и управляет риском с помощью моделей стоп-лосса на основе структуры бара Smash или ATR, а также фиксированного или риск-ориентированного размера позиции. В результате получается воспроизводимая система, готовая к тестированию и расширению.
preview
Создание пользовательских индикаторов в MQL5 (Часть 9): Футпринт-график с отслеживанием объёма по ценовым уровням

Создание пользовательских индикаторов в MQL5 (Часть 9): Футпринт-график с отслеживанием объёма по ценовым уровням

В этой статье мы создадим в MQL5 индикатор футпринта, который агрегирует потиковый объём по дискретизированным ценовым уровням и поддерживает режимы отображения Bid vs Ask (bid против ask) и Delta (дельта). Наложение на базе Canvas отрисовывает текст объёма с цветовым масштабированием, выравнивает его по свечам и обновляется на каждом тике. Вы узнаете, как сортировать ценовые уровни, нормализовать максимальные значения для цветового отображения и выполнять быструю перерисовку при масштабировании, прокрутке и изменении размера графика, чтобы анализировать распределение объёма и преобладание агрессивных покупателей или продавцов внутри каждого бара.
preview
Моделирование рынка: Position View (VIII)

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

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

Знакомство с языком MQL5 (Часть 35): Освоение API и функции WebRequest в языке MQL5 (IX)

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

Встраивание торговой дисциплины в код (Часть 1): Как создать системную дисциплину в реальной торговле с помощью MQL5

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

Торговые инструменты на MQL5 (Часть 32): Перекрестие, лупа и режим измерения

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

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

В этой статье мы создадим трендовый индикатор на основе пивотов в MQL5. Он рассчитывает быстрые и медленные пивотные линии за заданные пользователем периоды, определяет направление тренда по положению цены относительно этих линий и отмечает начало тренда стрелками, при необходимости продлевая линии за пределы текущего бара. Индикатор поддерживает динамическое отображение отдельных восходящих и нисходящих линий настраиваемых цветов, пунктирных быстрых линий, которые меняют цвет при смене тренда, а также дополнительную градиентную заливку между линиями с использованием объекта класса CCanvas для более наглядного выделения трендовой области.
preview
Низкочастотные количественные стратегии в MetaTrader 5: (Часть 1) Настройка OLAP-ориентированного хранилища данных

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

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