Cuando el precio retrocede al menos un 35% del rango del día desde el máximo, se coloca un buy stop 4 puntos por debajo de ese máximo, con un sell stop reflejado por encima del mínimo. El rango del día debe mantenerse en 160 puntos o por debajo y los dos niveles separados al menos 20. Omite el 1 de mayo y los festivos de finales de diciembre, y cada lado opera una vez al día.
Mejor ejecución de 12. Nikkei 225, 30 min, spread 10, de la ejecución sweeps:2026-09-17-NIKKEI-30m-opt.tsv:2.
| Periodo | Hasta 2026-09-17 |
| Instrumento | Nikkei 225, 30 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-17 |
| positionSize Contratos por operación | 1 |
| maxRangePoints No se fijan nuevos niveles si el rango de hoy es más amplio que esto; también es el stop loss en puntos | 160 |
| minLevelGap Distancia mínima entre los niveles de compra y de venta | 20 |
| orderDistance Los niveles de entrada se sitúan este número de puntos por dentro del máximo y el mínimo del día | 4 |
| minPullbackPct Retroceso desde un extremo, como porcentaje del rango del día, necesario para fijar ese nivel | 35 |
| rangeExtraBars Barras añadidas al recuento de barras de hoy para la ventana de máximo/mínimo | 2 |
| mayMonth / mayDay / decemberMonth / christmasEve / christmasDay / boxingDay / yearEndEve / newYearsEve Fechas del calendario de festivos sin operaciones | 5 / 1 / 12 / 24 / 25 / 26 / 30 / 31 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| Nikkei 225Mejor ejecución | 30 min | n/a | 3,646 | 17.53 | 29,850 USD | -8,138 |
| Nikkei 225 | 1 hora | n/a | 3,055 | 23.24 | 18,297 USD | -8,884 |
| Nikkei 225 | Diario | n/a | 172 | 19.77 | 10,782 USD | -8,276 |
| DAX 40 | Diario | n/a | 619 | 36.83 | 7,816 EUR | -5,105 |
| Nasdaq 100 | 30 min | n/a | 1,719 | 18.44 | 5,659 EUR | -5,120 |
| Nasdaq 100 | Diario | n/a | 479 | 39.46 | 5,029 EUR | -2,144 |
| Oro | 10 min | n/a | 75 | 33.33 | 2,089 EUR | -692 |
| Oro | 5 min | n/a | 57 | 31.58 | 1,760 EUR | -1,539 |
| FTSE 100 | 5 min | n/a | 63 | 28.57 | 1,710 EUR | -889 |
| Oro | 30 min | n/a | 110 | 36.36 | 1,482 EUR | -1,456 |
| FTSE 100 | 1 min | n/a | 23 | 34.78 | 1,089 EUR | -445 |
| S&P 500 | 1 min | n/a | 14 | 42.86 | 458 EUR | -425 |
Gráficos
Las 10 mejores de 12 ejecuciones. La lista completa está en la tabla de arriba.
El código
// ============================================================ // Intraday Range Breakout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long & short // Timeframe tested: 30 minutes // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- positionSize = 1 // contracts per trade maxRangePoints = 160 // no orders if today's range is wider than this; also the stop loss minLevelGap = 20 // buy and sell levels must be at least this far apart orderDistance = 4 // entry levels sit this many points inside the day's extremes minPullbackPct = 35 // price must pull back this percent of the range from an extreme rangeExtraBars = 2 // bars added to today's bar count for the range window mayMonth = 5 // holiday calendar: May mayDay = 1 // May 1 decemberMonth = 12 // holiday calendar: December christmasEve = 24 christmasDay = 25 boxingDay = 26 yearEndEve = 30 newYearsEve = 31 ONCE dayStarted = -1 ONCE longDone = 0 ONCE shortDone = 0 // --- Indicators --- // No trading on holidays and thin year-end sessions. IF (Month = mayMonth AND Day = mayDay) OR (Month = decemberMonth AND (Day = christmasEve OR Day = christmasDay OR Day = boxingDay OR Day = yearEndEve OR Day = newYearsEve)) THEN tradingDay = 0 ELSE tradingDay = 1 ENDIF
56 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Funciona con órdenes stop que ProOrder admite, y ambas pueden estar activas a la vez. El código se reescribió después de las pruebas y aún no se ha comprobado en compilación.
Las 11 filas de la tabla fueron rentables. Nikkei 225 lideró, con USD 18,297.2 en 1 hora, y DAX 40 Diario ganó EUR 7,815.6, mientras que S&P 500 1 minuto tomó solo 14 operaciones.
La mejor ejecución tuvo un max drawdown de USD 8,137.8 con 1 contrato, y Nikkei 225 1 hora registró USD 8,883.9.
Los niveles provienen del máximo y el mínimo del día y de un pullback del 35%, que necesita unas pocas barras para formarse. En 30 minutos eso ocurre la mayoría de los días sin el ruido de las barras de 1 minuto.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.