TriZone Semafor Pro
- Индикаторы
-
Ahmed Hamed Hamed Eadwan
RUSSIAN TRANSLATION — РУССКИЙ
================================
TITLE:
MQL5 Разработчик и Трейдер | Основатель R protocols
ABOUT:
Здравствуйте, я Ахмед — трейдер и разработчик MQL5 из
Объединенных Арабских Эмиратов, основатель R protocols. - Версия: 1.0
- Активации: 5
Если вам требуется многоуровневое определение разворотных точек институционального уровня в сочетании с автоматическим анализом структуры рынка, зонами слияния спроса и предложения, аналитической панелью в реальном времени и интеграцией для автоматизации экспертов (EA), TriZone Semafor Pro — это флагманское решение для вашего терминала MetaTrader 5.
Ключевые возможности версии Pro
Основанный на эксклюзивном 3-уровневом движке ZigZag (Быстрый период 5, Средний период 13, Медленный период 34), TriZone Semafor Pro строит подтвержденные точки разворота на трех независимых таймфреймах со строгим правилом исключительного приоритета (Уровень 3 перекрывает Уровень 2, Уровень 2 перекрывает Уровень 1).
- ATR-Адаптивное отклонение: Динамическая фильтрация разворотов на основе ATR автоматически адаптируется к рыночной волатильности вместо жестких фиксированных пунктов. Ручной режим фиксированных пунктов также доступен.
- Движок структуры рынка: Автоматическое определение в реальном времени пробоев структуры BOS (Break of Structure) и смены характера рынка CHoCH (Change of Character) для каждого уровня, а также метки максимумов и минимумов (HH / HL / LH / LL).
- Зоны слияния спроса и предложения (Supply & Demand): Институциональные блоки ордеров, автоматически отрисовываемые в местах совпадения нескольких уровней ZigZag, со градацией силы (L1, L2+L3, L1+L2+L3) и логикой пробоя и смены полярности.
- Лучи поддержки и сопротивления: Динамические горизонтальные лучи от подтвержденных разворотов, стилизованные в соответствии со структурным уровнем.
- Исключительный приоритет сигналов: Самый высокий уровень всегда имеет приоритет на каждой свече. Никакого наложения или двойного учета — только одна чистая стрелка для каждого направления.
- Панель аналитики на графике в реальном времени: Отображает текущую многоуровневую статистику рынка, активный уровень сигнала, текущую зону, структурное событие, тренд по уровням и статус системы.
- Полный набор уведомлений: Всплывающие окна (Popup), Push-уведомления на мобильный, Email и звуковые сигналы — отправляются строго один раз для каждого нового подтвержденного разворота.
- Режим 100% Anti-Repaint (без перерисовки): Сигналы публикуются только после закрытия окна подтверждения. Стрелки следуют тому же строгому стандарту без перерисовки, что и буфер для EA.
- Буфер автоматизации для EA (Buffer 6): Специализированный буфер силы сигнала для экспертов (+1.0 = ПОКУПКА, -1.0 = ПРОДАЖА, 0.0 = Нейтрально) для интеграции через один вызов iCustom .
- Безопасность при нескольких копиях: Уникальные пространства имен объектов, защита от конфликтов и автоматическая очистка графических объектов и глобальных переменных терминала.
- Нуль внешних зависимостей: Нативный код MetaTrader 5, работает на любых символах и таймфреймах, без импорта DLL.
Официальные ссылки и документация
Руководство пользователя и инструкция: https://www.mql5.com/en/blogs/post/773880
Официальный канал MQL5: https://www.mql5.com/en/channels/rprotocols
Режим без перерисовки и контракт для EA (Buffer 6)
Буфер 6 передает многоуровневую силу сигнала для автоматических торговых роботов (+1.0 = ПОКУПКА, -1.0 = ПРОДАЖА, 0.0 = нейтрально/конфликт):
- Градация эксклюзивности: Буфер 6 отражает иерархию после обработки приоритетов (L3 > L2 > L1).
- Контракт сдвига без перерисовки: При включенном режиме Anti-Repaint значения, прочитанные на безопасном сдвиге, являются окончательными. Точный минимальный безопасный сдвиг доступен через глобальную переменную ( TZP_<Hash8>_MinShift ).
Прозрачность и производительность
- Оптимизация в тестере: Уведомления автоматически отключаются во время оптимизации в тестере стратегий.
- Режим Headless: Включение HeadlessMode = 1 внутри EA отключает отрисовку визуальной панели для максимальной скорости выполнения.
- Очистка глобальных переменных: Оставшиеся глобальные переменные автоматически очищаются при запуске и удалении индикатора.
Если TriZone Semafor Pro помогает вам в торговле, пожалуйста, оставьте честный отзыв и оценку. Спасибо за вашу поддержку!
Справочная таблица iCustom — Выходные буферы
| Индекс буфера | Сигнал | Описание |
|---|---|---|
| 0 (BufLow1) | ПОКУПКА | Цена минимума Уровня 1 — Быстрый ZigZag |
| 1 (BufHigh1) | ПРОДАЖА | Цена максимума Уровня 1 — Быстрый ZigZag |
| 2 (BufLow2) | ПОКУПКА | Цена минимума Уровня 2 — Средний ZigZag |
| 3 (BufHigh2) | ПРОДАЖА | Цена максимума Уровня 2 — Средний ZigZag |
| 4 (BufLow3) | ПОКУПКА | Цена минимума Уровня 3 — Медленный ZigZag |
| 5 (BufHigh3) | ПРОДАЖА | Цена максимума Уровня 3 — Медленный ZigZag |
| 6 (BufSignal) | ПОКУПКА / ПРОДАЖА | Сила сигнала для EA: +1/+2/+3 для ПОКУПКИ (L1/L2/L3), -1/-2/-3 для ПРОДАЖИ (L1/L2/L3), 0 = Нет |
Пример кода iCustom
Имя файла: "TriZone_Semafor_Pro" (без расширения .ex5). Всегда устанавливайте HeadlessMode = 1 внутри экспертов.
//+------------------------------------------------------------------+ //| iCustom handle — TriZone_Semafor_Pro v1.0 | //+------------------------------------------------------------------+ int g_tzsHandle = INVALID_HANDLE; int OnInit() { g_tzsHandle = iCustom( _Symbol, PERIOD_CURRENT, "TriZone_Semafor_Pro", // Level 1: Fast 5, 1, 3, 159, 159, 2, // Level 2: Medium 13, 8, 5, 108, 108, 3, // Level 3: Slow 34, 21, 12, 108, 108, 4, // Instance "EA1", 0, 1, // Anti-Repaint 1, 0, // Alerts & Dashboard 0, 0, 0, 0, 0, "alert.wav", 0, 20, 30, clrDodgerBlue, clrOrangeRed, C'20,20,30', 9 ); if(g_tzsHandle == INVALID_HANDLE) { PrintFormat("[EA] TriZone_Semafor_Pro handle failed: err=%d", GetLastError()); return INIT_FAILED; } return INIT_SUCCEEDED; } void OnTick() { int safeShift = 4; double sigBuf[1]; if(CopyBuffer(g_tzsHandle, 6, safeShift, 1, sigBuf) != 1) return; int sigValue = (int)sigBuf[0]; if(sigValue > 0) { PrintFormat("ПОКУПКА Сигнал обнаружен! Уровень %d на сдвиге %d", sigValue, safeShift); } else if(sigValue < 0) { PrintFormat("ПРОДАЖА Сигнал обнаружен! Уровень %d на сдвиге %d", MathAbs(sigValue), safeShift); } } void OnDeinit(const int reason) { if(g_tzsHandle != INVALID_HANDLE) { IndicatorRelease(g_tzsHandle); g_tzsHandle = INVALID_HANDLE; } }
Автоматическое определение MinShift через глобальную переменную для EA
Индикатор предоставляет минимальный безопасный сдвиг для чтения через глобальную переменную:
// EA: Автоматическое определение безопасного сдвига через глобальную переменную int GetMinShift(string instanceID) { string hash = HashToHex8(instanceID); string gvName = "TZP_" + hash + "_MinShift"; if(GlobalVariableCheck(gvName)) return (int)GlobalVariableGet(gvName); return 4; // значение по умолчанию }

