TriZone Semafor MT4

TriZone Semafor — ZigZag de señales exclusivas de 3 niveles (Autónomo — ZigZag integrado, sin indicadores externos)

Si alguna vez has mirado un gráfico lleno de flechas ZigZag preguntándote cuáles importan realmente — este indicador fue creado para esa frustración.

TriZone Semafor ejecuta tres algoritmos ZigZag independientes simultáneamente: Rápido (Periodo 5), Medio (Periodo 13) y Lento (Periodo 34). Cuando detectan pivotes en la misma vela, solo la señal más significativa sobrevive. El Nivel 3 siempre prevalece sobre el Nivel 2. El Nivel 2 siempre prevalece sobre el Nivel 1. Una flecha limpia por vela por dirección — sin superposición, sin doble conteo.

Por qué tres niveles en lugar de uno

Un solo ZigZag trata todos los movimientos por igual. El mismo indicador marca un retroceso de dos velas y una reversión de tendencia mayor con flechas idénticas. TriZone clasifica cada pivote por su importancia para que leas la jerarquía del gráfico de un vistazo.

  • Nivel 1 — Rápido: Pequeños retrocesos y pivotes menores. La estructura debajo de la estructura.
  • Nivel 2 — Medio: Movimientos intradía y reacciones significativas. Los pivotes a los que hace referencia tu diario de trading.
  • Nivel 3 — Lento: Giros estructurales mayores. Los puntos donde la continuación de la tendencia está realmente en cuestión.

Cada nivel tiene su propia forma y color de flecha para que veas la jerarquía al instante, sin consultar una leyenda.

Sistema de señales exclusivas

Cada vela pasa por una regla: si un nivel superior reclama un pivote en esa vela, todas las reclamaciones de niveles inferiores se eliminan — no se ocultan, se eliminan. Esto ocurre dentro del buffer del indicador antes de que algo llegue al gráfico. El gráfico refleja el estado real, no una superposición en capas.

Modo anti-repaint

Con AntiRepaint = ON, una señal solo se dibuja después de que haya pasado el número configurado de barras de confirmación. La flecha que ves ya ha pasado su ventana de estabilidad y no se moverá. El indicador muestra el modo actual y la profundidad de confirmación en la barra de título del gráfico — transparencia total sobre lo que estás leyendo.

Con AntiRepaint = OFF, las señales aparecen inmediatamente en la vela en formación. Útil para referencia visual. No recomendado para lógica automatizada.

Sistema de alertas

Las alertas se ponen en cola durante el cálculo y se entregan solo después de que el pase de exclusividad confirme que la señal sobrevivió. Nunca recibirás un popup por una señal de Nivel 1 anulada por el Nivel 3 un momento después. Un pivote confirmado — una alerta. Configurable por nivel de forma independiente.

Qué incluye

  • Tres niveles de detección ZigZag con parámetros totalmente independientes
  • Prioridad de señal exclusiva a nivel de buffer — el nivel más alto gana por vela
  • Alertas popup solo en pivotes confirmados — sin alertas fantasma
  • Modo anti-repaint con barras de confirmación configurables por nivel
  • Cualquier símbolo, cualquier temporalidad — MetaTrader 4
  • Archivo único — cero dependencias externas, sin DLL, sin includes personalizados

Punto de partida recomendado

Abre H1 o H4 con los parámetros predeterminados. Las profundidades por defecto 5 / 13 / 34 siguen la secuencia Fibonacci estándar — un ajuste natural para la mayoría de instrumentos y temporalidades.

Los pivotes de Nivel 3 son tu referencia estructural. Los de Nivel 2 son tus puntos de referencia intradía. El Nivel 1 muestra la estructura menor intermedia. Ajusta la profundidad (Period) y las barras de confirmación (ConfirmBars) para adaptarlas a tu estilo.

Compatibilidad

MetaTrader 4 — cualquier broker, cualquier símbolo, cualquier temporalidad. Sin librerías externas. Sin importaciones DLL. Archivo .ex4 único, totalmente autónomo.

