Smart Market Structure Suite
- Indicadores
- Versión: 3.0
- Activaciones: 5
**Smart Market Structure Suite
Smart Market Structure Suite** es una utilidad de análisis técnico para MetaTrader 5 que integra cuatro motores estructurales distintos en un espacio de trabajo gráfico unificado. Mediante la combinación de pivotes estructurales alto-bajo, bloques de órdenes institucionales con giros de soporte-resistencia, zonas de oferta/demanda impulsadas por el impulso y niveles de oscilador a prueba de divergencias, esta utilidad ayuda a los operadores a identificar límites horizontales clave, huellas de flujo de órdenes y transiciones estructurales.
El motor se ha diseñado desde cero para un funcionamiento de terminal de alto rendimiento, utilizando técnicas de indexación de matrices localizadas y de conservación de estados para minimizar la huella de memoria y evitar el retraso habitual en los cálculos de terminal.
---
## Módulos analíticos básicos Motor de pivote alto-bajo (PivotsHL)
Detecta pivotes altos y bajos estructurales basados en la geometría localizada de los precios.
* Un modo opcional de confirmación anticipada verifica los pivotes estructurales antes de las retrospectivas estándar evaluando los cierres inmediatos de las velas en relación con las mechas de los pivotes candidatos.
**Visualización Dual:** Soporta tanto el etiquetado retroactivo (estilo TradingView) en la vela pivote exacta como el etiquetado de la barra de confirmación (no-repaint/leading) para guiar la ejecución en tiempo real.
* Canales de soporte y resistencia: Proyecta automáticamente zonas horizontales de pivote o líneas planas de soporte y resistencia a lo largo de la sesión de negociación activa.
### 2. ### 2. Leading Order Block & Breaker Engine Rastrea zonas de huella institucionales formadas por velas extremas que preceden a movimientos de ruptura estructural.
* **Arquitectura No-Lag:** Implementa un algoritmo de preservación de estados que guarda los estados históricos válidos al cierre de cada barra. Esto evita que las fluctuaciones dinámicas intra-bar causen retraso visual, congelación de gráficos o modificaciones históricas.
* **S/R Breaker Flips:** Los bloques de órdenes que se violan limpiamente en el cierre de una vela se recalculan automáticamente y se estilizan como "Bloques Breaker", identificando los clásicos volteos de Soporte/Resistencia.
* **Filtrado estricto de desequilibrios y falsificaciones:** Integra filtros estrictos que incluyen la validación de la Brecha de Valor Justo (FVG), requisitos de ruptura de la estructura de mercado cuerpo-cierre (para filtrar trampas de mecha) y métodos de selección de velas extremas.
* Proyecciones de niveles de negociación:** Proyecta líneas de entrada personalizadas (como el nivel de equilibrio del 50%) junto con líneas objetivo de riesgo-recompensa (SL y TP) calculadas dinámicamente a partir de límites estructurales.
### 3. Identifica zonas dinámicas de desequilibrio del mercado originadas por rupturas de alto momento (movimientos impulsivos).
* **Multiplicador de Fuerza de Impulso:** Calcula automáticamente el tamaño físico de las mechas de las velas de origen y requiere un múltiplo de expansión definido por el usuario antes de confirmar una zona.
* **Monitoreo de Mitigación en Tiempo Real:** Monitorea activamente los cierres de velas actuales. Si una zona de oferta se rompe al alza o una zona de demanda a la baja, la zona se marca como mitigada y se elimina limpiamente de la vista activa.
### 4. 4. Niveles Awesome S/R (Awesome Oscillator S/R) Genera niveles clave horizontales principales asignados a picos de oscilación de alta probabilidad dentro del Awesome Oscillator nativo de MetaTrader 5.
* **Filtro de Confirmación de Picos:** Analiza la geometría de picos AO de 3 o 5 barras, ignorando de forma segura las barras vivas no confirmadas.
* Seguimiento a prueba de divergencias: asigna los picos de impulso del oscilador confirmados directamente a sus correspondientes extremos de precios absolutos, garantizando que las proyecciones de S&R estén respaldadas por impresiones físicas de máximos y mínimos del mercado en lugar de sólo por el impulso.
## Optimizaciones técnicas clave
* **Minimized Terminal Requests:** Sustituye las pesadas llamadas a funciones de terminal (como `iHigh()` o `iLow()`) dentro de los bucles de cálculo con un mapeo de desplazamiento de matriz local altamente eficiente, reduciendo el uso de la CPU durante el análisis gráfico manual y las pruebas de estrategia.
* **Limpieza de memoria unificada:** Maneja limpiamente la inicialización, desinicialización y transiciones de sesiones diarias de los indicadores, asegurando que no queden gráficos fantasmas o fugas de memoria en el espacio de trabajo del gráfico.
## Lista de Parámetros de Entrada y Descripciones
### === 1. Pivote Alto/Bajo ===
* **Pivot High Left Length (`InpLeftLenH`):** El número de barras precedentes requeridas para establecer un pico alto de swing candidato. (Debe ser $\ge$ 1).
* **Pivot High Right Length (`InpRightLenH`):** El número de barras sucesivas necesarias para confirmar un swing high estándar. (Debe ser $\ge$ 1).
* **Pivot Low Left Length (`InpLeftLenL`):** El número de barras precedentes necesarias para establecer un valle bajo de swing candidato. (Debe ser $\ge$ 1).
* **Longitud de Pivote Bajo Derecho (`InpRightLenL`):** El número de barras siguientes requeridas para confirmar un swing bajo estándar. (Debe ser $\ge$ 1).
* Activar activación temprana (`InpUseEarlyTrigger`):** Activa el reconocimiento del pivote principal, confirmando el swing si se produce un cierre más allá del cuerpo de la barra candidata antes de que se complete toda la longitud derecha.
* Color del texto de pivote alto (`InpTextColorH`):** El color aplicado a la etiqueta de precio mostrada sobre los pivotes altos confirmados.
* **Pivot High Label/Arrow Color (`InpLabelColorH`):** El color del marcador de flecha visual descendente.
* **Pivot Low Text Color (`InpTextColorL`):** El color aplicado a la etiqueta de precio mostrada por debajo de los pivotes bajos confirmados.
* **Color de la etiqueta/flecha de pivote bajo (`InpLabelColorL`):** El color del marcador de flecha visual ascendente.
* **Mostrar etiquetas en barra pivote (`InpShowRetroactive`):** Dibuja las etiquetas visuales en la vela pivote histórica exacta.
* **Mostrar etiquetas en barra de confirmación (`InpShowConfirmation`):** Dibuja las etiquetas sin repintar en la vela de confirmación real.
**Tamaño de la fuente de la etiqueta (`InpFontSize`):** Establece el tamaño del texto para las etiquetas estructurales.
**Label Font Name (`InpFontName`):** Especifica la familia de fuentes utilizada para los objetos de texto.
* Mostrar líneas/cuadros de S&R (`InpShowSRLines`):** Activa la proyección de los canales o líneas horizontales de S&R que se originan en los pivotes activos.
* Color de la línea de resistencia (`InpSRColorH`):** Color visual de los niveles altos de S&R del pivote.
* Color de la línea de soporte (`InpSRColorL`):** El color visual para los niveles S&R de pivote bajo.
* **Ancho del borde de la línea/cuadro (`InpSRWidth`):** Establece el grosor del borde para los objetos S&R pivotantes.
* Estilo de línea (`InpSRStyle`):** Elige el estilo de trazado de las líneas de pivote proyectadas.
**Altura de la caja en puntos (`InpBoxHeightPoints`):** Define la altura de la caja de la zona S&R. Establecer a 0 para dibujar una línea plana limpia en lugar de una caja.
* **Rellenar Caja S&R (`InpFillBox`):** Rellena las cajas S&R dibujadas con color de fondo si la altura es mayor que 0.
### === 2. 2. Ajustes del Bloque de Orden Preliminar y Rompedor =====
* **Swing Length Lookback (`InpZigZagLength`):** El periodo de lookback usado por el algoritmo de swing para detectar pivotes de mercado.
* **Extender OBs en el futuro (`InpProjectBars`):** El número de barras para proyectar el bloque de orden activo y las cajas de breaker a la derecha.
* **Require Lower Low / Higher High (`InpStrictReversal`):** Restringe la generación de configuraciones a transiciones estrictas de la estructura del mercado.
* **Require Imbalance (`InpRequireImbalance`):** Garantiza que un Bloque de Órdenes sólo se valide si va acompañado de un Fair Value Gap (desequilibrio).
* **Require Body Close for MSB/BOS (`InpRequireBodyBreak`):** Evita trampas de mecha requiriendo un cierre de cuerpo de vela completo para confirmar rupturas de estructura.
* **Evita la superposición de OBs (`InpAvoidOverlap`):** Filtra los bloques de orden superpuestos redundantes para un diseño gráfico más limpio.
* **Método de selección de bloques de órdenes (`InpObMethod`):** Selecciona la vela opuesta *más cercana* o la vela *extrema* (máximo/mínimo) en el punto de oscilación.
* **Rango de la Caja del Bloque de la Orden (`InpObRange`):** Determina los límites de la caja horizontal (vela completa de máximo a mínimo, mecha abierta a extremo o sólo cuerpo).
* **Nivel de entrada % (`InpEntryLevelPercent`):** Calcula la colocación personalizada de la línea de entrada dentro de la caja (0% = Borde proximal, 50% = Umbral medio, 100% = Borde distal).
* Color de la línea de entrada (`InpEntryLineColor`):** Color de la línea discontinua de entrada personalizada.
* Mostrar líneas de riesgo:recompensa (`InpShowRR`):** Permite visualizar los niveles de Stop Loss y Take Profit.
* **Relación Riesgo-Recompensa (`InpRRRatio`):** Establece el multiplicador objetivo relativo al riesgo del bloque de órdenes definido.
* Color de la línea de toma de beneficios (`InpTPLineColor`):** Estilo de color para las líneas de toma de beneficios.
**Stop Loss Line Color (`InpSLLineColor`):** Color de estilo para líneas protectoras de stop-loss.
* Color de órdenes alcistas (`InpBuOBFillColor`):** Color para bloques de órdenes alcistas activas.
* Color OB bajista (`InpBeOBFillColor`):** Color para bloques de órdenes bajistas activas.
* Color aplicado cuando un bloque de orden bajista es violado y cambiado a ruptura alcista.
* Color aplicado cuando un bloque de orden alcista se rompe y se convierte en ruptura bajista.
### === 3. Zonas de Oferta y Demanda === * **Zonas Máximas (`InpMaxZones`):** Limita el número máximo de zonas de oferta y demanda activas dibujadas en el gráfico para gestionar la sobrecarga.
* **Fuerza del impulso (`InpImpulseStr`):** El requisito multiplicador que comprueba la velocidad de expansión fuera de una zona en relación con el tamaño del bloque de origen.
* **Mostrar línea del 50% (`InpShow50Line`):** Activa el dibujo de la línea mediana de equilibrio dentro de las zonas S&D.
* **Extender Zonas hacia el Futuro (`InpExtendBars`):** Proyecta el ancho en barras hacia el margen derecho.
* **Min Zone Size (`InpMinZonePoints`):** Filtra los niveles de ruido menores imponiendo una altura mínima en puntos para las zonas de S&D.
* Mostrar etiquetas de texto "Oferta/Demanda" (`InpShowLabels`):** Activa descripciones visuales de texto cerca de las zonas activas.
* Color de relleno de la demanda (`InpColorDemandFill`):** Color de relleno del rectángulo de demanda activa.
* Color de relleno de suministro (`InpColorSupplyFill`):** Color de relleno del rectángulo de suministro activo.
* Color de borde de zona (`InpColorBorder`):** Estilo de línea de borde para rectángulos de S&D.
**50% Color de línea (`InpColor50Line`):** Color visual para la línea de equilibrio opcional.
### === 4. Niveles S/R Impresionantes === * **S/R Historical Lookback (`InpAOLookback`):** Establece el límite de lookback en barras para escanear picos de osciladores estructurales (0 por defecto a la apertura de ayer).
* Barras de confirmación de picos (`InpAOPeakPeriod`):** Configura las comprobaciones de picos utilizando límites de confirmación de 3 o 5 barras.
* Color de soporte (`SupportColor`):** Color utilizado para las líneas horizontales de soporte proyectadas cuando el precio se mantiene por encima del nivel.
* Color de resistencia (`ResistanceColor`):** Color utilizado para las líneas horizontales de resistencia proyectadas cuando el precio permanece por debajo del nivel.
* **S/R Line Width (`LineWidth`):** Ajusta el grosor de los niveles clave AO.
* **S/R Line Style (`LineStyle`):** Estilo visual guion/sólido para las líneas horizontales AO.
