Se construye un trailing stop a partir de una media de 28 periodos con bandas de 2 desviaciones estándar de anchura. Cuando el precio cierra atravesando ese stop, el sistema apuesta contra la rotura en lugar de seguirla. Las operaciones buscan un objetivo pequeño de 9 unidades con un stop mucho más amplio de 70 unidades, y una señal contraria da la vuelta a la posición.
Mejor ejecución de 2. EUR/USD, 30 min, spread 1, de la ejecución sweeps:2026-09-25-EURUSD-30m-opt.tsv:2.
| Periodo | Hasta 2026-09-25 |
| Instrumento | EUR/USD, 30 minutos |
| Spread | 1 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-25 |
| positionSize Contratos por operación | 1 |
| bandPeriod Longitud de la media y de la desviación de las bandas | 28 |
| bandWidth Anchura de las bandas en desviaciones típicas | 2 |
| takeProfitDistance Distancia del objetivo en unidades de precio | 9 |
| stopLossDistance Distancia del stop en unidades de precio | 70 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| EUR/USDMejor ejecución | 30 min | n/a | 4,817 | 63.32 | 49,894 USD | -34,199 |
| GBP/USD | 4 horas | n/a | 1,012 | 63.64 | 7,405 USD | -7,144 |
Gráficos
El código
// ============================================================ // Bollinger Trailing Stop Fade // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: 30 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade bandPeriod = 28 // band average and deviation length bandWidth = 2 // band width in standard deviations takeProfitDistance = 9 // target distance in price units stopLossDistance = 70 // stop distance in price units // --- Indicators --- upperBand = Average[bandPeriod](close) + STD[bandPeriod](close) * bandWidth lowerBand = Average[bandPeriod](close) - STD[bandPeriod](close) * bandWidth // Band trailing stop: starts on the first band break, then only tightens ONCE trailLevel = 0 ONCE trendState = 0 IF trailLevel = 0 THEN IF close CROSSES OVER upperBand THEN trailLevel = lowerBand trendState = 1 ELSIF close CROSSES UNDER lowerBand THEN trailLevel = upperBand trendState = -1 ENDIF ENDIF IF trendState = 1 THEN trailLevel = max(trailLevel, lowerBand) ELSIF trendState = -1 THEN trailLevel = min(trailLevel, upperBand) ENDIF
30 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Sí, coloca órdenes a mercado con un objetivo y un stop fijos, algo que ProOrder gestiona. El código reescrito no se ha comprobado en compilación y las cifras provienen de la versión anterior.
EUR/USD 30 minutos obtuvo USD 49,894 en 4,817 operaciones. GBP/USD 4 horas obtuvo USD 7,404.80 en 1,012 operaciones, con un drawdown casi igual de grande.
Con 1 contrato la ejecución de EUR/USD tuvo un max drawdown de USD 34,199. Con un stop de 70 unidades y un objetivo de 9 unidades, unas pocas pérdidas pueden borrar muchas ganancias, así que cuenta con ese drawdown.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.