Mira cómo descargar robots gratis
¡Búscanos en Twitter!
Pon "Me gusta" y sigue las noticias
¿Es interesante este script?
Deje un enlace a él, ¡qué los demás también lo valoren!
¿Le ha gustado el script?
Evalúe su trabajo en el terminal MetaTrader 5
Indicadores

Estructura del mercado a partir de las oscilaciones de retroceso — BOS, CHoCH, IDM - indicador para MetaTrader 5

Sandro Begashvili
Sandro Begashvili
Sandro Begashvili - desarrollador de MQL5, MQL4, Python y Pine Script
Desarrollo programas de trading para MetaTrader 4 y MetaTrader 5: asesores expertos, indicadores personalizados y paneles gráficos de trading. Descríbame su idea y la convertiré en código funcional y documentado.
| Spanish English Русский 中文 Deutsch 日本語 Português 한국어 Français Italiano Türkçe
Visualizaciones:
15
Ranking:
(1)
Publicado:
MQL5 Freelance ¿Necesita un robot o indicador basado en este código? Solicítelo en la bolsa freelance Pasar a la bolsa



Mi anterior entrada en CodeBase, «Indicador de retroceso SMC», respondía a una pregunta: ¿qué máximos y mínimos son realmente importantes? Se detuvo ahí deliberadamente, y la descripción lo dejaba claro: sin etiquetas HH/HL, sin BoS, sin CHoCH, sin IDM. Esos son pasos independientes que requieren primero un conjunto fiable de oscilaciones.

Este indicador es ese siguiente paso. Marca la estructura del mercado tal y como la describe Smart Money Concepts (SMC), y utiliza el mismo detector de retrocesos —la clase se incluye aquí sin modificaciones, por lo que el archivo es independiente y no requiere instalación de dependencias— y construye la estructura del mercado a partir de ahí: una tendencia, un máximo actual, un mínimo actual y los cuatro eventos que los mueven. BoS, CHoCH, IDM y el barrido de liquidez marcado con una «x».


Lo que ves en el gráfico

Elemento Apariencia Significado
Zigzag de retroceso línea fina y pálida Cada oscilación detectada mediante la regla del retroceso. Se trata de la materia prima, deliberadamente difusa: es contexto, no una señal.
Zigzag de estructura línea gruesa dorada Solo los máximos y mínimos que la estructura utiliza realmente. Un pequeño subconjunto de la línea pálida.
Marcadores de estructura flechas arriba/abajo Los propios máximos y mínimos de la estructura.
BoS discontinuo, verde Rotura de estructura: el nivel se tomó siguiendo la tendencia.
CHoCH discontinuo, rojo Cambio de carácter: el nivel se alcanzó en contra de la tendencia. La tendencia cambia aquí.
x línea continua, morada Barrido de liquidez: el nivel se alcanzó solo con una mecha, y el precio se movió entonces en la dirección opuesta.
IDM punteada, azul Inducción: el nivel de retroceso cuya ruptura confirma un nuevo extremo de la estructura.

Cada línea de evento es horizontal y se extiende desde la barra que estableció el nivel hasta la barra que lo superó, por lo que la longitud de la línea indica cuánto tiempo se mantuvo ese nivel.

Nivel uno: los oscilaciones de retroceso

Brevemente, ya que se documenta al completo en la entrada anterior: un máximo se convierte en un swing solo cuando el precio vuelve a cotizar por debajo del mínimo de la vela que lo generó. La forma no determina nada: un swing es un evento, no una figura geométrica, y eso es lo que le permite llevar una marca de tiempo.

Hay dos propiedades de esa capa que son importantes más adelante:

  • El resultado alterna estrictamente máximo, mínimo, máximo, mínimo. Nunca hay dos máximos seguidos.
  • Un swing se confirma más tarde que la vela en la que se encuentra. La capa de estructura solo detecta un retroceso una vez que es definitivo, por lo que la estructura nunca puede construirse sobre un swing que aún sea provisional.

Ambas capas se alimentan de una barra cerrada cada vez, primero el retroceso y luego la estructura; así, cuando la estructura evalúa una barra, ya conoce cualquier oscilación confirmada en esa misma barra.

Capa dos: la estructura

La estructura contiene exactamente tres elementos:

Estado Significado
Tendencia Ninguna, al alza o a la baja
Máximo de la estructura el único máximo que importa actualmente: el nivel cuya ruptura es alcista
Mínimo estructural el único mínimo que importa actualmente: el nivel cuya ruptura es bajista

