Universal Bollinger usa bandas exponenciales propias sobre el precio logarítmico (42 periodos, 1.618 desviaciones) y un filtro de tendencia con SMA de 100. Por encima de la SMA compra breakouts fuertes confirmados por el RSI(2), y por debajo compra un cierre de nuevo dentro de la banda inferior, con reglas simétricas para los shorts. Las posiciones cierran con un movimiento brusco de ATR(2) con el RSI(2) en un extremo, o se invierten con una señal contraria.
Mejor ejecución de 11. Nikkei 225, 10 min, spread 10, de la ejecución sweeps:2026-09-26-NIKKEI-10m-opt.tsv:2.
| Periodo | Hasta 2026-09-26 |
| Instrumento | Nikkei 225, 10 minutos |
| Spread | 10 puntos |
| Contratos | 1 |
| Capital inicial | 1,000,000 |
| Costes | Solo spread. No se incluyen comisiones ni financiación overnight. |
| Barras | Hasta 200,000 barras, menos cuando el instrumento tiene menos historial |
| Última prueba | 2026-09-26 |
| positionSize Contratos por operación | 1 |
| bandPeriod Longitud de las bandas exponenciales | 42 |
| bandWidth Distancia de las bandas en desviaciones típicas | 1.618 |
| seedPeriod SMA usada para inicializar las bandas en las primeras barras | 3 |
| trendPeriod Longitud del filtro de tendencia SMA | 100 |
| rsiPeriod Longitud del RSI | 2 |
| atrPeriod Longitud del ATR para la salida | 2 |
| breakoutRsiLong Un RSI por encima de esto confirma una ruptura de banda al alza | 70 |
| breakoutRsiShort Un RSI por debajo de esto confirma una ruptura de banda a la baja | 40 |
| reentryRsiLevel Lado del RSI necesario cuando el precio vuelve a caer dentro de una banda | 50 |
| longExitRsi La salida del long necesita un RSI por debajo de esto | 5 |
| shortExitRsi La salida del short necesita un RSI por encima de esto | 95 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| Nikkei 225Mejor ejecución | 10 min | n/a | 3,898 | 37.84 | 27,728 USD | -16,037 |
| EUR/USD | 4 horas | n/a | 681 | 41.85 | 80,338 USD | -62,580 |
| Dow Jones | Diario | n/a | 198 | 41.92 | 18,228 EUR | -8,765 |
| Plata | Diario | n/a | 247 | 34.01 | 16,417 USD | -12,212 |
| Nasdaq 100 | Diario | n/a | 166 | 38.55 | 15,964 EUR | -4,641 |
| Dow Jones | 1 hora | n/a | 715 | 40.00 | 12,870 EUR | -9,986 |
| Nasdaq 100 | 1 hora | n/a | 2,050 | 36.68 | 12,343 EUR | -7,675 |
| Dow Jones | 4 horas | n/a | 187 | 41.71 | 11,226 EUR | -6,553 |
| Oro | Diario | n/a | 254 | 34.65 | 2,528 EUR | -1,282 |
| S&P 500 | 30 min | n/a | 3,757 | 39.13 | 2,285 EUR | -1,459 |
| Oro | 4 horas | n/a | 524 | 40.84 | 1,609 EUR | -1,174 |
Gráficos
Las 10 mejores de 11 ejecuciones. La lista completa está en la tabla de arriba.
El código
// ============================================================ // Universal Bollinger // ProRealAlgos Strategy Library | prorealalgos.com // Type: Volatility // Direction: Long & short // Timeframe tested: 10 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade bandPeriod = 42 // length of the exponential bands bandWidth = 1.618 // band distance in standard deviations seedPeriod = 3 // SMA used to seed the bands on the first bars trendPeriod = 100 // SMA trend filter length rsiPeriod = 2 // RSI length atrPeriod = 2 // ATR length for the exit breakoutRsiLong = 70 // RSI above this confirms an upside band break breakoutRsiShort = 40 // RSI below this confirms a downside band break reentryRsiLevel = 50 // RSI side needed when price falls back inside a band longExitRsi = 5 // long exit needs RSI below this shortExitRsi = 95 // short exit needs RSI above this // --- Indicators --- // Bands built on log price with exponentially weighted mean and variance. logPrice = LOG(CustomClose) smoothing = 2 / (bandPeriod + 1) IF BarIndex < bandPeriod THEN logMean = Average[seedPeriod](logPrice) ELSE logMean = smoothing * logPrice + (1 - smoothing) * logMean ENDIF logError = logPrice - logMean squaredError = SQUARE(logError) IF BarIndex < bandPeriod + 1 THEN logVariance = squaredError ELSE logVariance = smoothing * squaredError + (1 - smoothing) * logVariance ENDIF logStdDev = SQRT(logVariance) upperBand = EXP(logMean + (bandWidth * logStdDev)) lowerBand = EXP(logMean - (bandWidth * logStdDev)) trendMA = Average[trendPeriod](close) rsiValue = RSI[rsiPeriod](close) atrValue = AverageTrueRange[atrPeriod](close)
25 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Sí. Las bandas se calculan en el código, así que no se necesita ningún indicador propio. No hay stop, así que añade tu propia protección.
Nikkei 225 10 minutos hizo 27,727.80 USD en 3898 operaciones. EUR/USD, Dow Jones, Silver, Nasdaq 100, Gold y S&P 500 también fueron positivos en las ejecuciones mostradas.
Con 1 contrato y un spread de 10 puntos, Nikkei 225 10 minutos tuvo un max drawdown de 16,037 USD.
El RSI(2) y el ATR(2) reaccionan en unas pocas barras, así que los gráficos cortos dan muchas señales. También se probó desde 30 minutos hasta diario.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.