Referencia iCustom — TriZone_Semafor

Buffers de salida

La exclusividad ya está aplicada por el indicador.
Solo el nivel activo más alto está no vacío por vela.
EMPTY_VALUE = sin pivote en esa barra/nivel.
Con AntiRepaint ON, leer en shift >= max(ConfirmBars1, ConfirmBars2, ConfirmBars3) — predeterminado: shift >= 4.

Buffer Índice Señal Contenido
BufLow1 0 BUY Precio pivote Bajo Nivel 1 — ZigZag Rápido
BufHigh1 1 SELL Precio pivote Alto Nivel 1 — ZigZag Rápido
BufLow2 2 BUY Precio pivote Bajo Nivel 2 — ZigZag Medio
BufHigh2 3 SELL Precio pivote Alto Nivel 2 — ZigZag Medio
BufLow3 4 BUY Precio pivote Bajo Nivel 3 — ZigZag Lento
BufHigh3 5 SELL Precio pivote Alto Nivel 3 — ZigZag Lento

Parámetros de entrada

# = posición en la llamada iCustom() (basado en 0, después de Symbol / Period / FileName)
En MT4, TODOS los parámetros deben pasarse en orden. No puedes omitir parámetros intermedios.
Los parámetros finales pueden omitirse (se usan los predeterminados).

# Nombre Tipo Predet. Rango Descripción
NIVEL 1 — ZigZag Rápido
0 ColorL1Low color clrAqua color Color de flecha para Bajos Nivel 1
1 ColorL1High color clrMagenta color Color de flecha para Altos Nivel 1
2 Period1 int 5 2-500 Profundidad de pivote (barras)
3 Deviation1 int 1 1-100000 Desviación mínima en puntos
4 Backstep1 int 3 1-(P-1) Barras mín entre pivotes consecutivos
5 HighSymbol1 int 159 Wingdings Flecha para Altos (159=punto, 108=círculo, 116=diamante)
6 LowSymbol1 int 159 Wingdings Flecha para Bajos
7 ConfirmBars1 int 2 1-50 Barras de confirmación
NIVEL 2 — ZigZag Medio
8 ColorL2Low color clrDodgerBlue color Color de flecha para Bajos Nivel 2
9 ColorL2High color clrOrchid color Color de flecha para Altos Nivel 2
10 Period2 int 13 2-500 Profundidad de pivote
11 Deviation2 int 8 1-100000 Desviación mínima en puntos
12 Backstep2 int 5 1-(P-1) Barras mín entre pivotes consecutivos
13 HighSymbol2 int 108 Wingdings Flecha para Altos
14 LowSymbol2 int 108 Wingdings Flecha para Bajos
15 ConfirmBars2 int 3 1-50 Barras de confirmación
NIVEL 3 — ZigZag Lento
16 ColorL3Low color clrGold color Color de flecha para Bajos Nivel 3
17 ColorL3High color clrOrangeRed color Color de flecha para Altos Nivel 3
18 Period3 int 34 2-500 Profundidad de pivote
19 Deviation3 int 21 1-100000 Desviación mínima en puntos
20 Backstep3 int 12 1-(P-1) Barras mín entre pivotes consecutivos
21 HighSymbol3 int 116 Wingdings Flecha para Altos (116=diamante)
22 LowSymbol3 int 116 Wingdings Flecha para Bajos
23 ConfirmBars3 int 4 1-50 Barras de confirmación
GESTIÓN DE INSTANCIA
24 InstanceID string "A" cualquiera Etiqueta única — debe diferir de cualquier copia visible
25 DebugMode ENUM_ONOFF OFF (0) 0 / 1 Imprimir diagnósticos en el Journal
26 HeadlessMode ENUM_ONOFF OFF (0) 0 / 1 Establecer ON al usar via iCustom — suprime UI y alertas
ANTI-REPAINT
27 AntiRepaint ENUM_ONOFF ON (1) 0 / 1 ON = solo señales confirmadas — requerido para EA estable
28 SafeArrows ENUM_ONOFF OFF (0) 0 / 1 ON = flechas usan shift retroactivo seguro (más estricto)
SISTEMA DE ALERTAS
29 AlertMode ENUM_ALERT_MODE 1 (Popup) 0-3 0=Ninguna 1=Popup 2=Push 3=Todo — establecer 0 en EA
30 AlertLevel1 ENUM_ONOFF OFF (0) 0 / 1 Alerta en pivotes Nivel 1
31 AlertLevel2 ENUM_ONOFF ON (1) 0 / 1 Alerta en pivotes Nivel 2
32 AlertLevel3 ENUM_ONOFF ON (1) 0 / 1 Alerta en pivotes Nivel 3

