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

icon

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

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

Новая статья
последние | лучшие
preview
Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций

Метаразметка классических стратегий (Часть 2): Фильтрация сделок по ADX и определение размера позиций

Пересечение линий DI часто дает сигналы на боковом рынке, где +DI и -DI колеблются без устойчивого преобладания одной из линий. Мы создаем двухслойную гибридную модель: алгоритм выбора гиперпараметров TPE в Optuna оптимизирует фильтр рыночного режима по порогу ADXR, периоду расчета DI и минимальному расстоянию между линиями DI, чтобы максимизировать точность (precision) сигналов на отложенном валидационном интервале; затем случайный лес использует одиннадцать признаков, рассчитанных на основе ADX, для допуска входов в рынок или определения размера позиций с помощью afml.bet_sizing. Полученная модель отфильтровывает всплески сигналов на боковом рынке и калибрует размер позиции при торговле EURUSD на H1.
preview
Разработка динамического мультивалютного советника (Часть 9): Фильтрация шума исполнения с учетом микроструктуры рынка

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

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

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

В статье представлен CMicrostructureFeatures — класс на языке MQL5 для расчета признаков микроструктуры рынка на уровне баров: спреда Ролла и ценового воздействия по Роллу, спреда и сигмы Корвина — Шульца, лямбды Кайла, показателя неликвидности Амихуда (ILLIQ) и лямбды Хасбрука. Расчеты основываются исключительно на данных OHLCV с использованием скользящих окон. В статье разъясняется, как использование тикового объема MetaTrader 5 влияет на оценки лямбды; при этом оценки спреда остаются независимыми от объема. Скрипт проверяет размеры выходных данных и соблюдение базовых ограничений на их значения.
preview
Адаптивное сглаживание цен в MQL5: фильтр Калмана с оценкой шума без внешних библиотек

Адаптивное сглаживание цен в MQL5: фильтр Калмана с оценкой шума без внешних библиотек

Скользящие средние с фиксированным весовым коэффициентом вносят запаздывание, которое не учитывает смену рыночных режимов. В данной работе представлен индикатор на основе адаптивного скалярного фильтра Калмана, реализованный штатными средствами MQL5. Он оценивает дисперсию шума процесса Q по дисперсии приращений цены в скользящем окне, а дисперсию шума измерений R — по дисперсии цены в скользящем окне, применяет ограничение снизу для обеспечения численной устойчивости и пересчитывает коэффициент усиления Калмана на каждом баре. Линия индикатора, отображаемая поверх ценового графика, сравнивается с 20-периодной EMA по показателям MAE, RMSE, запаздывания и гладкости для количественной оценки качества отслеживания цены и подавления шума.
preview
Форма ценового ряда: введение в топологический анализ данных и вложение Такенса в MQL5

Форма ценового ряда: введение в топологический анализ данных и вложение Такенса в MQL5

В статье представлены практические основы анализа формы ценовых рядов в MQL5. Реализовано вложение Такенса с временной задержкой для построения облака точек в фазовом пространстве, а также вычисление полной матрицы попарных расстояний с возможностью выбора нормы. Классы CTDAPointCloud и CTDADistance сопровождаются демонстрационным скриптом, который выполняет вложение данных графика и выводит результаты, подготавливая входные данные для дальнейшей обработки топологическими инструментами.
preview
Поиск торгового преимущества (Часть 1): Использование дискретного преобразования Фурье (ДПФ) и импульсной нейронной сети (SNN) в торговом роботе

Поиск торгового преимущества (Часть 1): Использование дискретного преобразования Фурье (ДПФ) и импульсной нейронной сети (SNN) в торговом роботе

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

Интерактивное управление зонами спроса и предложения на MQL5 (Часть I): От ручной работы к автоматизации жизненного цикла

Заменяет статические графические объекты автоматизированными зонами с сохраняемым состоянием, управляемыми классом-оболочкой CZone. Система синхронизирует пользовательские прямоугольники, задает размеры зон по ATR (средний истинный диапазон), подтверждает пробои по последовательным закрытиям свечей, применяет правила перехода в призрачное состояние и деактивации, объединяет близлежащие структуры с порогом объединения 1.5×ATR и продлевает границы зон вперед по времени. Трейдеры получают устойчивые уровни, которые обновляются автоматически и позволяют сократить объем рутинной работы с графиками.
preview
Пользовательские инструменты отладки и профилирования для разработки на MQL5 (Часть II): Профилирование советников и тестирование торговой логики

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

