Supply Demand RSJ PRO — Manual del usuario (MetaTrader 5, versión 1.10)
Disponible en MQL5 Market: Supply Demand RSJ PRO
Aviso de riesgo. El trading implica riesgo de pérdida. Este indicador marca zonas de precio en el gráfico; no predice el mercado, no abre operaciones y no garantiza ningún resultado. Úselo junto con su propio análisis y gestión del riesgo, y pruébelo primero en una cuenta demo.

Supply Demand RSJ PRO dibuja zonas de oferta (supply) y demanda (demand) construidas a partir de máximos y mínimos de swing, clasifica cada zona en cinco grados (weak, strong, verified, proven, turncoat), cuenta cuántas veces el precio la ha vuelto a testear (retest), invierte las zonas rotas una vez y elimina las zonas rotas dos veces. Las zonas superpuestas pueden fusionarse, cada zona puede llevar una etiqueta de texto y puede dispararse una alerta cuando el precio entra en una zona. Funciona en cualquier símbolo, cualquier bróker y cualquier marco temporal. No abre operaciones.
1. Instalación e inicio rápido
- Compre o alquile el indicador en el MQL5 Market e instálelo desde la pestaña Market del terminal (Toolbox → Market → Purchased → Install).
- Abra un gráfico y arrastre Supply Demand RSJ PRO desde el Navegador (Indicators → Market) hasta él.
- Mantenga los parámetros por defecto o ajústelos (sección 11) y pulse OK.
El indicador analiza las últimas 3000 barras (parámetro NUM CANDLES FOR ANALYSIS) y reconstruye todas las zonas en el primer tick de cada nueva barra; si el historial aún no está listo, lo vuelve a intentar en los ticks siguientes. Con Show Labels? activado (por defecto), se activa el desplazamiento del gráfico (chart shift) para que las etiquetas tengan espacio a la derecha de la última barra; si antes estaba desactivado, se vuelve a desactivar al quitar el indicador (salvo que otra copia siga en el gráfico).
Inicio rápido
- Lea el grado en la etiqueta: las zonas Proven y Verified ya han resistido retests, las zonas Strong proceden de un swing mayor que nunca se ha vuelto a testear, las zonas Weak proceden de un swing menor y las zonas Turncoat se rompieron una vez y cambiaron de lado.
- El color por defecto de las etiquetas es negro. En un gráfico oscuro, cambie Labels Font Color (por ejemplo a blanco o plateado).
- Para un gráfico más limpio, desactive primero Show Weak Zones?.
- Para recibir un aviso cuando el precio entre en una zona, configure Trigger Alert When Enter Zone? (sección 10).

2. Leyenda del gráfico
| En el gráfico | Significado |
|---|---|
| Rectángulo relleno por encima del precio (carmesí / granate / orquídea / azul violáceo) | Zona de oferta. Color según el grado: Verified carmesí, Proven granate, Strong orquídea, Weak azul violáceo. |
| Rectángulo relleno por debajo del precio (verde / azul real / verde oliva / azul aciano) | Zona de demanda. Color según el grado: Verified verde, Proven azul real, Strong verde oliva, Weak azul aciano. |
| Rectángulo relleno naranja oscuro | Zona turncoat ("rota"): rota una vez y que ahora actúa en el lado contrario (antigua oferta como demanda, o al revés). |
| Texto como Verified Demand Zone, Retests = 2 | Etiqueta de la zona (opcional), dibujada a la derecha de la última barra, en el tercio superior de la zona. |
Cada rectángulo empieza en la barra del swing que lo creó y termina en la barra actual. Pase el ratón por encima de un rectángulo para leer su tooltip, por ejemplo SDRSJ#123456#S4 Type = Verified, Test Count = 2 (S = demanda, R = oferta). Todos los objetos del indicador empiezan por SDRSJ# seguido de un número distinto para cada copia del indicador, y se dibujan en el fondo, detrás de las velas.
3. Cómo aparecen las zonas

- Las zonas se dibujan alrededor de puntos de giro del mercado (máximos y mínimos de swing) encontrados en las últimas NUM CANDLES FOR ANALYSIS barras.
- Un punto de giro solo se confirma después de que algunas barras hayan cerrado a su derecha, por lo que una zona nueva aparece unas barras después del giro, nunca en la barra en formación.
- Con Extend Zones? activado, la zona cubre un poco más que la mecha de la barra de giro.
- ATR Factor hace las zonas más anchas o más estrechas; los factores fractales definen lo grande que debe ser un giro para crear una zona (sección 11).
4. Grados de las zonas