Total: 33 parámetros (índices 0-32)

Ejemplo de código iCustom

Nombre del archivo: "TriZone_Semafor" (sin .ex4) — Siempre establecer HeadlessMode = true dentro de cualquier EA.
En MT4, iCustom devuelve un double directamente para un índice de buffer y shift específicos.
Sin gestión de handles, sin CopyBuffer, sin IndicatorRelease.

// Firma de iCustom en MT4:
// double iCustom(symbol, timeframe, "name", params..., bufferIndex, shift)
// Envolvemos en una función helper para código EA más limpio.

double TZS_GetBuffer(int bufferIndex, int shift)
{
   return iCustom(
      Symbol(),          // símbolo
      Period(),          // temporalidad
      "TriZone_Semafor",  // nombre exacto, sin .ex4
      // ---- Nivel 1: Rápido ----
      clrAqua,            // #0  ColorL1Low
      clrMagenta,        // #1  ColorL1High
      5,                // #2  Period1
      1,                // #3  Deviation1
      3,                // #4  Backstep1
      159,              // #5  HighSymbol1 (punto)
      159,              // #6  LowSymbol1 (punto)
      2,                // #7  ConfirmBars1
      // ---- Nivel 2: Medio ----
      clrDodgerBlue,     // #8  ColorL2Low
      clrOrchid,        // #9  ColorL2High
      13,              // #10 Period2
      8,                // #11 Deviation2
      5,                // #12 Backstep2
      108,              // #13 HighSymbol2 (círculo)
      108,              // #14 LowSymbol2 (círculo)
      3,                // #15 ConfirmBars2
      // ---- Nivel 3: Lento ----
      clrGold,          // #16 ColorL3Low
      clrOrangeRed,     // #17 ColorL3High
      34,              // #18 Period3
      21,              // #19 Deviation3
      12,              // #20 Backstep3
      116,              // #21 HighSymbol3 (diamante)
      116,              // #22 LowSymbol3 (diamante)
      4,                // #23 ConfirmBars3
      // ---- Instancia ----
      "EA1",           // #24 InstanceID — debe diferir de copia en gráfico
      false,            // #25 DebugMode = OFF
      true,            // #26 HeadlessMode = ON <- requerido para EA
      // ---- Anti-Repaint ----
      true,            // #27 AntiRepaint = ON (señales EA estables)
      false,            // #28 SafeArrows = OFF
      // ---- Alertas: todas OFF en EA ----
      0,                // #29 AlertMode = ALERT_NONE
      false,            // #30 AlertLevel1
      false,            // #31 AlertLevel2
      false,            // #32 AlertLevel3
      // ---- Buffer + Shift ----
      bufferIndex,       // índice de buffer (0-5)
      shift              // shift de barra
   );
}

// Lectura de buffers en shift confirmado

