1. Рекомендуемый символ и таймфрейм
Символ: любой (настоятельно рекомендуется для волатильных активов, таких как XAUUSD, GBPUSD или индексы, например US30).
Таймфрейм: любой. Этот утилитарный советник не зависит от таймфрейма, поскольку использует событие OnTimer() (с интервалом в 1 секунду) вместо OnTick(), что обеспечивает постоянный мониторинг риска даже в случае «зависания» рынка.
2. Основные идеи, заложенные в коде Основная идея данного кода заключается в предоставлении системы управления рисками институционального уровня для трейдеров проп-фирм. Традиционные стоп-лоссы уязвимы к экстремальному проскальзыванию во время новостных событий. Данный советник снижает этот риск за счет внедрения двухуровневой системы снижения рисков:
Уровень 1 (мягкий лимит): когда счет достигает уровня предупреждающего просадки, советник выявляет открытую позицию с наихудшими показателями и выполняет частичное закрытие (например, 50 % объёма), чтобы вернуть свободную маржу на счёт и избежать полного превышения лимита.
Уровень 2 (жесткий лимит): если экстремальная волатильность приводит к тому, что собственный капитал достигает абсолютного дневного лимита проп-фирмы, советник запускает цикл агрессивного панического закрытия позиций, обходя реквоты брокера, чтобы защитить счет.
3. Описание внешних переменных
InpMaxDailyLossPercent : Абсолютный максимальный дневной убыток, допускаемый вашей Prop Firm (например, 4,5 %). Запускает Уровень 2.
InpAutoCloseOnLimit: включает режим абсолютного панического закрытия позиций уровня 2.
InpRemoveEAOnLimit: если значение «true», то после нарушения уровня 2 советник отсоединяется от графика, чтобы блокировать дальнейшую автоматическую торговлю.
InpMitigationLossPercent: пороговое значение предупреждения (например, 3,5%). Запускает уровень 1.
InpEnableMitigation : Активирует модуль частичного закрытия позиций уровня 1.
InpPartialClosePercent: процент объёма самой убыточной позиции, который будет закрыт в ходе смягчения рисков уровня 1 (по умолчанию: 50,0).
InpSlippagePoints: допустимое отклонение для принудительного закрытия позиций на быстро меняющихся рынках.
InpSendPushNotification : отправляет push-уведомление на мобильное устройство при превышении лимитов.
InpMaxRetries : Сколько раз советник будет принудительно отправлять команду закрытия, если сервер брокера вернет ошибку.
4. Краткое объяснение структуры кода Чтобы помочь другим пользователям понять реализацию, этот советник был разработан с использованием строгих принципов объектно-ориентированного программирования (ООП).
Класс CPropFirmProtector: инкапсулирует всю логику управления рисками, предотвращая конфликты глобальных переменных.
Метод CalculateDailyStartBalance(): вместо использования статических переменных он сканирует результаты вызова HistorySelect() с 00:00 по серверному времени, чтобы математически рассчитать точный дневной начальный баланс с учётом свопов, комиссий и закрытой прибыли.
Самовосстанавливающийся графический интерфейс: панель инструментов на графике использует фон с фиксированным Z-порядком и цикл самовосстановления (ObjectFind). Если другой индикатор случайно удалит панель рисков, советник восстановит её за миллисекунду.

Перевод с испанского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/es/code/76437
Swing Detector by Pullback (Smart Money Concepts)
Индикатор SMC Pullback отмечает колебательные максимумы и минимумы, используя определение «отката» вместо обычного паттерна из 3 свечей. Максимум подтверждается только тогда, когда цена возвращается ниже минимума свечи, сформировавшей этот максимум — таким образом, каждая отмеченная точка является фактическим откатом, а максимумы и минимумы всегда чередуются. Индикатор анализирует только закрытые свечи и никогда не сдвигает нарисованный маркер, поэтому не перерисовывается. Два буфера предоставляют подтвержденные цены колебаний советнику через iCustom.
SuperTrend Indicator
Пользовательский индикатор SuperTrend, созданный с нуля, сочетающий в себе полосу волатильности на основе ATR с механизмом «трещотки» для построения четкой линии тренда, не подверженной перерисовке. Управление внутренним рекурсивным состоянием осуществляется с помощью надлежащим образом зарегистрированных буферов вычислений, что позволяет избежать ошибок потери состояния, характерных для реализаций с массивами, управляемыми вручную. Из серии статей «Создание пользовательских индикаторов для начинающих».
Hurst Exponent Regime Switch Indicator
Рассчитывает скользящий показатель Херста цены с помощью анализа масштабированного диапазона (R/S) и отображает его в виде осциллятора с цветовой кодировкой, который сигнализирует, находится ли рынок в данный момент в тренде, возвращается ли он к среднему значению или движется по принципу случайного блуждания.
Multi Timeframe Trend Dashboard Indicator
Компактная панель на графике, отображающая динамику текущего символа сразу на нескольких таймфреймах, каждый из которых анализируется независимо с помощью собственного пересечения быстрой и медленной скользящих средних. Не нужно переключаться между графиками, чтобы проверить, «что происходит на H4» — вся информация собрана в одном месте и выделена цветом.