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

icon

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

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

Новая статья
последние | лучшие
preview
Изучение Стандартной библиотеки MQL5 (Часть 4): Создание библиотеки пользовательских сигналов

Изучение Стандартной библиотеки MQL5 (Часть 4): Создание библиотеки пользовательских сигналов

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 80): Использование паттернов Ишимоку и ADX Уайлдера в обучении с подкреплением TD3

Эта статья продолжает тему части 74, где мы рассматривали сочетание Ишимоку и ADX в рамках обучения с учителем, перенося фокус на обучение с подкреплением. Индикаторы Ишимоку и ADX дополняют друг друга: первый помогает строить карту уровней поддержки и сопротивления, а второй – определять силу тренда. В этой статье мы рассмотрим, как можно использовать алгоритм Twin Delayed Deep Deterministic Policy Gradient (TD3) с этим набором индикаторов. Как и в предыдущих частях серии, реализация выполняется в пользовательском классе сигнала, предназначенном для интеграции с Мастером MQL5, что упрощает сборку советника.
preview
Рыночная микроструктура в MQL5 (Часть 1): Надежный базовый слой

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

В этой статье мы закладываем базовый слой для инструментария рыночной микроструктуры на MQL5, состоящего из двенадцати частей. В данной статье реализованы математические функции с защитными проверками (SafeDivide, SafeLog, SafeSqrt, SafeExp, SafeTanh), устойчивая к сбоям проверка данных (ValidateSymbolV2, SafeCopyClose), усеченные статистические оценки (робастные оценки среднего и дисперсии), расчет наклона линейной регрессии, общие структуры данных и БПФ. В результате компиляции вы получаете единый подключаемый файл, который защищает индикаторы и советники от скрытых численных сбоев и стандартизирует поток данных для следующих частей серии.
preview
Разработка системы оценки портфеля из нескольких советников с учетом корреляции в MQL5

Разработка системы оценки портфеля из нескольких советников с учетом корреляции в MQL5

Большинство алгоритмических трейдеров оптимизируют советники по отдельности, но никогда не оценивают, как они работают вместе на одном счете. Коррелированные стратегии усиливают просадки, а не снижают их, пробелы в покрытии создают в портфеле слепые зоны на целые торговые сессии. В этой статье мы создадим полноценный оценщик портфеля на MQL5. Он считывает дневные P&L из CSV-файлов бэктестов, вычисляет полную матрицу корреляции Пирсона, строит карту торговой активности по часам и дням недели, оценивает диверсификацию по классам активов и выдает сводную оценку от A+ до F. Весь исходный код прилагается, внешние библиотеки не требуются.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 91): Использование списков с пропусками и сети Хопфилда в пользовательском классе трейлинга

Возможности Мастера MQL5, которые вам нужно знать (Часть 91): Использование списков с пропусками и сети Хопфилда в пользовательском классе трейлинга

В следующем исследовании идей, тестируемых с помощью Мастера MQL5, рассмотрим, могут ли списки с пропусками и сеть Хопфилда сформировать стратегию трейлинга, направленную на защиту прибыли. Как уже отмечалось, управлению трейлинг-стопом в торговых системах часто уделяется меньше внимания, чем сигналам входа или управлению капиталом. Трейлинг-стопы могут сыграть решающую роль, например на трендовых рынках, поэтому данный подход тестируется на GBPJPY.
preview
MQL5 Bootstrap (IV): Вспомогательные средства для трейлинг-стопов и переноса стоп-лосса в безубыток

MQL5 Bootstrap (IV): Вспомогательные средства для трейлинг-стопов и переноса стоп-лосса в безубыток

В этой статье представлены переиспользуемые утилиты MQL5 для управления трейлинг-стопами и переносом стоп-лосса в безубыток. В ней рассматриваются трейлинг-стоп с фиксированным расстоянием в пунктах, трейлинг на основе скользящей средней, ATR и Parabolic SAR, трейлинг в денежном выражении и периодический трейлинг, а также перенос стоп-лосса в безубыток по пунктам и в денежном выражении. Предусмотрены пороги активации, логика пошагового переноса, защита от переноса стопа в обратном направлении и проверка ограничений брокера. Примеры кода и классы Bootstrap показывают, как интегрировать эти вспомогательные средства в советники, чтобы стандартизировать управление позициями и сократить дублирование кода.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 84): Использование паттернов стохастического осциллятора и FrAMA – Окончание

