TriZone Semafor Pro
- Indicadores
-
Ahmed Hamed Hamed Eadwan
SPANISH TRANSLATION — ESPAÑOL
===============================
TITLE:
Desarrollador MQL5 y Trader | Fundador de R protocols
ABOUT:
Hola, soy Ahmed — un trader y desarrollador MQL5 basado en
los Emiratos Árabes Unidos, y fundador de R protocols. - Versión: 1.0
- Activaciones: 5
Si necesita detección de pivotes multinivel de nivel institucional combinada con análisis automatizado de la Estructura del Mercado, zonas de confluencia de Oferta y Demanda, panel analítico en tiempo real e integración para automatización por EA, TriZone Semafor Pro es la solución insignia para su terminal MetaTrader 5.
Características Principales de la Versión Pro
Basado en el exclusivo motor ZigZag de 3 niveles (Período Rápido 5, Período Medio 13, Período Lento 34), TriZone Semafor Pro traza puntos de giro confirmados en tres marcos temporales independientes con una estricta prioridad exclusiva (el Nivel 3 prevalece sobre el Nivel 2, el Nivel 2 prevalece sobre el Nivel 1).
- Desviación Adaptativa por ATR: El filtrado dinámico de pivotes basado en ATR se ajusta automáticamente a la volatilidad del mercado en lugar de puntos fijos rígidos. El modo manual de puntos fijos permanece disponible.
- Motor de Estructura del Mercado: Detección automatizada en tiempo real de BOS (Ruptura de Estructura) y CHoCH (Cambio de Carácter) por nivel temporal, junto con etiquetas de máximos y mínimos (HH / HL / LH / LL).
- Zonas de Confluencia de Oferta y Demanda: Bloques de órdenes institucionales dibujados automáticamente donde múltiples niveles coinciden, con clasificación de fuerza (L1, L2+L3, L1+L2+L3) y lógica de ruptura e inversión de polaridad.
- Rayos de Soporte y Resistencia: Rayos horizontales dinámicos extendidos desde máximos y mínimos confirmados, estilizados según el nivel estructural.
- Prioridad Exclusiva de Señal: El nivel más alto siempre prevalece por vela. Sin acumulación ni señales duplicadas — solo una flecha limpia por dirección.
- Panel Analítico en el Gráfico: Muestra estadísticas multinivel en tiempo real, nivel de señal activo, zona actual, evento de estructura, tendencia por nivel y estado del sistema.
- Suite Completa de Notificaciones: Alertas Popup, Notificaciones Push móviles, Correo electrónico y Alertas sonoras — emitidas una sola vez por pivote recién confirmado.
- Modo 100% Anti-Repaint: Las señales se publican únicamente tras el cierre de la ventana de confirmación. Las flechas siguen exactamente el mismo estándar estricto sin repintado que el buffer del EA.
- Buffer de Automatización para EA (Buffer 6): Ofrece un buffer especializado de fuerza de señal (+1.0 = COMPRA, -1.0 = VENTA, 0.0 = Neutral) para integración en una sola llamada iCustom .
- Seguro para Múltiples Instancias: Espacios de nombres de objetos únicos, protección contra colisiones y limpieza automática de objetos gráficos y variables globales.
- Cero Dependencias Externas: Código nativo de MetaTrader 5, funciona en cualquier activo y marco temporal, sin importación de DLLs.
Enlaces Oficiales y Documentación
Manual del Usuario y Guía de Configuración: https://www.mql5.com/en/blogs/post/773880
Canal Oficial MQL5: https://www.mql5.com/en/channels/rprotocols
Contrato Anti-Repaint y EA (Buffer 6)
El Buffer 6 proporciona la fuerza de la señal multinivel para EAs (+1.0 = COMPRA, -1.0 = VENTA, 0.0 = neutral/conflicto):
- Grado de Exclusividad: El Buffer 6 refleja la jerarquía tras la exclusividad (L3 > L2 > L1).
- Contrato de Desplazamiento Sin Repintado: Con el Anti-Repaint ACTIVADO, los valores leídos en el desplazamiento seguro son finales. El desplazamiento mínimo seguro se expone mediante Variable Global ( TZP_<Hash8>_MinShift ).
Transparencia y Rendimiento
- Optimización en el Tester: Las alertas se desactivan automáticamente durante las optimizaciones en el Probador de Estrategias.
- Modo Headless: Activar HeadlessMode = 1 en el EA oculta elementos visuales del panel para máxima velocidad de ejecución.
- Limpieza de Variables Globales: Las variables globales remanentes se limpian automáticamente al iniciar y eliminar.
Si TriZone Semafor Pro le resulta útil para su trading, considere dejar una valoración y reseña honesta. ¡Gracias por su apoyo!
Tabla de Referencia iCustom — Buffers de Salida
| Índice del Buffer | Señal | Descripción |
|---|---|---|
| 0 (BufLow1) | COMPRA | Precio del mínimo Nivel 1 — ZigZag Rápido |
| 1 (BufHigh1) | VENTA | Precio del máximo Nivel 1 — ZigZag Rápido |
| 2 (BufLow2) | COMPRA | Precio del mínimo Nivel 2 — ZigZag Medio |
| 3 (BufHigh2) | VENTA | Precio del máximo Nivel 2 — ZigZag Medio |
| 4 (BufLow3) | COMPRA | Precio del mínimo Nivel 3 — ZigZag Lento |
| 5 (BufHigh3) | VENTA | Precio del máximo Nivel 3 — ZigZag Lento |
| 6 (BufSignal) | COMPRA / VENTA | Fuerza de la Señal para EA: +1/+2/+3 para COMPRA (L1/L2/L3), -1/-2/-3 para VENTA (L1/L2/L3), 0 = Ninguno |
Ejemplo de Código iCustom
Nombre del archivo: "TriZone_Semafor_Pro" (sin extensión .ex5). Establezca siempre HeadlessMode = 1 dentro de Expert Advisors.
//+------------------------------------------------------------------+ //| 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("COMPRA Señal Detectada! Nivel %d en shift %d", sigValue, safeShift); } else if(sigValue < 0) { PrintFormat("VENTA Señal Detectada! Nivel %d en shift %d", MathAbs(sigValue), safeShift); } } void OnDeinit(const int reason) { if(g_tzsHandle != INVALID_HANDLE) { IndicatorRelease(g_tzsHandle); g_tzsHandle = INVALID_HANDLE; } }
Detección Automática del MinShift vía Variable Global para EA
El indicador expone su desplazamiento mínimo de lectura seguro mediante una Variable Global para EAs:
// EA: Detección automática del shift seguro vía Variable Global int GetMinShift(string instanceID) { string hash = HashToHex8(instanceID); string gvName = "TZP_" + hash + "_MinShift"; if(GlobalVariableCheck(gvName)) return (int)GlobalVariableGet(gvName); return 4; // valor por defecto }