Мы создаём компактный профилировщик, который записывает в CSV количество вызовов, минимальное, максимальное и среднее время выполнения, а также количество медленных вызовов, и простую среду запуска тестов, которая формирует детерминированные отчёты об успешном или неуспешном прохождении тестов. В статье объясняется, где размещать замеры в советнике, как выполнять выборку тиков и как сохранять возможность тестирования чистых вычислений. Выполнение сначала скрипта, а затем профилирующего советника позволяет получить воспроизводимые данные для регрессионного анализа.
preview
Фундаментальные модели для торговли (Часть III): Запуск генеративной ИИ-модели прогнозирования в MetaTrader 5

Фундаментальные модели для торговли (Часть III): Запуск генеративной ИИ-модели прогнозирования в MetaTrader 5

Мы демонстрируем отображение прогнозов Kronos на графике в реальном времени средствами MQL5 и пайплайн оценки, спроектированный для исключения заглядывания в будущее. Прогнозы из детерминированных выгрузок оцениваются для каждого горизонта в сравнении с базовым прогнозом случайного блуждания (15 113 прогнозных значений), затем используются в простом торговом правиле в Тестере стратегий на EURUSD H1. Результаты не выявляют торгового преимущества и показывают, как высокий порог может дать убедительный на вид, но малоинформативный результат тестирования на исторических данных с очень небольшим числом сделок.
preview
Конструирование признаков для машинного обучения (Часть 5): Микроструктурные признаки на Python

Конструирование признаков для машинного обучения (Часть 5): Микроструктурные признаки на Python

В статье представлен набор микроструктурных признаков из главы 19, реализованный в модуле afml.features.microstructure, и описана двухуровневая архитектура для работы как только с данными OHLCV, так и с добавлением тиковых данных. Мы рассматриваем оценки спреда и волатильности по Роллу и Корвину — Шульцу, лямбду Кайла, лямбду Амихуда и лямбду Хасбрука, VPIN, а также признаки дисбаланса на уровне баров — всё это реализовано в вычислительных ядрах, ускоренных с помощью Numba. Один проход с использованием np.searchsorted определяет границы баров, что позволяет выполнять параллельные вычисления с помощью prange и получать матрицу признаков с индексом по барам, готовую для дальнейшего использования в моделях машинного обучения.
preview
Конструирование признаков для машинного обучения (Часть 7): Энтропийные признаки в Python

Конструирование признаков для машинного обучения (Часть 7): Энтропийные признаки в Python

В статье представлены готовые к промышленной эксплуатации оцениватели энтропии (Шеннона, подстановочный, Лемпеля — Зива, Контоянниса), работающие с последовательностями, закодированными по тиковому правилу. В статье устранены три проблемы корректности и производительности исходного кода, результаты сверены с данными из главы, а возможности кодирования расширены за счёт квантильного и сигма-кодирования. Пользователи получают воспроизводимые результаты и заметно более высокую скорость вычислений при работе с большими наборами баров.
preview
Фундаментальные модели для торговли (Часть II): Декодирование, авторегрессия и точный KV-кэш

Фундаментальные модели для торговли (Часть II): Декодирование, авторегрессия и точный KV-кэш

Мы завершаем нативную реализацию Kronos на MQL5: создаем декодировщик, этапы decode_s1 и decode_s2 предиктора с подводными камнями перекрестного внимания и авторегрессионный цикл, формирующий прогноз на несколько баров. Затем мы проводим профилирование и ускоряем реализацию примерно в 4,5 раза с помощью точного KV-кэша и предварительно транспонированных весов, сверяя результаты каждого этапа с результатами PyTorch.
preview
Метаразметка классических стратегий (Часть 1): Фильтрация сделок по RSI и определение размера позиций

Метаразметка классических стратегий (Часть 1): Фильтрация сделок по RSI и определение размера позиций

В условиях тренда RSI накапливает убытки, поскольку генерирует сигнал при каждом пересечении порога независимо от рыночного режима. Вторичный классификатор на основе случайного леса, обученный на 12 контекстных признаках — наклоне импульса RSI, скорости тренда EMA50, нормированном по ATR отклонении цены от трендовой средней и девяти других, — фильтрует исходные сигналы и масштабирует размер позиции в зависимости от уверенности классификатора на данных EURUSD H1. В результатах сравниваются исходный RSI, RSI с метафильтрацией и RSI с адаптивным размером позиции за 16-месячный период вне обучающей выборки с анализом показателей по отдельным сделкам и просадок.
preview
Разработка индикатора снятия ликвидности  STF Liquidity Sweep на языке MQL5

