Isobar Event Shield
- Утилиты
-
Syarief Azman Bin Rosli
Здравствуйте и добро пожаловать в мой официальный профиль MQL5!
Меня зовут Шариф Азман Бин Росли (Syarief Azman Bin Rosli). Я разработчик алгоритмических торговых систем и количественный инженер с более чем десятилетним опытом создания надежных решений для MetaTrader 5 и MetaTrader 4. - Версия: 1.0
- Активации: 5
Isobar Event Shield защищает ваши сделки от экономических новостей в MetaTrader 5. Утилита читает встроенный в терминал экономический календарь, ведет обратный отсчет до каждой публикации, влияющей на ваши символы, и незадолго до выхода применяет выбранную защиту к позициям и отложенным ордерам, которые уже открыты вами или другими советниками. Собственных сделок она не открывает.
Быстрый старт
- Прикрепите утилиту к одному графику (одна копия на терминал) и включите Algo Trading на панели инструментов терминала.
- Базовая валюта и валюта котировки символа графика отслеживаются автоматически. Добавьте другие в Extra Currencies to Watch (например USD,EUR,JPY) и оставьте Protection Scope в режиме Linked, чтобы защитить все символы с этими валютами.
- Выберите Open Position Action и длительность окна (Window Opens и Window Closes, по умолчанию 15 и 10 минут).
- Оставьте панель на графике. При открытии окна защита срабатывает сама, а после закрытия припаркованные отложенные ордера выставляются снова.
- Для проверки введите ручное событие на несколько минут вперед по времени сервера, например 14:35 USD Test, и наблюдайте смену статуса на SHIELD ACTIVE.
Кнопки панели
- [-] / [+]: свернуть панель в небольшую плашку с обратным отсчетом или развернуть обратно.
- <>: переместить панель в следующий угол графика (верхний левый, верхний правый, нижний правый, нижний левый).
- SHIELD NOW: немедленно выполнить действие для позиций и припарковать отложенные ордера в текущей области (для Linked: все символы с отслеживаемой валютой). Припаркованные так ордера возвращаются после текущего или следующего окна, если оно начинается в пределах Threat Meter Horizon, иначе через Window Closes минут.
- FLATTEN SCOPE: закрыть все позиции в области. Первый клик взводит кнопку (появляется CONFIRM FLATTEN ?), второй клик в течение 4 секунд выполняет действие. Отложенные ордера не затрагиваются.
- AUTO ON / OFF: в режиме OFF утилита только наблюдает. Отсчеты и оповещения продолжаются, но при открытии окна позиции и ордера не меняются.
- IMPACT HIGH / MED+ / ALL: минимальная важность для радара, окон, оповещений, линий на графике и флагов блокировки.
- SYMBOL / LINKED / ACCOUNT: область защиты, описана ниже.
- HARD ON / OFF: жесткая блокировка, описана ниже. Работает независимо от AUTO.
Изменения кнопками действуют, пока утилита работает, в том числе после смены таймфрейма или символа. Изменение входных параметров или повторное прикрепление восстанавливает их значения.
Показатели панели
- Статус: ALL CLEAR (окон в ближайшее время нет), SHIELD ARMED (следующее окно начнется в пределах времени предупреждения), SHIELD ACTIVE (окно открыто), WINDOW OPEN (окно открыто при AUTO OFF), MONITOR ONLY (AUTO OFF), ALGO TRADING OFF (защита не может действовать, пока не включен Algo Trading), NO EVENT FEED (календарь недоступен и ручных событий нет), TESTER MODE. Индикатор и левая полоса окрашиваются в цвет статуса, индикатор мигает, пока окно открыто.
- Строка рядом со статусом: AUTO или MANUAL, действие для позиций и минуты окна, например 15/10m.
- Карточка NEXT RELEASE: валюта и название события, крупный отсчет (T- до публикации, T+ после нее), часы сервера, время окна и шкала THREAT, которая растет от 0% (до окна еще Threat Meter Horizon минут) до 100% (окно открыто).
- EVENT RADAR: пять ближайших публикаций. В каждой строке квадрат важности (красный высокая, янтарный средняя, серый низкая), день, время, валюта, название, значения (F прогноз, P предыдущее, A фактическое после выхода) и оставшееся время. LIVE означает, что окно открыто. В углу показан статус источника (CAL ONLINE и число событий, CAL ERROR и код ошибки или TESTER: MANUAL FEED) и фильтр важности.
- EXPOSURE: позиции, лоты, плавающая прибыль со свопом, отложенные и припаркованные ордера в текущей области и по фильтру magic, а также спред символа графика в пунктах. SPREAD LOAD сравнивает спред с его обычным уровнем, который определяется вне окон (x3.0 - в три раза выше нормы, BASE - обычный спред).
- Нижняя строка: последнее действие или оповещение.
- На графике: пунктирная вертикальная линия с названием у каждой будущей публикации и закрашенная зона ее окна (красная высокая, янтарная средняя, серая низкая). Перекрывающиеся надписи смещаются друг под друга, а при наведении на линию видно событие и его время.
Что происходит в окне
При открытии окна Open Position Action выполняется один раз для каждой публикации по всем позициям в области, подходящим под фильтр magic:
- Alert only (no position changes): без изменений.
- Lock winners at breakeven + buffer: у позиций с прибылью не менее Minimum Profit Before Breakeven Lock пунктов стоп-лосс переносится на цену входа плюс Breakeven Lock Buffer. Более выгодный существующий стоп сохраняется, уровни стопов и заморозки соблюдаются, убыточные позиции сохраняют свои стопы.
- Reduce exposure by %, then lock breakeven: закрывает Exposure Reduction процентов каждой позиции (с округлением вниз до шага объема; пропускается, если остаток станет меньше минимального лота) только один раз за окно, затем применяет безубыток.
- Bank positions that are in profit: закрывает позиции, у которых прибыль со свопом положительна.
- Close every position in scope: закрывает все позиции в области.
При включенном Park Pending Orders отложенные ордера в области снимаются и сохраняются со всеми параметрами. После окна они выставляются снова без изменений. Ордер отбрасывается с записью в журнал, если его цена была пройдена или срок истек во время окна. Если рынок закрыт, нет связи или выключен Algo Trading, попытка повторяется каждые 60 секунд. При выключенном Re-Arm Parked Orders снятые ордера удаляются окончательно. Припаркованные ордера сохраняются в MQL5\Files и выставляются снова, когда утилита после перезапуска прикрепляется к тому же символу.
Жесткая блокировка: пока окно открыто, каждая новая позиция по затронутому символу сразу закрывается (на неттинговых счетах только добавленный объем), а каждый новый отложенный ордер паркуется до конца окна. Это касается ручных сделок и других советников, подходящих под фильтр magic. Без нее позиции, открытые во время окна, не затрагиваются.
Оповещения отправляются перед каждой публикацией (Pre-Release Alert Lead), при срабатывании защиты, при открытии окна в режиме AUTO OFF, при отклонении нового входа и при повторной выставке припаркованных ордеров.
Область защиты
- Symbol: только символ графика.
- Linked: все символы, у которых базовая валюта или валюта котировки совпадает с валютой публикации.
- Account: все позиции и ордера на счете.
Magic Filter: -1 для всех сделок, 0 только для ручных сделок, любое другое значение - для советника с этим magic.
Ручные события
Вводите события через точку с запятой по времени сервера. Формат yyyy.mm.dd hh:mi CCY Label - на одну дату, hh:mi CCY Label - каждый день. CCY - трехбуквенный код валюты или ALL для всего счета. Ручные события всегда считаются высокой важности и являются единственным источником в тестере стратегий.
Пример: 2026.10.09 15:30 USD FOMC Minutes; 21:55 ALL Rollover
Пауза для ваших советников
Isobar публикует глобальные переменные терминала, которые может читать любой советник: ISOBAR_LOCK (1 во время любого окна), ISOBAR_LOCK_ плюс каждая отслеживаемая валюта (например ISOBAR_LOCK_USD), ISOBAR_LOCK_ плюс символ графика (например ISOBAR_LOCK_EURUSD) и ISOBAR_NEXT_SEC (секунды до следующей публикации, -1 если ее нет). Они удаляются при удалении утилиты. Добавьте эту строку перед логикой входа вашего советника:
if(GlobalVariableCheck("ISOBAR_LOCK") && GlobalVariableGet("ISOBAR_LOCK") > 0.5) return;
Типовые настройки
- Защита ручных сделок (по умолчанию): Lock winners at breakeven + buffer, Park Pending Orders включен, область Linked.
- Без открытых сделок вокруг важных новостей (например правило проп-фирмы): Window Opens 2, Window Closes 2, Close every position in scope, Hard Blackout включен, область Entire account.
- Пауза другого советника без изменения его сделок: Alert only (no position changes), Park Pending Orders выключен, чтение ISOBAR_LOCK в этом советнике.
- Половина риска по корзине: Reduce exposure by %, then lock breakeven, Exposure Reduction 50, Extra Currencies to Watch USD,EUR,GBP,JPY.
Входные параметры
Economic Calendar Radar
- Minimum Event Importance (High importance only): другие варианты - Moderate and high importance и All events.
- Extra Currencies to Watch (пусто): коды валют через запятую.
- Radar Lookahead (36): сколько часов вперед загружать, от 1 до 168.
- Calendar Refresh Interval (60): секунд между обновлениями календаря, минимум 15.
- Manual Events (пусто): см. раздел Ручные события.
Shield Window
- Window Opens (15) и Window Closes (10): минут до и после публикации, от 0 до 240.
- Auto-Execute Shield When Window Opens (true): начальное значение кнопки AUTO.
- Protection Scope (Every symbol sharing the event currency): начальное значение кнопки области. Другие варианты - Chart symbol only и Entire account.
- Magic Filter (-1).
Shield Policy
- Open Position Action (Lock winners at breakeven + buffer).
- Breakeven Lock Buffer (20) и Minimum Profit Before Breakeven Lock (50): в пунктах.
- Exposure Reduction (50): процент объема, закрываемый при сокращении.
- Park Pending Orders During Window (true) и Re-Arm Parked Orders After Window (true).
- Hard Blackout: Reject New Entries In Window (false): начальное значение кнопки HARD.
- Max Slippage for Closes (30): в пунктах.
Alerts
- Pre-Release Alert Lead (30): минут до публикации, 0 отключает.
- Terminal Pop-Up Alerts (true), Sound Alerts (true), Push Notifications to Mobile (false; нужен MetaQuotes ID в настройках уведомлений терминала).
Cockpit & Chart Overlays
- Cockpit Dock Position (Top left), Horizontal Margin (16) и Vertical Margin (28): положение панели в пикселях.
- Threat Meter Horizon (120): минуты для шкалы THREAT и для парковки через SHIELD NOW.
- Draw Release Lines & Blackout Zones (true) и Max Events Drawn On Chart (6).
- Publish Lock Flags as Global Variables (true).
Примечания
- Работает на хеджинговых и неттинговых счетах и на любых символах, валюты которых есть в календаре (форекс, металлы, индексы, энергоносители).
- Каждый запрос проверяется на уровни стопов и заморозки, ограничения объема и OrderCheck перед отправкой. DLL и веб-запросы не используются, все объекты удаляются вместе с утилитой.
Предупреждение о рисках
Isobar Event Shield - инструмент управления рисками. Он не может предотвратить проскальзывание, гэпы или расширение спреда во время новостей и не гарантирует прибыль или отсутствие убытков. Проверьте настройки на демо-счете перед использованием на реальном счете.