Se establece a partir del primer máximo y del primer mínimo del retroceso, con la tendencia fijada en «Ninguna». A partir de ese momento, la capa de retroceso nunca vuelve a escribir en la estructura; solo proporciona los niveles de referencia que se describen más adelante.

La regla de ruptura: cierres, barridos de mechas

Esta única distinción da lugar a tres de los cuatro tipos de eventos:

A level is broken only when a candle closes beyond it. A candle whose wick alone goes beyond it has swept it.


Así pues, para cada vela cerrada, con la tendencia y los dos niveles tal y como están:

Tendencia Lo que hizo la vela Evento
Ninguno cerró por encima del máximo / por debajo del mínimo BoS: la tendencia pasa a ser alcista / bajista
Al alza Cierre por encima del máximo de la estructura BoS: continuación, la tendencia se mantiene alcista
Al alza Cierre por debajo del mínimo de la estructura CHoCH — la tendencia cambia a la baja
A la baja Cierre por debajo del mínimo de la estructura BoS — continuación, la tendencia se mantiene a la baja
A la baja Cierre por encima del máximo de la estructura CHoCH: la tendencia cambia a alcista
cualquier mecha que supere un nivel, cierre de nuevo dentro candidato a barrido — anotado, aún no se ha dibujado nada
cualquier permaneció dentro de ambos niveles nada

Así pues, BoS y CHoCH son el mismo evento: un cierre a través de un nivel. Lo único que determina la etiqueta es si la ruptura concuerda con la tendencia que ya está en vigor. Al no haber aún tendencia, la primera ruptura es un BoS por definición, porque no hay ningún carácter que cambiar.

El «sweep»: cuando una mecha se convierte en una «x»

Una mecha que atraviesa un nivel no es un evento en sí misma. Se registra y se deja pendiente, porque en ese momento es ambigua: el precio podría simplemente cerrar por encima del nivel en la siguiente vela, en cuyo caso se trataría de una ruptura ordinaria en ciernes, no de un barrido.

Solo se convierte en una «x» cuando la siguiente ruptura se produce en el lado opuesto. La secuencia clásica, en una tendencia alcista:


  1. El precio supera el máximo de la estructura con una mecha, pero vuelve a cerrar por debajo de él. Se registra como candidato a barrido. No aparece nada en el gráfico.
  2. El precio da la vuelta y cierra por debajo del mínimo de la estructura.
  3. Eso resuelve la ambigüedad. El movimiento alcista fue una captación de liquidez, por lo que el indicador desplaza el máximo de la estructura a la vela barrida —el marcador y ambos tramos en zigzag lo siguen—, traza la línea «x» continua y solo entonces registra el CHoCH.

Desplazar el máximo es el objetivo de todo el ejercicio. El swing desde el que se inició la reversión es la vela de barrido, no el máximo anterior que atravesó, y todos los niveles que se deriven a partir de ahí deben medirse desde ese punto.

La línea «x» se extiende desde la barra que estableció el nivel hasta la barra cuya mecha lo alcanzó, trazada al precio del nivel anterior —esa es la liquidez que reposaba allí—. El caso bajista es exactamente el reflejo: una mecha por debajo del mínimo de la estructura, seguida de un cierre por encima del máximo de la estructura.

Tres reglas garantizan la fiabilidad de este método:

  • Si varias velas superan el nivel con su mecha, prevalece la más alejada.
  • Si posteriormente el precio cierra atravesando el nivel en la misma dirección, se trata de una ruptura ordinaria y se descarta la candidata a barrido.
  • Un candidato a barrido se descarta en cuanto se publique cualquier nuevo punto de la estructura. Una vez que la estructura ha avanzado, una mecha más antigua queda obsoleta y no debe reubicar un punto con carácter retroactivo.

IDM: confirmación del nuevo extremo

Una ruptura responde a una pregunta y plantea otra. Cuando el precio cierra por encima del máximo de la estructura en una tendencia alcista, sabes que se ha producido un BoS, pero aún no sabes dónde está el nuevo máximo. El precio sigue moviéndose. Considerar que la vela de ruptura es el nuevo máximo sería un error en el momento en que la siguiente vela suba más.

El incentivo es la respuesta. En el momento del BoS:


  1. El último mínimo del retroceso se convierte en la referencia: el IDM.
  2. El precio sigue subiendo; el indicador sigue el máximo más alto que alcanza, pero no muestra nada.
  3. Cada vez que se forma un nuevo mínimo de retroceso por encima del IDM actual, el IDM se ajusta al alza hasta ese nivel. La referencia es siempre el mínimo de retroceso más alto observado desde la ruptura.
  4. Cuando el precio finalmente retrocede y alcanza el IDM, se confirma el nuevo máximo de la estructura: es el máximo más alto entre la vela de ruptura y la vela que alcanzó el IDM.