Разработка индикатора снятия ликвидности STF Liquidity Sweep на языке MQL5

В статье представлен динамический индикатор для MetaTrader 5, который выявляет снятия ликвидности используя логику определения точек разворота, соотношение теней свечей и подтверждения от паттернов поглощения. Индикатор распознает теневые паттерны с одной и двумя свечами без фиксированного временного окна, обновляет уровни ликвидности со стороны покупателей и продавцов по мере изменения цены и аннулирует уже пробитые уровни для поддержания достоверной карты ликвидности.
preview
Кэширование метаданных символов и расписаний торговых сессий в MQL5: Устранение лишних вызовов SymbolInfo в мультисимвольных советниках

Кэширование метаданных символов и расписаний торговых сессий в MQL5: Устранение лишних вызовов SymbolInfo в мультисимвольных советниках

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

Фундаментальные модели для торговли (Часть I): Нативная реализация Kronos средствами MQL5

Kronos — предварительно обученная модель-трансформер, которая моделирует бары OHLCV так же, как языковая модель предсказывает слова. Мы с нуля реализуем ее токенизатор/кодировщик и блок трансформера на нативном MQL5, экспортируем веса в плоские файлы .bin и полностью исключаем Python из этапа выполнения модели. В части 1 реализованы предобработка, токенизация BSQ и средства побитной проверки результатов относительно PyTorch, что позволяет уверенно запускать кодировщик внутри MetaTrader 5.
preview
Создание системы торговой аналитики (Часть 4): Сводные метрики и дашборд

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

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

От клонирования и коммитов к CI: Расширенные возможности MQL5 Algo Forge

Мы разбираем возможности Algo Forge, важные для повседневной работы с MQL5: открытие репозиториев в MetaEditor, перевод README, вкладку Units, защиту веток и тегов, внесение правок в браузере, пакеты и CI на хосте с Windows. В статье приведены точные настройки и необходимые метки раннера, а также показано, как разрешать слияние (merge) только после успешной сборки. Вы получите воспроизводимые инструкции по защите кода, автоматизации компиляции и публикации артефактов.
preview
Альтернатива тиковому объему: Измерение рыночной активности по интервалам ожидания между котировками

Альтернатива тиковому объему: Измерение рыночной активности по интервалам ожидания между котировками

Тиковый объем в основном отражает время суток, а его окончательное значение известно только после закрытия бара. Мы строим индикатор активности, который обновляется в реальном времени при каждой котировке, используя интервалы ожидания между изменениями котировок, устраняем внутридневной ритм и моделируем оставшуюся составляющую с помощью модели авторегрессионной условной длительности (ACD). Затем мы проверяем, улучшает ли этот показатель активности краткосрочные прогнозы волатильности, если текущая волатильность цены уже учтена в модели.
preview
Построение моделей волатильности в MQL5 (Часть III): Реализация алгоритма SLSQP для оценки моделей

Построение моделей волатильности в MQL5 (Часть III): Реализация алгоритма SLSQP для оценки моделей

На языке MQL5 реализован оптимизатор SLSQP для устранения расхождений в параметрах между библиотекой волатильности и модулем ARCH для Python. В статье подробно описаны обработка ограничений, варианты вычисления градиента, настройка и средства управления сходимостью, а также показано, как интегрировать решатель в существующий код. Практические примеры и сравнения демонстрируют совпадение логарифмов правдоподобия и параметров на общих наборах данных.
preview
Разработка классического индикатора «Крестики-нолики» на языке MQL5

Разработка классического индикатора «Крестики-нолики» на языке MQL5

В данной статье на языке MQL5 реализован пользовательский индикатор «Крестики-нолики» (Point and Figure, PF), который отображает движение цены в столбцы X/O, используя фиксированный размер клетки и логику разворота через три клетки. Мы определяем базовую цену, преобразуем цены в интервалы клеток, управляем трендами и разворотами, автоматически масштабируем окно индикатора и отображаем символы с помощью объектов, обеспечивая четкое, независимое от времени представление трендов, прорывов и уровней поддержки и сопротивления.
preview
RiskGate: Централизованное управление рисками для нескольких советников

