Un %b de Bollinger suavizado, construido a partir de un cierre Heikin-Ashi sin retardo y una TEMA, detecta caídas por debajo de 30 cuando está sobre la SMA de 220 días y subidas por encima de 90 cuando está por debajo de ella. Las operaciones usan un stop del 5%, un objetivo del 10%, un trailing stop por ATR y una salida por tiempo para las operaciones perdedoras.
Mejor ejecución de 21. Nasdaq 100, Diario, spread 3, de la ejecución pf:2026-09-15-NAS100-D.tsv:1.
| Periodo | Hasta 2026-09-15 |
| Instrumento | Nasdaq 100, Diario |
| Spread | 3 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-16 |
| positionSize Contratos por operación | 1 |
| trendFilterOn 1 = operar solo con la media de largo plazo, 0 = desactivado | 1 |
| trailingOn 1 = usar el trailing stop escalado por ATR, 0 = desactivado | 1 |
| stopLossPct Stop de protección, porcentaje del precio de entrada | 5 |
| takeProfitPct Objetivo de beneficio, porcentaje del precio de entrada | 10 |
| longTrailFactor Distancia del trailing para los longs, en unidades de ATR escaladas | 9 |
| shortTrailFactor Distancia del trailing para los shorts, en unidades de ATR escaladas | 4 |
| atrTrailPeriod Longitud del ATR para la distancia del trailing | 200 |
| minTrailPoints Distancia mínima del trailing | 5 |
| maxLosingBarsLong Cerrar un largo perdedor después de este número de barras | 16 |
| maxLosingBarsShort Cerrar un corto perdedor después de este número de barras | 2 |
| trendPeriod Longitud de la SMA del filtro de tendencia | 220 |
| bandPeriod Desviación estándar y longitud de la media del %b | 17 |
| temaPeriod Longitud de suavizado de la TEMA | 8 |
| oversoldLevel Comprar cuando el %b está por debajo de esto | 30 |
| overboughtLevel Vender en short cuando el %b está por encima de esto | 90 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| Nasdaq 100Mejor ejecución | Diario | 1.66 | 492 | 71.95 | 13,584 EUR | -3,078 |
| S&P 500 | Diario | 1.48 | 515 | 63.30 | 2,671 EUR | -983 |
| Dow Jones | Diario | 1.41 | 506 | 71.15 | 18,609 EUR | -7,365 |
| DAX 40 | Diario | 1.37 | 555 | 66.31 | 9,989 EUR | -3,831 |
| EUR/USD | 2 min | 1.35 | 5,690 | 22.04 | 147,182 USD | -95,915 |
| FTSE 100 | Diario | 1.35 | 391 | 72.63 | 4,926 EUR | -1,460 |
| EUR/USD | 3 min | 1.29 | 6,190 | 27.21 | 101,696 USD | -69,006 |
| Oro | 4 horas | 1.25 | 856 | 47.78 | 1,808 EUR | -917 |
| EUR/USD | Diario | 1.24 | 550 | 74.18 | 45,379 USD | -19,978 |
| Nikkei 225 | Diario | 1.24 | 397 | 71.03 | 20,214 USD | -8,103 |
| Nasdaq 100 | 4 horas | 1.24 | 905 | 55.14 | 8,644 EUR | -2,716 |
| S&P 500 | 4 horas | 1.22 | 863 | 50.29 | 2,118 EUR | -682 |
| Dow Jones | 30 min | 1.16 | 1,641 | 27.24 | 17,372 EUR | -8,859 |
| Dow Jones | 4 horas | 1.15 | 298 | 48.66 | 7,615 EUR | -6,958 |
| DAX 40 | 4 horas | 1.15 | 854 | 53.40 | 7,412 EUR | -2,818 |
| Oro | 5 min | 1.14 | 3,141 | 13.53 | 1,588 EUR | -745 |
| Dow Jones | 1 hora | 1.08 | 941 | 32.20 | 7,342 EUR | -5,710 |
| GBP/USD | 4 horas | 1.07 | 2,054 | 64.95 | 2,456 USD | -2,275 |
| EUR/USD | 5 min | 1.00 | 6,366 | 29.04 | -1,346 USD | -40,289 |
| Plata | 30 min | 0.82 | 5,310 | 32.20 | -46,708 USD | -51,178 |
| CAC 40 | Diario | n/a | 375 | 68.27 | 1,990 EUR | -1,678 |
Gráficos
Las 10 mejores de 21 ejecuciones. La lista completa está en la tabla de arriba.
Por encima de 1.0 ganó dinero, por debajo de 1.0 perdió dinero.
El código
// ============================================================ // Smoothed Bollinger // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: Daily // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = true DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 1 // contracts per trade trendFilterOn = 1 // 1 = only trade with the long-term average, 0 = off trailingOn = 1 // 1 = use the ATR-scaled trailing stop, 0 = off stopLossPct = 5 // protective stop, percent of entry price takeProfitPct = 10 // profit target, percent of entry price longTrailFactor = 9 // trailing distance for longs, in scaled ATR units shortTrailFactor = 4 // trailing distance for shorts, in scaled ATR units atrTrailPeriod = 200 // ATR length for the trailing distance minTrailPoints = 5 // minimum trailing distance maxLosingBarsLong = 16 // close a losing long after this many bars maxLosingBarsShort = 2 // close a losing short after this many bars trendPeriod = 220 // trend filter SMA length bandPeriod = 17 // %b standard deviation and average length temaPeriod = 8 // TEMA smoothing length oversoldLevel = 30 // buy when %b is below this overboughtLevel = 90 // sell short when %b is above this // --- Indicators --- // ATR of a scaled price series, kept exactly as the tested code computes it. atrTrail = AverageTrueRange[atrTrailPeriod]((close/10)*PipSize)/1000 longTrailDistance = round(atrTrail*longTrailFactor) shortTrailDistance = round(atrTrail*shortTrailFactor) trendMA = Average[trendPeriod](close) trendUp = (close > trendMA OR NOT trendFilterOn) trendDown = (close < trendMA OR NOT trendFilterOn) // Heikin-Ashi style close, fed through a zero-lag TEMA. // The second term of haOpen has no /4, exactly as in the tested code. haOpen = ((Open[1]+High[1]+Low[1]+Close[1])/4 + (Open[2]+High[2]+Low[2]+Close[2]))/2 haClose = ((Open+High+Low+Close)/4 + haOpen + max(high, haOpen) + min(low, haOpen))/4 temaFirst = TEMA[temaPeriod](haClose) temaSecond = TEMA[temaPeriod](temaFirst) temaGap = temaFirst - temaSecond zeroLagHA = temaFirst + temaGap smoothedZeroLag = TEMA[temaPeriod](zeroLagHA) // Bollinger %b of the smoothed series. percentB = (smoothedZeroLag + 2*STD[bandPeriod](smoothedZeroLag) - WeightedAverage[bandPeriod](smoothedZeroLag)) / (4*STD[bandPeriod](smoothedZeroLag))*100
61 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Sí, con 1 contrato y una posición a la vez. El código reescrito no se ha comprobado en compilación.
Índices, oro, plata y pares de divisas desde 2 minutos hasta diario, y todas las ejecuciones salvo dos fueron rentables. Dow Jones Diario generó EUR 18,609.30 con un profit factor de 1.41.
En Nasdaq 100 Diario el drawdown máximo fue de EUR 3,077.50 frente a EUR 13,584.40 de beneficio neto.
El filtro de tendencia de 220 días y los stops porcentuales encajan mejor con las barras diarias. Las ejecuciones diarias de índices tuvieron profit factor más altos que la mayoría de las ejecuciones intraday.
Relacionado
El copy trading en índices de EE. UU. está disponible para los miembros de ProRealAlgos a medida que se abren plazas.