Возможности Мастера MQL5, которые вам нужно знать (Часть 84): Использование паттернов стохастического осциллятора и FrAMA – Окончание

Стохастический осциллятор и фрактальная адаптивная скользящая средняя образуют пару взаимодополняющих индикаторов, которую можно использовать в советнике MQL5. Эту пару индикаторов мы представили в предыдущей статье, а теперь завершим ее рассмотрение, разобрав оставшиеся пять сигнальных паттернов. Как и прежде, для создания советника и проверки потенциала этой пары индикаторов используем Мастер MQL5.
preview
Нейроструктурный торговый движок — NSTE (Часть II): Шестиступенчатый квантовый фильтр "Врата Джардина"

Нейроструктурный торговый движок — NSTE (Часть II): Шестиступенчатый квантовый фильтр "Врата Джардина"

В этой статье представлены "Врата Джардина" — шестиступенчатый ортогональный фильтр сигналов для MetaTrader 5. Он проверяет прогнозы LSTM по шести независимым критериям: энтропии, интерференции (степени согласия) моделей-экспертов, уверенности, вероятности с поправкой на рыночный режим, направлению тренда и срабатыванию аварийного выключателя (Kill Switch) после серии убытков. Из 43 200 исходных сигналов за месяц только 127 проходят все шесть ступеней. Читатели получат полный код класса QuantumEdgeFilter на MQL5, логику калибровки порогов и анализ эффективности каждого этапа фильтрации.
preview
Нейроструктурный торговый движок — NSTE (Часть I): Построение мультиаккаунтной системы с учетом ограничений проп-фирм

Нейроструктурный торговый движок — NSTE (Часть I): Построение мультиаккаунтной системы с учетом ограничений проп-фирм

В этой статье закладывается архитектура мультиаккаунтной алгоритмической торговой системы, работающей с криптовалютными CFD в MetaTrader 5 с учетом ограничений проп-фирм. В ней определены три основных принципа — фиксированный долларовый риск, один скрипт на счет и централизованная конфигурация, — а затем подробно описаны разделение задач между Python и MQL5, 60-секундный цикл обработки и передача сигналов на основе JSON. В статье приводятся практические методы расчета размера лота, проверки безопасности и шаблоны управления позициями для надежного развертывания.
preview
Изучение стандартной библиотеки MQL5 (Часть 14): Создание советника для динамического хеджирования с использованием ALGLIB (ap.mqh)

Изучение стандартной библиотеки MQL5 (Часть 14): Создание советника для динамического хеджирования с использованием ALGLIB (ap.mqh)

В этой статье представлен ap.mqh, порт ALGLIB для MQL5, и продемонстрировано его использование в многоактивных сценариях работы, требующих надежной линейной алгебры. Рассматривается почему встроенных индикаторов недостаточно, а затем реализуются полиномиальная регрессия, индикатор скользящей корреляционной матрицы и адаптивный оценщик коэффициента хеджа с использованием гребневой ​​регрессии с разложением Холецкого. Практический код показывает, как вычислять z-показатели спреда и согласованно исполнять парные сделки полностью в MetaTrader 5.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 88): Использование фильтра Блума с пользовательским классом трейлинга

Возможности Мастера MQL5, которые вам нужно знать (Часть 88): Использование фильтра Блума с пользовательским классом трейлинга

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

Возможности Мастера MQL5, которые вам нужно знать (Часть 89): Использование побитовой векторизации с перцептронными классификаторами

В этой статье представлен пользовательский класс сигнала на языке MQL5 CSignalBitwisePerceptron для сверхлегкой логики входа. Он упаковывает 64 бара в одно значение uint64 с помощью побитовой векторизации и оценивает их перцептроном, который суммирует соответствующие веса лишь для битов, равных 1. Двухуровневая схема – алгоритмическая битовая карта и нейронный порог – сводит к минимуму перебор массивов и сложные вычисления. Читатели получают практический шаблон для сокращения задержек и повышения точности подтверждения входа.
preview
Изучение стандартной библиотеки MQL5 (Часть 11): Как создать матричный индикатор структуры рынка в MQL5

Изучение стандартной библиотеки MQL5 (Часть 11): Как создать матричный индикатор структуры рынка в MQL5