RiskGate: Централизованное управление рисками для нескольких советников

Во многих конфигурациях MetaTrader 5 на одном счете работают несколько советников, поэтому управление рисками оказывается разрозненным, а экспозиция по коррелирующим инструментам остается незамеченной. В статье представлен RiskGate — централизованный сервис, который оценивает торговые намерения советников на уровне всего счета: советники отправляют сигнал в формате JSON, а сервис возвращает поля approved, lot и reason. Вы увидите схему взаимодействия клиента и сервера, примеры правил (лимит дневного убытка, лимиты экспозиции и корреляции), архитектуру обработчика, проверенную модульными тестами, и пример советника. В результате обеспечивается согласованное управление рисками на уровне портфеля, а сами советники становятся проще.
preview
Создание индикатора для моделирования будущих свечей после пересечения EMA в MQL5

Создание индикатора для моделирования будущих свечей после пересечения EMA в MQL5

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

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

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

Разработка объектно-ориентированного сканера разрывов справедливой стоимости (FVG) на MQL5

В статье показано, как создать объектно-ориентированный сканер разрывов справедливой стоимости (FVG) на языке MQL5 и отображать разрывы ликвидности непосредственно на графике MetaTrader 5. Рассматриваются формализация геометрии дисбаланса на основе трех свечей, синхронизация массивов OHLC с помощью CopyRates, управление объектами-прямоугольниками без утечек и отслеживание митигации (отработки зоны) в реальном времени. Также показано, как интегрировать этот класс в советник со строгой проверкой появления нового бара для стабильной и эффективной работы.
preview
Создание системы торговой аналитики (Часть 3): Сохранение данных о сделках MetaTrader 5 в SQLite

Создание системы торговой аналитики (Часть 3): Сохранение данных о сделках MetaTrader 5 в SQLite

В этой статье мы расширим бэкенд на Flask, чтобы надежно принимать, проверять и сохранять данные о закрытых сделках из MetaTrader 5 с помощью SQLite и Flask-SQLAlchemy. В нем реализованы проверка обязательных полей, преобразование временных меток, сохранение данных в транзакциях с откатом при ошибке и работающие эндпоинты получения всех сделок, отдельных записей и базовой сводки. В результате получается полноценный пайплайн данных с локальным тестированием: он сохраняет записи о сделках и предоставляет доступ к ним через структурированный API для дальнейшего анализа.
preview
Renko внутри советника: построение по тикам без offline-графика

Renko внутри советника: построение по тикам без offline-графика

Покажу, как строить Renko прямо внутри советника на MQL5 — без offline-графиков и пользовательских символов. Разберём развороты на один и два кирпича, обработку нескольких кирпичей за тик и типичные ошибки. Проверим повторяемость построения и выгрузим результат в CSV. К статье приложены класс CRenkoBuilder и демонстрационный советник.
preview
Создание объектно-ориентированного механизма статистического арбитража на основе Z-показателя в MQL5

Создание объектно-ориентированного механизма статистического арбитража на основе Z-показателя в MQL5

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

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

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

Версионирование параметров советника в MQL5 с помощью файлов

В этой статье рассказывается, как реализовать версионирование параметров на языке MQL5 с помощью бинарных файлов и упакованных структур. Здесь показано, как с помощью функций FileWriteStruct и FileReadStruct в режиме FILE_BIN записывать и считывать записи фиксированного размера, содержащие номера версий, временные метки и контрольную сумму. Вы также узнаете, как обнаруживать изменения с помощью контрольных сумм, безопасно добавлять записи в конец файла и загружать последнюю конфигурацию, не перезаписывая предыдущие настройки.
preview
Создание системы торговой аналитики (Часть 2): Как фиксировать закрытые сделки и передавать данные в формате JSON с помощью MQL5

Создание системы торговой аналитики (Часть 2): Как фиксировать закрытые сделки и передавать данные в формате JSON с помощью MQL5

Мы создаем легковесный мост, который фиксирует закрытые сделки в MetaTrader 5 и отправляет данные о них во внешний бэкенд по HTTP в формате JSON. Он использует OnTradeTransaction для обнаружения событий, считывает сведения из истории сделок, формирует данные в формате JSON и отправляет их POST-запросом через WebRequest. Для проверки обмена данными используется локальный API Flask. Так мы получаем работающий механизм передачи торговых данных за пределы терминала.
preview
От новичка до эксперта: Автоматизация распознавания геометрических паттернов внутри базовых свечей зон ликвидности в MQL5