| Grado (etiqueta) | Significado | Color por defecto (oferta / demanda) | Parámetro de filtro |
|---|---|---|---|
| Weak (débil) | Zona de un giro menor, nunca retesteada. | Azul violáceo / Azul aciano | Show Weak Zones? |
| Strong (fuerte) | Zona de un giro mayor, nunca retesteada y nunca rota — una zona no testeada. | Orquídea / Verde oliva | Show Untested Zones? |
| Verified (verificada) | De 1 a 3 retests. | Carmesí / Verde | siempre visible |
| Proven (probada) | 4 o más retests. | Granate / Azul real | siempre visible |
| Turncoat (invertida) | Rota una vez y cambió de lado, sin retest desde la ruptura. | Naranja oscuro / Naranja oscuro | Show Broken Zones? |
Una zona que se invirtió y después fue retesteada vuelve a clasificarse como Verified o Proven. Una zona reciente puede aparecer primero como Weak y pasar a Strong más tarde, cuando su giro se confirma como mayor. Los grados se actualizan en cada nueva barra.
5. Retests, rupturas y zonas turncoat

Retest. Se cuenta un retest cuando el precio vuelve a girar más tarde dentro de la zona, en el lado en el que actúa la zona.
Ruptura. Una zona de oferta se rompe cuando una barra posterior cotiza por encima de su techo (máximo por encima del techo); una zona de demanda, cuando una barra cotiza por debajo de su base. Las mechas cuentan.
- Una zona weak se elimina en su primera ruptura.
- Una zona strong, verified o proven que se rompe una vez se invierte: pasa a ser una zona turncoat en el lado contrario (una zona de oferta rota se lee ahora como demanda, y al revés) y su contador de retests vuelve a 0.
- Una segunda ruptura sin un retest entre medias elimina la zona. Un retest después de la inversión reinicia esto, por lo que un nivel bien respetado puede invertirse más de una vez.
Las zonas turncoat se dibujan en naranja oscuro (con la etiqueta Turncoat) hasta que se retestean en su nuevo lado.
6. ¿Oferta o demanda?
Que una zona se dibuje como oferta o como demanda depende de dónde está ahora el precio respecto a la zona, no del giro que la creó: una zona por debajo del precio se lee como demanda, una zona por encima del precio como oferta. Por eso, cuando el precio atraviesa una zona, su lado puede cambiar algunas barras después.
7. Fusión de zonas superpuestas

Con Merge Zones? activado (por defecto), las zonas que se superponen se unen en una zona más ancha; los contadores de retests se combinan y la etiqueta muestra el grado resultante.
Desactívelo para ver cada zona de swing por separado.
8. Etiquetas
Con Show Labels? activado, cada zona visible recibe una etiqueta de texto: grado + lado, más el número de retests para las zonas verified y proven, por ejemplo:
- Weak Supply Zone
- Strong Demand Zone
- Verified Supply Zone, Retests = 2
- Proven Demand Zone, Retests = 5
- Turncoat Demand Zone
Las etiquetas usan Courier New, Labels Font Size (por defecto 9) y Labels Font Color (por defecto negro). Se colocan unas dos barras a la derecha de la barra actual; para ello el indicador activa el desplazamiento del gráfico.
9. Colores

Los colores de las zonas se configuran en la pestaña Colors de las propiedades del indicador (no en la pestaña Inputs). Cada entrada corresponde a un grado y un lado:
| Entrada de la pestaña Colors | Se usa para | Por defecto |
|---|---|---|
| Broken Supply Zone | Zona turncoat mostrada como oferta | Naranja oscuro |
| Proven Supply Zone | Oferta proven | Granate |
| Verified Supply Zone | Oferta verified | Carmesí |
| Strong Supply Zone | Oferta strong (no testeada) | Orquídea |
| Weak Supply Zone | Oferta weak | Azul violáceo |
| Weak Demand Zone | Demanda weak | Azul aciano |
| Strong Demand Zone | Demanda strong (no testeada) | Verde oliva |
| Verified Demand Zone | Demanda verified | Verde |
| Proven Demand Zone | Demanda proven | Azul real |
| Broken Demand Zone | Zona turncoat mostrada como demanda | Naranja oscuro |
Solo se usa el color; el estilo y el grosor no tienen efecto. Los rectángulos se rellenan y se dibujan en el fondo.
10. Alertas