Научитесь проектировать индикатор в MQL5, который преобразует тренд, импульс и волатильность в единый сырой показатель, используя matrix.mqh (ALGLIB). В статье рассматривается осциллятор с отдельным окном для проверки основной математики, а затем индикатор для основного графика, который отображает стрелки сигналов на покупку и продажу без перерисовки, когда показатель пересекает заданные пользователем пороговые значения. Дополнительный фильтр на основе долгосрочной EMA, минимальный интервал в барах между сигналами и встроенные оповещения делают инструмент практичным для торговли в реальном времени.
preview
Перекрестный рекуррентный количественный анализ (CRQA) в MQL5: Разработка полноценной библиотеки анализа

Перекрестный рекуррентный количественный анализ (CRQA) в MQL5: Разработка полноценной библиотеки анализа

В этой статье библиотека RQA для MQL5 расширяется до перекрестного рекуррентного количественного анализа (Cross Recurrence Quantification Analysis, CRQA) для сравнения двух временных рядов. Мы реализуем вложение двух рядов, построение матрицы перекрёстной рекуррентности, адаптированные метрики (CRR, CDET, CLAM, CENTR и другие), а также анализ в скользящем окне с возможностью ускорения на графическом процессоре (GPU) через OpenCL. Готовый к использованию индикатор сравнивает два торговых инструмента (символа) в режиме реального времени, поддерживая выравнивание по временным меткам и нормализацию для практического межрыночного анализа.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 83): Использование паттернов стохастического осциллятора и FrAMA — поведенческие архетипы

Возможности Мастера MQL5, которые вам нужно знать (Часть 83): Использование паттернов стохастического осциллятора и FrAMA — поведенческие архетипы

Стохастический осциллятор и фрактальная адаптивная скользящая средняя образуют еще одну пару взаимодополняющих индикаторов, которую можно использовать в советнике MQL5. Стохастический осциллятор позволяет точно выявлять изменения моментума, а FrAMA подтверждает преобладающие тренды. Как и прежде, для изучения этой пары индикаторов используем Мастер MQL5, чтобы создать советник и проверить ее потенциал.
preview
Пайплайны Codex: от Python к MQL5 для выбора индикаторов — анализ ETF FXI за несколько кварталов

Пайплайны Codex: от Python к MQL5 для выбора индикаторов — анализ ETF FXI за несколько кварталов

Мы продолжаем рассматривать возможности использования MetaTrader за пределами «зоны комфорта» форекс-трейдинга, обратив внимание на ещё один торгуемый актив — ETF FXI. В отличие от предыдущей статьи, где мы попытались охватить «слишком много», углубившись не только в выбор индикаторов, но и в рассмотрение комбинаций индикаторных паттернов, в этой статье мы сделаем небольшой шаг назад и сосредоточимся в большей степени на выборе индикаторов. Наш конечный продукт в данном случае задуман как своего рода пайплайн, который может помочь рекомендовать индикаторы для различных активов при наличии достаточного объема их ценовой истории.
preview
Изучение стандартной библиотеки MQL5 (Часть 10): Канал полиномиальной регрессии

Изучение стандартной библиотеки MQL5 (Часть 10): Канал полиномиальной регрессии

Сегодня мы рассмотрим еще одну составляющую ALGLIB и задействуем её математический потенциал, чтобы создать индикатор на основе полиномиальной регрессии (Polynomial Regression Channel). К концу этой статьи вы получите практические знания о разработке индикаторов с использованием стандартной библиотеки MQL5, а также полностью функциональный, математически обоснованный исходный код индикатора.
preview
От новичка до эксперта: Создание индикатора-оверлея CRT для нескольких таймфреймов в MQL5

От новичка до эксперта: Создание индикатора-оверлея CRT для нескольких таймфреймов в MQL5

Диапазоны CRT на старших таймфреймах информативны, однако трейдеры часто совершают сделки на младших таймфреймах без учета этого контекста. Мы реализуем индикатор на языке MQL5, который считывает данные OHLC старшего таймфрейма, накладывает полный диапазон свечи, ее тело и тени на активный график младшего таймфрейма и отмечает уровни входа, стоп-лосса и цели. Это позволяет лучше ориентироваться в ситуации и избавляет от необходимости переключаться между окнами.
preview
Нейросети в трейдинге: Habi — быстрое принятие решений без сложного планирования (вероятностное представление)

Нейросети в трейдинге: Habi — быстрое принятие решений без сложного планирования (вероятностное представление)

