MiniBull Session SR MTF
- Indicadores
-
Yusuf Levent Aksun
Platform Engineer y profesional certificado en AWS con más de 20 años de experiencia
en desarrollo de software, arquitectura cloud y transformación DevOps.
Actualmente liderando iniciativas de ingeniería de plataformas en World Wide Technology - Versión: 4.20
- Actualizado: 31 agosto 2026
- Activaciones: 5
# MiniBull Session S/R MTF
**Versión:** 4.0
**Plataforma:** MetaTrader 5 (indicador personalizado, `.mq5`)
**Tipo:** Superposición de referencia visual — sin lógica de negociación, sin señales, sin órdenes
**Archivo:** `MiniBull_Session_SR_MTF.mq5`
## Descripción general
MiniBull Session S/R MTF es una superposición de soporte/resistencia en múltiples marcos temporales y a nivel de sesión
para MT5. Traza los máximos y mínimos de la sesión de negociación anterior, la
, la apertura del mercado al contado de EE. UU. y los niveles de soporte y resistencia móviles de tres
marcos temporales superiores (4H / 1H / 15M intradía), dos medias móviles adaptativas de Kaufman
(KAMA), y un panel de información compacto con el porcentaje de distancia a los niveles clave y el
ATR de Wilder; todo ello calculado automáticamente, sin necesidad de configurar manualmente la zona horaria
.
Se trata de una implementación en MQL5 creada desde cero e inspirada en la herramienta de TradingView (Pine Script) «Session & Prev-Day
», adaptada y ampliada para el
.
## Qué dibuja
| Elemento | Estilo | Notas |
|---|---|---|
| Máximo de la sesión anterior | Línea verde continua + etiqueta | Anclada en la barra real que marcó el máximo |
| Mínimo de la sesión anterior | Línea roja continua + etiqueta | Anclado en la barra real que marcó el mínimo |
| Apertura de la sesión actual | Línea blanca continua + etiqueta | Trazada en la primera barra de la sesión actual |
| Apertura del mercado al contado de EE. UU. (09:30 NY) | Línea blanca discontinua + etiqueta | Solo en modo de instrumento estándar |
| R / S (4H, x120 barras) | Línea continua, ancho 3 | Período retrospectivo de ~4 semanas por defecto |
| R / S (1H, x120 barras) | Discontinua, ancho 2 | Período retrospectivo de ~1 semana por defecto |
| R / S (15M, día actual) | Punteada, ancho 1 | Se reconstruye cada sesión, solo para el día actual |
| R / S (30M, x120 barras) | Guion-punto, ancho 1 | **Desactivado por defecto** — se activa desde los parámetros; ~2,5 días de historial |
| R / S (5M, x120 barras) | Trazo-punto-punto, ancho 1 | **Desactivado por defecto** — se activa desde los parámetros; período retrospectivo de ~10 horas |
| R / S (1M, x120 barras) | Punteada, ancho 1 (colores distintos) | **Desactivada por defecto** — se activa desde las entradas; retrospectiva de ~2 horas |
| AMA n.º 1 / AMA n.º 2 | Líneas continuas (blancas / amarillas por defecto) | Kaufman KAMA, períodos configurables (por defecto 200 / 9) |
| Panel de información | Esquina superior derecha | % respecto al máximo anterior, % respecto al mínimo anterior, ATR diario (Wilder) |
Cada línea de soporte/resistencia está anclada **en la vela exacta que generó el máximo o el mínimo**,
no en el extremo de la ventana de retrospectiva; por lo tanto, un nivel que se formó a los 3 días de un
análisis de 20 días comienza exactamente 3 días atrás, no 20. La resistencia y el soporte dentro
el mismo intervalo de tiempo se siguen de forma independiente, ya que la barra que marcó el máximo
rara vez es la misma barra que estableció el mínimo.
El grosor de la línea disminuye con el marco temporal: 4H (3) → 1H (2) → 15M (1), además de
la distinción ya existente entre estilos continuo, discontinuo y punteado, de modo que la jerarquía
hierarquía de los intervalos de tiempo sea visible de un vistazo, incluso en monocromo.
## Lógica de las sesiones
- **Modo estándar**: un nuevo «día de negociación» comienza a las **18:00, hora de Nueva York**
(el rollover estándar de divisas y CFD), lo que se ajusta a cómo la mayoría de las plataformas minoristas definen
una sesión de negociación para divisas y metales.
- **Modo Brent**: una nueva «jornada de negociación» comienza a las **00:00 UTC** (hora fija), lo que
se adapta a los instrumentos energéticos o de tipo futuros que no siguen el rollover de divisas.
- Las brechas del fin de semana se gestionan de forma natural: dado que no se produce ningún nuevo cambio de sesión
mientras el mercado está cerrado, la sesión que estaba abierta al cierre del viernes
simplemente continúa a través de la brecha hasta el lunes, tal y como esperaría un operador
esperaría.
## Gestión de zonas horarias (totalmente automática)
- La diferencia horaria entre el servidor del bróker y el UTC se **detecta automáticamente en tiempo de ejecución** comparando
`TimeGMT()` (el reloj UTC real del ordenador) con `TimeTradeServer()` (el
reloj del servidor del bróker). Esto funciona independientemente de la ubicación del operador
o del bróker o servidor que se utilice; solo requiere que el reloj del propio ordenador esté
configurado correctamente, algo habitual en cualquier sistema operativo moderno.
- El horario de verano de EE. UU. se calcula a partir de la **regla real del calendario del horario de verano de EE. UU.**
(segundo domingo de marzo → primer domingo de noviembre), por lo que la diferencia horaria UTC de Nueva York es
siempre correcto para el año en curso sin necesidad alguna de una actualización manual.
- La opción de introducir manualmente la diferencia horaria de reserva solo existe para casos excepcionales en los que `TimeGMT()`
no esté disponible, como en el Strategy Tester.
## Parámetros
**Niveles de la sesión y del día anterior**
- `InpShowSessionLevels`: muestra/oculta los máximos y mínimos del día anterior + la apertura de la sesión
- `InpInstrumentMode`: `Standard` (renovación en Nueva York) o `Brent` (renovación a las 00:00 UTC)
- `InpShowCashOpen`: muestra el marcador de apertura al contado de Nueva York a las 09:30 (solo en modo Estándar)
- `InpShowSessionPanel`: muestra o oculta el panel de información
**Zona horaria**
- `InpAutoDetectBrokerOffset`: detecta automáticamente la diferencia horaria entre el bróker y el UTC (recomendado; activado por defecto)
- `InpManualBrokerOffsetHours`: desfase alternativo, que solo se utiliza si la detección automática está desactivada o falla
**Soporte/Resistencia**
- `InpShowSR4H` / `InpLookback4H`: activar/desactivar soporte y resistencia de 4 horas + retrospectiva en barras (por defecto 120 ≈ 4 semanas)
- `InpShowSR1H` / `InpLookback1H`: activación/desactivación de los niveles de soporte y resistencia de 1 hora + retrospectiva en barras (por defecto 120 ≈ 1 semana)
- `InpShowSR15M`: activación/desactivación de los niveles de soporte y resistencia intradía de 15 minutos (siempre limitado a la sesión actual)
- `InpShowSR30M` / `InpLookback30M` — **opcional, desactivado por defecto.** Niveles de soporte y resistencia móviles de 30 minutos, mismo modelo que 4H/1H (periodo de retrospectiva por defecto: 120 ≈ 2,5 días)
- `InpShowSR5M` / `InpLookback5M` — **opcional, desactivado por defecto.** Niveles de soporte y resistencia móviles de 5 minutos (período de retrospectiva por defecto: 120 ≈ 10 horas)
- `InpShowSR1M` / `InpLookback1M` — **opcional, desactivado por defecto.** Niveles de soporte y resistencia móviles de 1 minuto (período de retrospectiva por defecto: 120 ≈ 2 horas)
**Media móvil adaptativa**
- `InpShowAMA`: muestra u oculta ambas líneas de AMA
- `InpAmaPeriod1` / `InpAmaPeriod2`: períodos de KAMA (por defecto 200 / 9)
- `InpAmaFastEMA` / `InpAmaSlowEMA`: límites de la constante de suavizado de KAMA (por defecto 2 / 30)
- `InpAmaColor1` / `InpAmaColor2`: colores de las líneas
**ATR de Wilder**
- `InpShowATRPanel`: muestra/oculta la fila del ATR en el panel
- `InpAtrLength`: periodo del ATR (por defecto, 14). **El ATR siempre se calcula en el
marco temporal diario**, independientemente del marco temporal en el que se esté
.
## Notas de diseño / aspectos corregidos durante el desarrollo
Este es un documento en constante evolución que recoge los problemas de corrección más sutiles abordados
durante el desarrollo, que se mantiene aquí para quien tenga que mantener el código más adelante:
- **Evitar la colisión de etiquetas.** Los niveles cercanos (por ejemplo, una resistencia de 4H y una
resistencia de «hoy» de 15 minutos separados por unos pocos puntos) se ponen en cola y se resuelven mediante
distancia en píxeles antes de dibujarse, de modo que el texto superpuesto se separa ligeramente. Solo
se mueve la etiqueta impresa; la línea subyacente siempre se dibuja a la
precio.
- **Las líneas se dibujan delante de las velas, no detrás.** En un instrumento volátil,
los cuerpos densos de las velas pueden ocultar por completo una línea «detrás de la acción del precio» incluso
aunque el objeto exista; en su lugar, todas las líneas de referencia se representan por delante.
- **Anclaje al panel.** Una etiqueta anclada en una esquina con un pequeño desplazamiento respecto al
borde debe anclarse a la *derecha* para que su texto se amplíe hacia dentro; de lo contrario, se mostrará
en su mayor parte fuera de la pantalla — un error fácil de cometer que hace que un panel que funciona parezca que
nunca se hubiera renderizado.
- **La detección de la sesión «Hoy» está vinculada a la hora actual del propio gráfico**,
y no a la barra que, por casualidad, una serie intradía obtenida por separado devuelva
como «más reciente» — lo que evita que una lectura obsoleta o desajustada fije el rango del día en
una sesión incorrecta.
- **El cálculo de KAMA es de complejidad O(n)**, no O(n·período): la suma de la volatilidad dentro del
cálculo del ratio de eficiencia se mantiene como una ventana deslizante en lugar de
volver a sumarse desde cero para cada barra histórica, lo cual es muy importante
con un AMA de 200 períodos sobre un historial extenso.
## Limitaciones conocidas
- La primera carga en un gráfico, marco temporal o símbolo nuevo puede tardar unos segundos mientras
MT5 sincroniza las series históricas H4/H1/M15 de las que depende; se trata de un comportamiento normal de MT5
comportamiento de sincronización de datos históricos de MT5, no es una sobrecarga del indicador, y es más rápido una vez que esos
intervalos de tiempo se hayan abierto al menos una vez para ese símbolo.
- Diseñado únicamente como ayuda visual. No realiza operaciones, ni genera alertas, ni
hace ninguna recomendación de trading.
- Para una mejor legibilidad, al activar **Desplazamiento del gráfico** (clic con el botón derecho en el gráfico →
Propiedades → General) proporciona a las etiquetas más espacio en el borde derecho en lugar
de que se amontonen junto a la última vela.
## Descargo de responsabilidad
Este indicador es únicamente una herramienta de referencia visual. No constituye
asesoramiento financiero, y el hecho de que los niveles anteriores se mantengan como soporte o resistencia no
garantía de que lo seguirán haciendo en el futuro. Úsalo bajo tu propia responsabilidad, junto con tu
propio análisis y gestión de riesgos.