En ese momento se traza la línea punteada del IDM —desde el retroceso que la estableció hasta la vela que la atravesó— y aparece el marcador del máximo de la estructura. Ambos siempre coinciden, lo que convierte a la línea del IDM en una útil verificación de la lógica: cada máximo de la estructura debería tener una línea del IDM que termine en la barra donde aparece su marcador.

El caso bajista es el reflejo: tras una ruptura bajista, el IDM es el máximo del retroceso más bajo, y su activación confirma el nuevo mínimo de la estructura como el mínimo más bajo del movimiento.

Mientras un extremo está pendiente, su propio lado de la estructura no mantiene ningún nivel, por lo que solo se puede romper el lado opuesto. Esto se deduce del diseño más que de una regla: la IDM siempre se sitúa en el mínimo de la estructura o por encima de él, por lo que el precio tiene que alcanzar la IDM —confirmando así el máximo— antes de poder llegar al mínimo.

Mantener la cadena en zigzag

Los puntos de la estructura deben alternarse, exactamente igual que en la capa de retroceso. Dos máximos seguidos suponen una cadena rota, no una estructura.

Una ruptura alcista está a punto de marcar un máximo. Si el punto más reciente de la cadena ya es un máximo, falta un mínimo entre ambos, por lo que el indicador toma el mínimo más bajo entre ese máximo y la vela de ruptura y lo publica primero. Si el punto más reciente ya es un mínimo, la cadena se alterna y no se inserta nada.

Esa única regla cubre todos los casos: tu BoS en una tendencia establecida, tu CHoCH y la primera ruptura tras el punto inicial. El caso bajista es el reflejo: el máximo más alto del rango barrido.

Casos extremos, expuestos abiertamente

Situación Cómo se resuelve
Una vela alcanza el IDM y cierra por encima del nivel opuesto Léelo en ese orden: primero se confirma el extremo y, a continuación, se registra la ruptura. Este es precisamente el caso de «barrido y luego CHoCH», y el orden es importante.
Un extremo pendiente nunca se confirma, porque el precio rompe primero en la otra dirección El extremo rastreado se publica tal y como está, y después se procesa la ruptura. No se pierde nada y la cadena sigue alternando.
La propia vela de ruptura vuelve al IDM La confirmación nunca puede producirse en la propia vela de ruptura. Lo más pronto que puede ocurrir es en la barra siguiente.
Aún no existe ningún retroceso que sirva como IDM En su lugar, se utiliza el nivel de estructura actual de ese lado. Esto solo ocurre en las barras más antiguas del gráfico.

Sobre el repintado: lee esto antes de utilizarlo

La capa de retroceso no se repinta, y nada ha cambiado al respecto.

La capa de estructura sí lo hace, y no es un defecto: es la propia naturaleza del método. Hay dos elementos que se mueven:

  • Un extremo pendiente se desplaza a medida que el precio se extiende, justo hasta que se toma el IDM. Se publica en tiempo real para que puedas ver cómo se forma la estructura, en lugar de esperar a ciegas.
  • Un barrido reubica un punto hacia atrás, tal y como está diseñado. Ese es precisamente el propósito de la «x».

Una vez que un extremo queda confirmado por su IDM y no hay ningún barrido pendiente en su contra, queda fijado. Los eventos —BoS, CHoCH, x, IDM— son de solo añadir y nunca se mueven.

Si partes de esta base, considera un punto de la estructura como provisional hasta que exista su línea IDM, y trata los eventos como el registro estable. Solo se evalúan las velas cerradas; la vela en formación se ignora por completo.

Datos de entrada

Capa de retroceso

Entrada Por defecto Qué hace
Empieza por buscar Buscar un máximo de oscilación El lado que busca el primer tramo. Solo afecta a las barras más antiguas del gráfico.
Ruptura del retroceso confirmada por Wick El control de sensibilidad para todo el indicador. «Wick» es la regla literal de Trading Hub. «Close» ofrece menos retrocesos, pero más amplios, y, por lo tanto, menos movimientos estructurales, pero de mayor envergadura. Cámbialo a esta opción en M1–M15 o en activos con mucha volatilidad, como el oro y los CFD sobre índices.

Estructura del mercado