Рассматриваем реализацию вероятностных компонентов Habi на MQL5 и OpenCL: обработку рыночных наблюдений, преобразование параметров нормального распределения и пакетное семплирование латентных векторов. На примере CNeuronHabiObservationOCL, CNeuronHabiGaussianOCL и CNeuronHabiVAEOCL разбираем архитектуру, инициализацию, прямой и обратный проходы. Показываем согласование Prior и Posterior через условную KL-дивергенцию и накопление градиентов от нескольких выборок. Полученные компоненты создают основу для последующей генерации торговых действий.
preview
Интеграция MQL5 с пакетами обработки данных (Часть 9): Адаптивная оценка волатильности на основе энтропии

Интеграция MQL5 с пакетами обработки данных (Часть 9): Адаптивная оценка волатильности на основе энтропии

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

Разработка инструментария для анализа Price Action (Часть 71): Картирование структуры гэпов выходного дня в MQL5

В статье представлена реализация на MQL5 на основе графических объектов, которая определяет гэпы выходного дня по разрывам времени и отображает их непосредственно на графике. Она управляет графическими объектами, отслеживает переходы состояний – новый (FRESH), частично заполнен (PARTIAL), реакция (REACTION), заполнен (FILLED) – и сохраняет завершенные гэпы как исторические зоны. В результате создается воспроизводимая система для отслеживания возврата цены к структурам гэпов выходного дня и их заполнения.
preview
Оптимизация на основе кривых Безье — Bezier Curve-based Optimization (BCO)

Оптимизация на основе кривых Безье — Bezier Curve-based Optimization (BCO)

Разбираем Bezier Curve-based Optimization (BCO) — один из самых современных алгоритмов, в котором новые решения строятся как точки на кривых Безье. Переносим его в MQL5 и проверяем на стандартном стенде, композитном тесте и стенде со сдвигом области поиска. Попутно выясняем, что на самом деле обеспечивает его эффективность.
preview
Автоматизация графических паттернов в MQL5 (Часть 1): Мультитаймфреймовый движок для анализа свинговой структуры

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

В этой статье представлен CSwingEngine — переиспользуемый класс на языке MQL5, который обнаруживает свинговые максимумы и минимумы на H4, присваивает им метки HH, LH, HL или LL и классифицирует рыночную структуру как трендовую или боковую. Свинги всегда определяются на H4 независимо от графика, на котором запущена программа, а каждая точка корректно отображается на младших таймфреймах благодаря штатной привязке к временным координатам типа datetime. Движок предоставляет понятный интерфейс для получения текущего состояния тренда и массива свингов, необходимых для распознавания паттернов с учетом рыночного контекста.
preview
Логика кэрри-трейда в MQL5: Создание советника, учитывающего ставки свопа при расчете размера позиции и принятии решений об удержании

Логика кэрри-трейда в MQL5: Создание советника, учитывающего ставки свопа при расчете размера позиции и принятии решений об удержании

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

Нейросети в трейдинге: Диффузионная генерация торговых планов (Сценарный расчёт)

Продолжаем торговую адаптацию DPCC и объединяем ранее разработанные OpenCL-кернелы в два класса MQL5: CNeuronScenarioRolloutOCL для сценарного расчёта торговых планов и CNeuronPlanProjectionOCL для их коррекции с учётом ограничений. Разбираем организацию данных, взаимодействие классов, поиск поправок и повторную проверку финансовых последствий. Показываем, как использовать эти механизмы в собственных моделях и различать допустимый план, исчерпание бюджета поиска и ошибку вычислений.
preview
Автоматизация торговых стратегий в MQL5 (Часть 51): Модель Bread and Butter Judas Swing с зонами премии и дисконта

Автоматизация торговых стратегий в MQL5 (Часть 51): Модель Bread and Butter Judas Swing с зонами премии и дисконта

Мы создаем на языке MQL5 программу для торговли на разворотах в рамках торговых сессий по модели Bread and Butter Judas Swing. Программа определяет дневную направленность по данным старшего таймфрейма, задает килл-зоны по нью-йоркскому времени и определяет зоны премии и дисконта каждой сессии по ее текущему диапазону. Обязательное условие — снятие ликвидности, после которого смена рыночной структуры подтверждает вход. Читатели получат готовый подход с четкими, проверяемыми правилами: активировать сетапы только во время активных сессий и открывать позиции в соответствии с дневной направленностью.
preview
Построение системы обнаружения дивергенций (Часть II): Пользовательский индикатор Adaptive SuperTrend

Построение системы обнаружения дивергенций (Часть II): Пользовательский индикатор Adaptive SuperTrend