От новичка до эксперта: Автоматизация распознавания геометрических паттернов внутри базовых свечей зон ликвидности в MQL5

В статье описывается реализация модуля на MQL5, который анализирует бары младшего таймфрейма внутри каждой базовой свечи зоны ликвидности. Он обнаруживает свинговые точки и по объективным правилам классифицирует внутреннюю структуру: восходящий, нисходящий или симметричный треугольник, прямоугольник, M, W либо неопределенная структура. Индикатор отображает на графике метки геометрических фигур и добавляет название паттерна в алерты, сокращая необходимость ручной проверки на младшем таймфрейме.
preview
Создание традиционного индикатора Ренко с наложением на график в MQL5

Создание традиционного индикатора Ренко с наложением на график в MQL5

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

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

Адаптируем фреймворк Habi для алгоритмической торговли на финансовых рынках. Его основной принцип — перенос опыта сложного планирования в генеративную политику для быстрого принятия решений. Модель учитывает рыночные данные и состояние счёта, формирует варианты управления торговой позицией, а Critic оценивает их потенциальные результаты. Для обучения используются эталонные действия Oracul. Рассматриваем архитектуру торговой адаптации и реализацию OpenCL-кернелов пакетного семплирования и обратного распространения градиентов.
preview
Как выявлять ликвидность на круглых ценовых уровнях в MQL5

Как выявлять ликвидность на круглых ценовых уровнях в MQL5

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

Создание системы торговой аналитики (Часть 1): Основы и архитектура системы

Мы проектируем простой внешний пайплайн аналитики торговых операций для MetaTrader 5 и реализуем его бэкенд на Python с использованием Flask и SQLite. В статье определяются архитектура, модель данных и API с поддержкой версий, а также показано, как настроить среду, инициализировать базу данных и локально запустить сервер. В результате вы получаете понятную основу для сбора записей о закрытых торговых операциях из MetaTrader 5 и их хранения для последующего анализа.
preview
Алгоритм оптимизации, вдохновлённый охотой лисы —  Fox-inspired Optimization Algorithm (FOX)

Алгоритм оптимизации, вдохновлённый охотой лисы — Fox-inspired Optimization Algorithm (FOX)

Разбираем FOX (Fox-inspired Optimization Algorithm): реализуем алгоритм в MQL5, детально проверяем ветви "прыжка" и "блуждания" и показываем, как притяжение к нулю и фиксированный масштаб шага мешают поиску в торговых диапазонах. Пошагово измеряем вклад каждого механизма на тестовом стенде и объясняем расхождения формул и кода. В конце — готовый к использованию класс C_AO_FOX и исправленная версия с шагом в долях диапазона.
preview
Торговые инструменты MQL5 (Часть 33): Создание системы документации с расширенным форматированием для программ на языке MQL5

Торговые инструменты MQL5 (Часть 33): Создание системы документации с расширенным форматированием для программ на языке MQL5

Мы расширяем возможности мастера настройки из части 9, чтобы создать для MetaTrader 5 систему документации, встроенную в график и использующую холст для отрисовки. Панель имеет вкладки и поддерживает прокрутку, форматирование фрагментов текста, изображения и интерактивные элементы управления; для её отрисовки используется сглаживание методом суперсэмплинга. В результате получился движок документации для многократного использования, который можно встроить в любую программу на языке MQL5 для отображения автономной документации прямо на графике.
preview
От новичка до эксперта: Адаптивное управление рисками в стратегиях на основе ликвидности

От новичка до эксперта: Адаптивное управление рисками в стратегиях на основе ликвидности

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

От новичка до эксперта: Выявление переворотов зон ликвидности на языке MQL5

В этой статье представлен индикатор на языке MQL5, который обнаруживает перевороты зон ликвидности и управляет ими. Он выявляет зоны предложения и спроса на старших таймфреймах с помощью паттерна "база → импульс", применяет формализованные пороговые значения для пробоя и силы импульса и автоматически переворачивает зоны при изменении структуры. В результате получается динамическая карта поддержки и сопротивления, которая сокращает необходимость ручной перерисовки и дает понятный и практически применимый контекст для оценки сигналов и ретестов.