Entrada Por defecto Qué hace
Se confirma un valor extremo cuando la referencia es Mecha Cómo debe interpretarse el IDM. «Wick» significa «tocado»; «Close» requiere un cierre a través de él, lo que confirma los extremos posteriormente, pero filtra los toques superficiales en el momento del impulso.
Detectar barridos de liquidez verdadero Desactivar para una estructura sencilla: los niveles se toman entonces solo por el cierre, sin «x», y los puntos nunca se reubican. Útil para comparar las dos lecturas una al lado de la otra.

No hay ningún ajuste de período, profundidad o sensibilidad en ninguna parte: la estructura no tiene parámetros propios. Si quieres una estructura más amplia, aumenta el marco temporal o cambia la regla de retroceso a «Cierre».

Visualización

Grupo Qué controla
Retroceso en zigzag Las oscilaciones subyacentes poco marcadas: color, estilo, ancho o desactivarlas por completo.
Estructura en zigzag La línea de estructura dorada.
Marcadores de estructura Flechas en los máximos y mínimos de la estructura: códigos Wingdings y distancia en píxeles respecto a la barra. Los búferes permanecen llenos cuando las flechas están desactivadas, por lo que iCustom sigue viendo todo.
Líneas de separación Un color distinto para BoS, CHoCH, x e IDM, además del grosor de la línea y los títulos. Desactiva los títulos en gráficos densos y mantén los colores como clave.

Alertas

Ventana emergente y notificación push ante un evento de estructura. Se activan solo con actualizaciones en tiempo real, nunca mientras se carga el historial, y solo una vez por evento.

Uso desde un EA

Cinco búferes. El valor por defecto es 0,0.

Búfer Contenido
0 precio del máximo de una estructura
1 Precio mínimo de una estructura
2 tendencia en cada barra: 1 al alza, -1 a la baja, 0 sin tendencia
3 precio del máximo de un retroceso confirmado
4 precio de un mínimo de retroceso confirmado
int h = iCustom(_Symbol, _Period, "SMC_MarketStructure");
double trend[];
CopyBuffer(h, 2, 0, 1, trend);   // 1 = up, -1 = down, 0 = none

El búfer 2 se rellena en cada barra, incluida la que se está formando, por lo que leerlo en el desplazamiento 0 siempre devuelve la tendencia actual. Los otros cuatro son, por naturaleza, dispersos.

Ambos motores son clases autónomas que no dependen de ningún búfer ni gráfico: CPullbackDetector toma matrices de precios e informa de oscilaciones confirmadas, mientras que CMarketStructure toma barras más dichas oscilaciones e informa de una cadena de puntos y una lista de eventos. Ambos pueden copiarse directamente en un EA si prefieres no pasar por iCustom, que también te proporciona los eventos —estos no se exponen a través de los buffers—.

Lo que no hace deliberadamente

Se limita a la estructura. No hay bloques de órdenes, ni brechas de valor razonable, ni zonas de prima/descuento, ni entradas, ni etiquetado de HH/HL/LH/LL. Todo ello requiere primero una tendencia fiable y un par de niveles fiables —que es lo que proporciona este sistema—, y cada decisión que toma se hace visible en el gráfico como una línea que puedes comprobar.

Traducción del inglés realizada por MetaQuotes Ltd.
Artículo original: https://www.mql5.com/en/code/78245

VelaMayor MTF - Higher Timeframe Candle Overlay VelaMayor MTF - Higher Timeframe Candle Overlay

Superpón velas de marcos temporales superiores directamente sobre tus gráficos de marcos temporales inferiores con rellenos de cuerpo personalizables, bordes independientes y mechas precisas. Detecta sin esfuerzo la tendencia macro, las aperturas de sesión y los rangos de liquidez sin tener que cambiar de pantalla. Motor ultraligero con límites de cuadro separados y una recuperación automática de los cambios en los gráficos totalmente fiable.

Margin Risk Simulator Margin Risk Simulator

Muestra los precios del símbolo actual en los que la cuenta alcanza el nivel de llamada de margen y el stop out, con un modo de simulación para un volumen adicional, el volumen máximo que se puede añadir y las órdenes pendientes que se activan en el proceso.

QCL Heikin Flow MT5 QCL Heikin Flow MT5

QCL Heikin Flow aplica un suavizado en dos etapas a las velas Heikin Ashi, lo que ayuda a los operadores a filtrar el ruido de los precios y a visualizar la dirección de la tendencia. Incluye períodos de suavizado ajustables, cuatro métodos de media móvil y colores de velas personalizables.

Accelerator Oscillator (AC) Accelerator Oscillator (AC)

El indicador Acceleration/Deceleration (AC, Aceleración/Desaceleración) mide la aceleración y la desaceleración de la fuerza impulsora del mercado.