В статье мы усовершенствуем индикатор SuperTrend, добавив модуль обнаружения дивергенций (MPO4 или RSI), который динамически уменьшает множитель ATR при ослаблении моментума. В ней рассматриваются формула сжатия, перенос состояния без перерисовки с использованием отдельных буферов, а также пошаговая реализация индикатора на языке MQL5 с отображением на ценовом графике. Вы узнаете, как интерпретировать стрелки и переключения линии, настраивать входные параметры и применять индикатор для трейлинга по правилам и более раннего подтверждения сигналов.
preview
Возможности Мастера MQL5, которые вам нужно знать (Часть 98): Использование сигма-точечного фильтра Калмана и капсульной сети в пользовательском классе сигналов

Возможности Мастера MQL5, которые вам нужно знать (Часть 98): Использование сигма-точечного фильтра Калмана и капсульной сети в пользовательском классе сигналов

В этой статье представлен пользовательский класс CSignalUKFCapsNet, написанный на MQL5. Этот класс используется с Мастером MQL5 при сборке советника. После выбора в Мастере он определяет сигналы входа советника. При создании этого пользовательского класса были объединены сигма-точечный фильтр Калмана и капсульная нейронная сеть. Алгоритм представлен в четырех режимах работы, а его реализация в виде пользовательского класса для Мастера MQL5 позволяет тестировать различные методы трейлинг-стопа и системы управления капиталом.
preview
Построение системы обнаружения дивергенций (Часть III): Советник Adaptive SuperTrend

Построение системы обнаружения дивергенций (Часть III): Советник Adaptive SuperTrend

В статье реализован автономный советник Adaptive SuperTrend, который выполняет внутренние расчеты на выбранном таймфрейме без использования внешних буферов и файлов индикаторов. В нем предусмотрены расчет размера позиции в лотах на основе риска, стоп-лоссы на основе ATR, пошаговый трейлинг по соотношению прибыли и риска (RR), дополнительное подтверждение для защиты от перерисовки, которое можно включить, и управление торговлей по сессиям. На практике эту структуру можно использовать повторно для единообразной обработки сигналов при появлении нового бара и проверки ордеров на соответствие требованиям брокера.
preview
Автоматизация торговых стратегий в MQL5 (Часть 52): Модель tCISD с SSMT и Quarterly Theory

Автоматизация торговых стратегий в MQL5 (Часть 52): Модель tCISD с SSMT и Quarterly Theory

Мы разрабатываем на языке MQL5 программу tCISD, которая сочетает циклы Quarterly Theory, привязанные к нью-йоркскому времени, с SSMT-дивергенцией между торгуемым и коррелирующим символами, чтобы точнее выбирать момент разворота. В статье показано, как разметить циклы и четверти, выявить расхождение между символами по снятию ликвидности и определить уровень tCISD, пробой которого подтверждает смену характера доставки цены. Вы получите рабочую логику входа, которая активирует сетап при появлении дивергенции и открывает позицию после подтверждающего закрытия бара или при ретесте.
preview
Создание системы торговой аналитики (Часть 4): Сводные метрики и дашборд

Создание системы торговой аналитики (Часть 4): Сводные метрики и дашборд

В этой статье мы расширяем существующий бэкенд Flask, чтобы рассчитывать аналитические показатели эффективности на основе сохраненных закрытых сделок MetaTrader 5 и предоставлять их как в формате JSON, так и в виде простого веб-представления. Система рассчитывает общее количество сделок, общую прибыль, долю прибыльных сделок, среднюю прибыль и метрики продолжительности сделок, возвращает JSON по адресу /api/v1/analytics/summary и отображает дашборд по адресу /api/v1. В результате появляется быстрый и единообразный способ анализировать эффективность торговли на основе сохраненных записей SQLite.
preview
Конструирование признаков для машинного обучения (Часть 4): Реализация временных признаков в MQL5

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

Применение границ сессий из Python к временным меткам брокера в MQL5 приводит на любом брокере с часовым поясом, отличным от UTC, к ошибочной классификации принадлежности к сессиям на два–три часа и искажает флаги сессий по всей истории бэктеста. Мы реализуем файл CTimeFeatures.mqh, содержащий классы CRingBuffer и CTimeFeatures, с тремя методами, доступными для советников: Initialize (фиксация смещения относительно UTC и настройка частотного фильтра), Update (добавление логарифмической доходности в кольцевые буферы для соответствующих торговых сессий) и Calculate (циклическое кодирование, флаги торговых сессий и волатильность сессий). Результат — плоский массив типа double, совместимый по формату с Python-функцией get_time_features для таймфреймов меньше часа, часовых и дневных таймфреймов.
preview
Трейдинг с экономическим календарем MQL5 (часть 12): Хранение данных в SQLite и предотвращение повторных сделок

