Ставь лайки и следи за новостями
Поставь на него ссылку - пусть другие тоже оценят
Оцени его работу в терминале MetaTrader 5
- Просмотров:
- 20
- Рейтинг:
- Опубликован:
-
Нужен робот или индикатор на основе этого кода? Закажите его на бирже фрилансеров Перейти на биржу
Счет проп-фирмы работает по второму набору правил, о котором MetaTrader 5 ничего не знает: максимальный убыток, рассчитываемый от фиксированного начального баланса; дневной лимит, который обнуляется в час, не совпадающий с временем брокера; ограничение на регулярность выплат; минимальное количество торговых дней; запрет на торговлю во время новостей; прекращение торговли в пятницу. Нарушьте первый набор правил — и вы потеряете сделку. Нарушьте второй — и вы потеряете счет.
Эта библиотека представляет собой исходный код механизма защиты, лежащего в основе всего этого. Она компилируется в любой советник, проверяет восемь правил на одном «замороженном» снимке счета за один проход и выдает не более одной директивы — никогда не дает восемь отдельных реакций на один неудачный момент. Она не открывает собственных позиций.

Что находится в архиве
24 файла заголовков (.mqh), один фасадный класс (CPropRulebook) и демонстрационный советник (PropFirmDefense.mq5), который подключает фасад к панели на графике. Демо-версия также опубликована и скомпилирована в виде бесплатного продукта на Market: PropFirm Defense. Эта запись в CodeBase представляет собой тот же «страж» в исходном коде для читателей, которые предпочитают классы, а не бинарный файл.
Что проверяется
- Восемь правил при каждом проходе — статический дроудаун, трейлинг-дроудаун, дневной убыток, цель по прибыли, стабильность выплат, минимальное количество торговых дней, запрет на торговлю во время новостей, нулевой баланс на выходных.
- Скользящий нижний предел, который ведет себя как в реальности — он повышается вместе с пиком, а затем навсегда фиксируется, как только баланс достигает значения «начало плюс трейлинг», точно так же, как на самом деле работают счета со скользящим просадкой.
- Ежедневный сброс происходит в часовом поясе компании, а не в полночь по времени брокера, поэтому убыток, зафиксированный до или после границы, относится к правильному дню.
- Правила выплат никогда не закрывают позицию. Проблема с постоянством выплат или минимальным количеством дней приостанавливает вывод средств, но не подвергает счет риску, поэтому система безопасности сообщает об этом, а не принимает меры.

Как это работает
- Одно наблюдение за каждый проход, общее для всех правил, и максимум одна директива, вытекающая из него. Нарушение восьми правил одновременно приводит к одному действию, а не к восьми.
- Работает в сочетании с чем угодно — любым советником, ручной торговлей или копируемым сигналом на счете. Сам по себе не открывает позиций.
- Состояние сохраняется после перезапуска. Якорь, израсходованный бюджет и фиксаторы сохраняются, поэтому перезагрузка VPS не приводит к восстановлению лимита просадки.
- Вы можете самостоятельно установить любой порог в диалоговом окне «Входы», используя в качестве отправной точки предустановки для типичных стилей работы компаний.

Архитектура для читателей, желающих повторно использовать компоненты
CPropRulebook — единственный класс, необходимый вызывающему. Он состоит из:
- CPropSnapshotBuilder — фиксирует один снимок счета за каждый проход (капитал, баланс, позиции, плавающая прибыль/убыток), чтобы каждое правило оценивало одни и те же цифры.
- CRuleRegistry + CRuleCoordinator — хранят восемь реализаций IPropRule и преобразуют множество решений в не более одной директивы.
- CProtectiveActionExecutor — единственный класс, которому разрешено вмешиваться в позицию, и только для её закрытия в случае нарушения лимитов.
- CGuardStateStore — сохраняет минимальный порог, израсходованные бюджеты и фиксаторы при перезапуске терминала.
- CTerminalAlgoSwitch — опциональный исполнительный модуль для глобальной кнопки «Алгоритмическая торговля» терминала. Он переходит в режим с пониженной производительностью, а не отказывается запускаться, когда необходимый вызов WinAPI недоступен (сборка Market, Linux/Wine или AllowDllImport=0).
Это не стратегия
Этот модуль не принимает решений о том, когда входить в рынок, и не дает никаких гарантий прибыльности. Он отвечает на два вопроса для любой торгующей системы: «Могу ли я открыть эту позицию сейчас?» и «Нарушает ли что-либо в этом счете установленные лимиты в данный момент?».
Ограничения, указанные заранее
- Предварительно заданные значения являются отправной точкой, а не обязательным условием. Правила проп-фирм меняются и различаются в зависимости от программы и уровня. Проверяйте каждый порог на соответствие вашему собственному соглашению.
- Для работы правила «Новости» требуется экономический календарь терминала. Оно не срабатывает, если календарь недоступен, что имеет место в Тестере стратегий.
- CTerminalAlgoSwitch импортирует user32.dll при компиляции без параметра рыночной сборки (PROP_MARKET_BUILD, включен по умолчанию в прилагаемой демо-версии). Если вы компилируете собственную точку входа и вам нужен путь без DLL (рыночные правила, AllowDllImport=0 или платформа без WinAPI), определите этот макрос перед включением.
Материал носит образовательный характер и не является финансовой рекомендацией. Торговля сопряжена с риском потерь.
Перевод с английского произведен MetaQuotes Ltd.
Оригинальная публикация: https://www.mql5.com/en/code/77156
Range compression percentile
Сравнивает диапазон текущего периода на данный момент со всем историческим распределением прошлых диапазонов — это истинный процентиль, а не просто сравнение со средним значением, как в случае с ADR% — и выявляет статистическое сжатие или расширение на компактной панели в режиме реального времени с помощью индикатора процентилей.
MT5 Symbol Changer Profit Display
EMTOrdersUtility — это утилита для мониторинга торговых операций в режиме реального времени и смены символов, разработанная для активных трейдеров, которым необходим доступ к информации о своих открытых позициях по различным финансовым инструментам в режиме реального времени.
GDS Renko Replay Trainer
GDS Renko Replay Trainer — это бесплатный обучающий инструмент для отработки ручных решений на исторических графиках Ренко в MetaTrader 5. Загрузите исторический интервал, прокрутите его вперед и размещайте виртуальные сделки «КУПИТЬ» или «ПРОДАТЬ». Вы можете поставить на паузу, продвинуться на один тик или перейти к следующему завершённому блоку Ренко. Каждая виртуальная позиция имеет стоп-лосс и тейк-профит, а тренажёр фиксирует результаты вашей сессии. Инструмент формирует блоки Ренко фиксированного размера на основе исторических тиков Bid/Ask с классическим разворотом из двух блоков. Будущие тики не используются для построения видимого графика или совершения виртуальных сделок. При сделках на покупку для входа используется цена Ask, а для выхода — цена Bid; при сделках на продажу — наоборот. Ордера, введенные на панели, ожидают следующего воспроизводимого действительного тика. Стопы и цели проверяются при каждом тике, включая ценовые разрывы.
YURAZ_MCCH
Индикатор рассчитывает % роста или падения относительно CLOSE, написан с применением ООП, и легко интегрируется в любой советник или иной индикатор.