void OnTick()
{
   int safeShift = 4;
   double lo1 = TZS_GetBuffer(0, safeShift);  // BufLow1 — Nivel 1 BUY
   double hi1 = TZS_GetBuffer(1, safeShift);  // BufHigh1 — Nivel 1 SELL
   double lo2 = TZS_GetBuffer(2, safeShift);  // BufLow2 — Nivel 2 BUY
   double hi2 = TZS_GetBuffer(3, safeShift);  // BufHigh2 — Nivel 2 SELL
   double lo3 = TZS_GetBuffer(4, safeShift);  // BufLow3 — Nivel 3 BUY
   double hi3 = TZS_GetBuffer(5, safeShift);  // BufHigh3 — Nivel 3 SELL
   double ev = EMPTY_VALUE;
   int buyLevel = (lo3 != ev) ? 3 : (lo2 != ev) ? 2 : (lo1 != ev) ? 1 : 0;
   int sellLevel = (hi3 != ev) ? 3 : (hi2 != ev) ? 2 : (hi1 != ev) ? 1 : 0;
   if(buyLevel > 0 && sellLevel == 0)
      PrintFormat("BUY signal | Level %d | shift %d", buyLevel, safeShift);
   else if(sellLevel > 0 && buyLevel == 0)
      PrintFormat("SELL signal | Level %d | shift %d", sellLevel, safeShift);
}

// OnDeinit — Sin limpieza de handle en MT4
void OnDeinit(const int reason)
{
   // MT4 no usa handles de indicador — nada que liberar.
   // Las llamadas iCustom son stateless por invocación.
}

Errores comunes

La causa más común de INIT_PARAMETERS_INCORRECT: InstanceID ya está en uso por una copia en gráfico del mismo indicador. Usa una cadena única como "EA1", "EA2" ...

Error Síntoma Solución
Mismo InstanceID que copia en gráfico INIT_PARAMETERS_INCORRECT ID único: "EA1", "EA2" ...
HeadlessMode = false en EA Indicador dibuja objetos + alertas Establecer parámetro #26 a true
Leer shift = 0 con AntiRepaint EMPTY_VALUE siempre — barra no confirmada Leer en shift >= 4
AlertMode != 0 en EA Alert() bloquea el Tester Establecer parámetro #29 a 0
Nombre de archivo incorrecto Devuelve 0 / EMPTY_VALUE Usar nombre exacto: "TriZone_Semafor"
Parámetros de color omitidos Valores de buffer incorrectos o 0 Pasar TODOS los 33 parámetros en orden
Orden de parámetros incorrecto Señales incorrectas o ninguna Seguir la tabla exactamente (0-32)
Otros productos de este autor
TriZone Semafor Pro
Ahmed Hamed Hamed Eadwan
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
TriZone Semafor
Ahmed Hamed Hamed Eadwan
5 (1)
Si alguna vez has mirado un gráfico cubierto de flechas ZigZag y te has preguntado cuáles realmente importan — este indicador fue creado para esa frustración. TriZone Semafor ejecuta tres algoritmos ZigZag independientes simultáneamente: Rapido (Period 5), Medio (Period 13) y Lento (Period 34). Cuando detectan pivotes en la misma vela, solo sobrevive la senal mas significativa. El nivel 3 siempre anula al nivel 2. El nivel 2 siempre anula al nivel 1. Una flecha limpia por vela y direccion — sin
FREE
VWAP Suite Pro
Ahmed Hamed Hamed Eadwan
5 (1)
La mayoria de los indicadores VWAP dan una sola linea que se reinicia a medianoche. Eso funciona bien para configuraciones simples, pero falla en el momento en que quieres comparar como se comporta el precio en relacion con la apertura de Londres frente a la de Nueva York, o cuando quieres anclar un VWAP a un swing high especifico de hace tres semanas y mantenerlo en pantalla mientras observas los niveles diarios y semanales. Segui anadiendo indicadores separados para resolver cada una de estas
TriZone Semafor Plus
Ahmed Hamed Hamed Eadwan
Si necesita una detección de puntos pivote estructurada y multinivel combinada con análisis de panel en tiempo real, notificaciones Push móviles e integración de automatización EA — TriZone Semafor Plus está diseñado específicamente para su flujo de trabajo. iCustom Reference — TriZone_Semafor_Plus Búferes de Salida (Buffers): Búfer Índice Señal Contenido BufLow1 0 BUY Precio pivote Alcista Nivel 1 — ZigZag Rápido BufHigh1 1 SELL Precio pivote Bajista Nivel 1 — ZigZag Rápido BufLow2 2 BUY Precio
Filtro:
No hay comentarios
Respuesta al comentario