Трейдинг с экономическим календарем MQL5 (часть 12): Хранение данных в SQLite и предотвращение повторных сделок

В этой статье мы заменяем встроенный CSV-снимок слоем SQLite, который сохраняет события календаря и идентификаторы сработавших сделок между перезапусками. База данных хранится в общей папке терминала и используется как графиками в реальном времени, так и тестером стратегий, поэтому оба режима читают одни и те же данные без перекомпиляции. Загрузчик по запросу с индикатором выполнения на холсте получает историю из API календаря и сохраняет ее для повторного использования в автономном режиме.
preview
Эволюция городских советов — City Councils Evolution (CCE)

Эволюция городских советов — City Councils Evolution (CCE)

Выполняем каноническую реализацию CCE в рамках C_AO, воспроизводим тесты и показываем ключевой дефект: аддитивный покоординатный оператор тянет решения к нулю и деградирует на смещенных диапазонах. Предлагаем простой контрольный тест со сдвигом области поиска и модификацию на основе разностей, применяемую по всем координатам. В результате — исходники MQL5, методика проверки и улучшенная версия алгоритма.
preview
За пределами GARCH (Часть VII): Прогнозирование волатильности методом Монте-Карло в MQL5

За пределами GARCH (Часть VII): Прогнозирование волатильности методом Монте-Карло в MQL5

Мы реализуем модуль CMonteCarlo, который преобразует подогнанные параметры MMAR в прогноз волатильности методом Монте-Карло. Модуль выполняет N независимых симуляций на выбранном горизонте прогнозирования и возвращает среднее, медиану, стандартное отклонение и 95-процентный доверительный интервал на основе процентилей. При необходимости доступны значения каждого прогона. Адаптивная глубина каскада выбирает минимальное k, при котором b^k покрывает горизонт прогнозирования, обеспечивая быстродействие и согласованность симуляции.
preview
Моделирование рынка: Position View (XIX)

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

Один из вопросов, который доставлял мне наибольший дискомфорт, заключается в том, что класс C_ElementsTrade содержит код для обращения к позициям. Не воспринимайте это как ошибку, потому что на самом деле это не так. Однако из-за этого некоторые задачи, которые нам предстоит выполнить позже, становятся более рискованными с точки зрения ошибок. Вся работа по реализации индикатора позиции велась с расчетом на его использование в сервисе репликации/моделирования. Однако при запуске в этой среде у нас не будет никакого доступа к реальной позиции. Следовательно, любой вызов библиотеки MQL5, предназначенный для получения данных о позиции, не окажет никакого влияния на код.
preview
Освоение массивов премии и дисконта: Оптимизация торговли по дисбалансам в PD-массивах

Освоение массивов премии и дисконта: Оптимизация торговли по дисбалансам в PD-массивах

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

Альтернатива временным барам (Часть 2): Построение баров серий в MQL5

Мы реализуем тиковые, объемные и долларовые бары серий в Python и MQL5 и встраиваем их в существующий фреймворк построения баров. В статье подробно описаны обновление двух накопителей, офлайн-калибровка с начальными значениями для каждого направления, сохранение состояния в советниках и проверка совпадения результатов Python и MQL5. Бары серий (runs bar) выявляют односторонние всплески активности, которые может скрывать метрика чистого дисбаланса, улучшая тем самым охват данных в спокойные сессии и для моделей возврата к среднему.
preview
Автоматизация торговых стратегий в MQL5 (Часть 53): Разворотные модели "двойная вершина" и "двойное дно"

Автоматизация торговых стратегий в MQL5 (Часть 53): Разворотные модели "двойная вершина" и "двойное дно"

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

Построение системы обнаружения дивергенций (Часть IV): Создание переиспользуемого модуля обнаружения дивергенций для MQL5

В статье логика обнаружения дивергенций, разработанная в этой серии, выносится в подключаемый файл DivergenceEngine.mqh, который можно повторно использовать в индикаторах и советниках на языке MQL5. В статье подробно описаны архитектура на основе структур, выбор осциллятора (MPO4 или RSI), работа с опорными точками и состоянием, а также минимальный API для доступа к данным. Советник на основе Parabolic SAR демонстрирует подключение модуля: коэффициент ускорения индикатора изменяется в зависимости от обнаруженной дивергенции. Этот пример дает понятную схему, которую можно повторно использовать без дублирования кода.