Cada día el sistema sigue el máximo y el mínimo desde la primera barra. Después de que el precio retroceda al menos un 30% de ese rango, coloca una orden stop 4 puntos dentro del borde del rango y opera la ruptura una vez al día. Los días con un rango más amplio de 32.5 puntos se omiten, y esos mismos 32.5 puntos son el stop.
Mejor ejecución de 8. Nikkei 225, 1 hora, spread 10, de la ejecución sweeps:2026-09-17-NIKKEI-1h-opt.tsv:2.
| Periodo | Hasta 2026-09-17 |
| Instrumento | Nikkei 225, 1 hora |
| Spread | 10 puntos |
| Contratos | 2 |
| 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-17 |
| positionSize Contratos por operación | 2 |
| maxAmplitude Rango del día más amplio que aún se opera, y también el stop en puntos | 32.5 |
| minAmplitude Separación mínima entre los dos niveles de entrada | 11 |
| orderDistance Los niveles de entrada se sitúan a esta distancia dentro de los bordes del rango | 4 |
| minRangePct El precio debe retroceder esta proporción del rango antes de fijar un nivel | 30 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| Nikkei 225Mejor ejecución | 1 hora | n/a | 957 | 6.69 | 21,548 USD | -12,128 |
| DAX 40 | Diario | n/a | 331 | 14.80 | 19,755 EUR | -3,553 |
| Nikkei 225 | 1 min | n/a | 70 | 1.43 | 3,777 USD | -2,654 |
| Oro | 5 min | n/a | 52 | 15.38 | 3,519 EUR | -1,726 |
| S&P 500 | 1 hora | n/a | 377 | 16.45 | 1,985 EUR | -1,825 |
| Oro | 10 min | n/a | 64 | 10.94 | 1,918 EUR | -1,349 |
| Oro | 15 min | n/a | 96 | 14.58 | 1,895 EUR | -1,220 |
| S&P 500 | 5 min | n/a | 80 | 7.50 | 798 EUR | -752 |
Gráficos
El código
// ============================================================ // Opening Range Breakout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long & short // Timeframe tested: 1 hour // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 2 // contracts per trade maxAmplitude = 32.5 // widest day range still traded, also the stop in points minAmplitude = 11 // minimum gap between the two entry levels orderDistance = 4 // entry levels sit this far inside the range edges minRangePct = 30 // price must pull back this share of the range before a level is set // --- Indicators --- ONCE sessionStarted = -1 // Holiday calendar: no trading on 1 May and on 24, 25, 26, 30 and 31 December. IF (Month = 5 AND Day = 1) OR (Month = 12 AND (Day = 24 OR Day = 25 OR Day = 26 OR Day = 30 OR Day = 31)) THEN tradingDay = 0 ELSE tradingDay = 1 ENDIF // New day: clear both entry levels and fill flags. IF IntradayBarIndex = 0 THEN buyThreshold = 0 sellThreshold = 0 longFilled = 0 shortFilled = 0 sessionStarted = 1 ENDIF // Build today's range until both entry levels are set. IF sessionStarted = 1 AND tradingDay = 1 THEN IF buyThreshold = 0 OR sellThreshold = 0 THEN rangeHigh = Highest[IntradayBarIndex + 1](high) rangeLow = Lowest[IntradayBarIndex + 1](low) daySpread = rangeHigh - rangeLow minSpread = daySpread * minRangePct / 100 IF daySpread <= maxAmplitude THEN IF sellThreshold = 0 AND (close - rangeLow) >= minSpread THEN sellThreshold = rangeLow + orderDistance ENDIF IF buyThreshold = 0 AND (rangeHigh - close) >= minSpread THEN buyThreshold = rangeHigh - orderDistance ENDIF ENDIF ENDIF ENDIF
30 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Sí, usa órdenes stop pendientes que ProOrder admite. El código se reescribió y aún no se ha comprobado en compilación, y las estadísticas provienen de la versión anterior.
La mejor fue Nikkei 225 en 1 hora con USD 21,548.40 en 957 operaciones. DAX 40 Diario obtuvo EUR 19,755.40 en 331 operaciones, y Gold y S&P 500 fueron menores pero positivos.
La prueba utilizó 2 contratos por operación. El max drawdown de la mejor ejecución con ese tamaño fue de USD 12,128.20, así que reduce el tamaño a la mitad si quieres aproximadamente la mitad de esa exposición.
Exigir un pullback del 30% desde el extremo del día significa que el nivel solo se fija después de que el mercado haya mostrado los dos lados del rango, lo que filtra los días de dirección única.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.