| Parámetro | Se dispara cuando | Mensaje |
|---|---|---|
| Trigger Alert When Enter Zone? | el Bid actual entra en una zona visible (base ≤ precio < techo) | Entered into Demand Zone. o Entered into Supply Zone. |
Modos: NONE (por defecto, sin alerta), POPUP, SOUND, NOTIFICATION (push al smartphone), POPUP_SOUND, NOTIFICATION_SOUND, POPUP_NOTIFICATION, POP_SOUND_NOTIFICATION. Trigger Alert Sound Type selecciona uno de los 13 sonidos del terminal (por defecto alert).
El texto incluye el producto, el símbolo y el marco temporal, p. ej. RSJ Supply Demand PRO: EURUSD | PERIOD_H1 | Entered into Demand Zone.
Con qué frecuencia se dispara:
- La comprobación se ejecuta en cada tick. La alerta se dispara una vez, cuando el precio entra en una zona; no se repite mientras el precio permanece dentro. Cuando el precio sale de la zona, una nueva entrada puede volver a dispararla.
- Tras una alerta, las entradas se ignoran hasta que hayan pasado Delay between alerts (seconds) (por defecto 180) segundos de reloj desde esa alerta. Una entrada que ocurre durante el retardo se omite, no se envía más tarde.
- Una alerta cubre una zona (la primera zona encontrada en la que el precio acaba de entrar).
- Solo se comprueban las zonas visibles: los grados ocultos por los filtros Show ... Zones? no generan alertas.
- No se envía ninguna alerta cuando el indicador se coloca con el precio ya dentro de una zona, ni cuando aparece una zona alrededor del precio en un recálculo (por ejemplo, un nuevo swing o una fusión).
Las notificaciones push requieren el MetaQuotes ID en Tools → Options → Notifications. Los modos con sonido reproducen el sonido sin detener el indicador. El Probador de estrategias no muestra ventanas emergentes, sonidos ni notificaciones.
11. Parámetros
Los encabezados siguientes son las líneas separadoras de la pestaña Inputs (no tienen ningún valor que configurar).
ZONES_VIEW_CONFIG
| Parámetro | Por defecto | Descripción |
|---|---|---|
| Show Weak Zones? | true | Muestra las zonas Weak. |
| Show Untested Zones? | true | Muestra las zonas Strong (no testeadas). |
| Show Broken Zones? | true | Muestra las zonas Turncoat. |
| Merge Zones? | true | Une las zonas superpuestas (sección 7). |
| Extend Zones? | true | La zona cubre un poco más que la mecha de la barra de giro (sección 3). |
Las zonas Verified y Proven se muestran siempre.
ZONES_CALC_CONFIG
| Parámetro | Por defecto | Descripción |
|---|---|---|
| NUM CANDLES FOR ANALYSIS | NUM_CANDLES_3000 | Barras en las que se buscan zonas: de NUM_CANDLES_500 a NUM_CANDLES_5000, en pasos de 500. |
| ATR Period | 7 | Adapta el tamaño de la zona a la volatilidad reciente del símbolo. |
| ATR Factor | 0.75 | Valores mayores dan zonas más anchas y más fusiones. |
| Fast Fractal Factor | 3.0 | Tamaño de los giros menores que crean zonas: valores mayores conservan solo los giros más grandes. |
| Slow Fractal Factor | 8.0 | Tamaño de los giros mayores (grado Strong): valores mayores conservan solo los giros más grandes. |
Los factores fractales se usan como números enteros (3,5 funciona como 3; los valores menores que 1 funcionan como 1).
ZONES_LABEL_CONFIG
| Parámetro | Por defecto | Descripción |
|---|---|---|
| Show Labels? | true | Dibuja las etiquetas de texto y activa el desplazamiento del gráfico. |
| Labels Font Color | Black | Color de las etiquetas. |
| Labels Font Size | 9 | Tamaño de fuente de las etiquetas. |
ALERT_CONFIG
| Parámetro | Por defecto | Descripción |
|---|---|---|
| Trigger Alert When Enter Zone? | NONE | Modo de alerta (sección 10). |
| Trigger Alert Sound Type | alert | alert, alert2, connect, disconnect, email, expert, news, ok, request, stops, tick, timeout, wait. |
| Delay between alerts (seconds) | 180 | Intervalo mínimo entre dos alertas, en segundos de reloj. |
12. Búferes para Asesores Expertos / paneles
El indicador expone 8 búferes que se pueden leer con iCustom + CopyBuffer . Están ocultos en la Ventana de datos. Los búferes 0-3 se escriben cuando las zonas se reconstruyen en una nueva barra; los búferes 4-7 se actualizan en cada tick.
| Búfer | Contenido | Valores | Vacío |
|---|---|---|---|
| 0 | Mínimo de swing lento | precio mínimo en la barra de un mínimo de swing lento (mayor) confirmado | 0 |
| 1 | Máximo de swing lento | precio máximo en la barra de un máximo de swing lento confirmado | 0 |
| 2 | Mínimo de swing rápido | precio mínimo en la barra de un mínimo de swing rápido (menor) confirmado | 0 |
| 3 | Máximo de swing rápido | precio máximo en la barra de un máximo de swing rápido confirmado | 0 |
| 4 | Zona más cercana por encima - techo | techo de la zona visible más cercana situada completamente por encima del Bid (la de base más baja) | 0 |
| 5 | Zona más cercana por encima - base | base de la misma zona que el búfer 4 | 0 |
| 6 | Zona más cercana por debajo - techo | techo de la zona visible más cercana situada completamente por debajo del Bid (la de techo más alto) | 0 |
| 7 | Zona más cercana por debajo - base | base de la misma zona que el búfer 6 | 0 |
Notas sobre los búferes 4-7:
- Se escriben en la barra 0 en cada tick, con el Bid actual. El desplazamiento 1 conserva el último valor de la barra anterior; las barras más antiguas valen 0 .
- "Por encima" y "por debajo" se miden respecto a los bordes de la zona, no respecto a su lado: la zona por encima del precio suele ser de oferta, pero puede ser una zona de demanda que el precio acaba de abandonar a la baja (sección 6). Solo se consideran zonas completamente por encima o completamente por debajo del precio: una zona que contiene el precio no se informa, y los búferes muestran la siguiente zona más allá de ella.
- Solo se consideran las zonas visibles (se aplican los filtros Show ... Zones?).
- 0 significa "no existe esa zona", en los cuatro búferes.
Los búferes de swing 0-3 valen 0 en las últimas barras: un giro solo se conoce una vez confirmado.
Carga. La versión del Market se instala en MQL5\Indicators\Market\ ; compruebe el nombre exacto del archivo en el Navegador. Sin parámetros después del nombre se usan los valores por defecto. Para cambiar parámetros, páselos en el orden de la sección 11. Cada línea separadora (ZONES_VIEW_CONFIG, ZONES_CALC_CONFIG, ZONES_LABEL_CONFIG, ALERT_CONFIG) también es un parámetro: pase una cadena vacía "" en su lugar; de lo contrario, todos los valores siguientes se desplazan. NUM CANDLES FOR ANALYSIS se pasa como número: 0 = 500, 1 = 1000 … 5 = 3000 … 9 = 5000. Los parámetros omitidos al final conservan sus valores por defecto.
```mql5 // "" = ZONES_VIEW_CONFIG, then show weak = false int h = iCustom(_Symbol, PERIOD_H1, "Market\Supply Demand RSJ PRO", "", false);
double up_top[1], up_bot[1], dn_top[1], dn_bot[1]; if (BarsCalculated(h) > 0) { if (CopyBuffer(h, 4, 0, 1, up_top) == 1 && CopyBuffer(h, 5, 0, 1, up_bot) == 1 && up_top[0] != 0.0) Print("nearest zone above ", up_bot[0], " - ", up_top[0]); if (CopyBuffer(h, 6, 0, 1, dn_top) == 1 && CopyBuffer(h, 7, 0, 1, dn_bot) == 1 && dn_top[0] != 0.0) Print("nearest zone below ", dn_bot[0], " - ", dn_top[0]); } ```
Notas: un indicador creado con iCustom dibuja sus zonas y etiquetas en el gráfico del programa que lo llama, con sus propios nombres de objeto, por lo que no borra las zonas de una copia colocada a mano; las zonas no se pueden desactivar, solo las etiquetas (Show Labels? = false). Espere a que BarsCalculated(h) > 0 antes de la primera lectura (puede que el historial aún se esté cargando). El grado, el lado y el número de retests de una zona no están disponibles en los búferes — solo en el gráfico (etiquetas y tooltips).
13. Gratuito vs PRO
El gratuito Supply Demand RSJ Zones dibuja el mismo tipo de zonas con ajustes fijos.
| Supply Demand RSJ Zones (gratuito) | Supply Demand RSJ PRO | |
|---|---|---|
| Grados | 2: strong (color pleno) y weak (atenuado) | 5: weak, strong, verified, proven, turncoat |
| Etiquetas con grado y número de retests | — | sí |
| Filtro por grado | — | weak / no testeadas / turncoat |
| Interruptores de fusión y extensión | siempre activados | activado / desactivado |
| Barras analizadas | 300-1500 (por defecto 1000) | 500-5000 (por defecto 3000) |
| Ajustes de ATR y fractales | fijos | ajustables |
| Colores | color de oferta y de demanda, tono weak automático | 10 colores (grado × lado) |
| Alertas | — | ventana emergente, sonido, push |
| Búferes | 8 (misma disposición); oferta más cercana por encima / demanda más cercana por debajo, 0 si no hay | 8; zona más cercana completamente por encima / por debajo, 0 si no hay (sección 12) |
14. Consejos
- Menos ruido visual: desactive Show Weak Zones?; después Show Untested Zones? para conservar solo las zonas que ya han resistido un retest (más las turncoat).
- Zonas más anchas o más estrechas: suba o baje ATR Factor. Las zonas más anchas también se fusionan con más frecuencia.
- Solo niveles mayores: suba Fast Fractal Factor para que solo los swings más grandes creen zonas.
- Contexto de marco temporal superior: abra el indicador en H4 o D1 junto a su gráfico de trading; las zonas de un marco temporal superior no se dibujan en uno inferior.
- Gráfico oscuro: ponga Labels Font Color en un color claro.
- Velocidad: 5000 barras en muchos gráficos pueden ralentizar el terminal en cada nueva barra; normalmente bastan 1000-3000 barras.
- Varias copias en un gráfico: cada copia usa sus propios nombres de objeto, por lo que dos o más copias con ajustes distintos pueden funcionar en el mismo gráfico sin borrar las zonas de las demás. Active la alerta en una sola copia para evitar duplicados.
15. Preguntas y solución de problemas
- ¿Repinta? Los swings se confirman en barras cerradas y nunca se mueven. Sin embargo, las zonas se reconstruyen a partir del historial en cada nueva barra: una zona aparece solo cuando su giro está confirmado, su grado puede cambiar (Weak → Strong cuando se confirma el swing lento, más retests, una inversión) y se elimina cuando se rompe dos veces. La barra en formación no se usa para las zonas hasta que se abre la siguiente barra; la alerta y los búferes 4-7 siguen el Bid en tiempo real.
- No veo etiquetas. Revise Show Labels? y Labels Font Color: las etiquetas negras son invisibles en un gráfico negro.
- Una zona pasó de oferta a demanda. El precio cerró a través de ella y se convirtió en una zona turncoat, o el precio pasó al otro lado de la zona (sección 6).
- Una zona desapareció. Se rompió por segunda vez sin retest, o era una zona weak que se rompió una vez, o es más antigua que NUM CANDLES FOR ANALYSIS, o su grado está filtrado.
- ¿Por qué falta una zona strong cerca de las últimas barras? Un giro mayor necesita más barras cerradas para confirmarse; hasta entonces la zona es Weak — oculta si Show Weak Zones? está desactivado.
- ¿Con qué frecuencia llegan las alertas? Una vez por cada entrada en una zona, no mientras el precio permanece dentro, y nunca con menos separación que Delay between alerts (seconds) (sección 10). Aumente el retardo para recibir menos alertas en marcos temporales cortos.
- El precio está dentro de una zona pero no hubo alerta. El precio ya estaba dentro cuando se colocó el indicador, la zona apareció alrededor del precio en un recálculo, la entrada se produjo durante el retardo tras la alerta anterior, o la zona está oculta por un filtro Show ... Zones? (las zonas ocultas no generan alertas).
- Probador de estrategias. Funciona en modo visual y no visual; en el probador no se envían ventanas emergentes, sonidos ni notificaciones.
Soporte: envíe un mensaje privado al autor en MQL5.


