El máximo y el mínimo de ayer definen un rango, y el sistema coloca órdenes justo fuera de él para los breakouts y justo dentro para los fakeouts que vuelven a entrar. Solo opera cuando ese rango está entre 20 y 150 puntos y se salta los viernes. El position size se basa en el riesgo, el 0.5% del equity dividido por la distancia del stop.
Mejor ejecución de 15. DAX 40, 4 horas, spread 3, de la ejecución sweeps:2026-09-16-DAX40-4h-opt.tsv:2.
| Periodo | Hasta 2026-09-16 |
| Instrumento | DAX 40, 4 horas |
| Spread | 3 puntos |
| 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 |
| startingCapital Tamaño de cuenta usado para dimensionar el riesgo | 3000 |
| riskPct Porcentaje de equity arriesgado por operación | 0.5 |
| maxRangePoints Saltar el día si el rango de ayer es más amplio que esto | 150 |
| minRangePoints Saltar el día si el rango de ayer es más estrecho que esto | 20 |
| targetRangeMultiple Objetivo de beneficio como múltiplo del rango de ayer | 1.5 |
| rangeMarginFraction Los niveles de entrada se sitúan a esta fracción del rango dentro y fuera de cada extremo | 0.1 |
| stopMarginMultiple Stop loss como múltiplo del margen de entrada | 2 |
| minStopPoints Stop loss mínimo permitido en puntos | 6 |
| orderOffset Puntos extra añadidos a las órdenes de entrada stop | 1 |
| blockedDay Día de la semana sin nuevas operaciones (5 = viernes) | 5 |
Todas las ejecuciones
| Mercado | Marco temporal | PF | Operaciones | % de acierto | Neto | Max DD |
|---|---|---|---|---|---|---|
| DAX 40Mejor ejecución | 4 horas | n/a | 6,779 | 16.48 | 2,477,210 EUR | -336,797 |
| DAX 40 | Diario | n/a | 4,273 | 21.83 | 19,248,806 EUR | -860,999 |
| FTSE 100 | Diario | n/a | 6,737 | 21.79 | 4,648,349 EUR | -653,406 |
| Nikkei 225 | Diario | n/a | 2,882 | 18.49 | 686,515 USD | -50,206 |
| Petróleo Brent | Diario | n/a | 2,315 | 21.81 | 410,183 EUR | -60,891 |
| Nasdaq 100 | Diario | n/a | 4,131 | 19.75 | 59,003 EUR | -6,503 |
| S&P 500 | Diario | n/a | 3,335 | 24.35 | 44,615 EUR | -5,773 |
| Oro | Diario | n/a | 1,959 | 27.16 | 3,244 EUR | -1,039 |
| Dow Jones | 1 hora | n/a | 830 | 13.37 | 1,903 EUR | -1,572 |
| Dow Jones | 4 horas | n/a | 1,011 | 11.77 | 1,843 EUR | -1,300 |
| Dow Jones | 30 min | n/a | 709 | 13.26 | 1,816 EUR | -1,239 |
| Nasdaq 100 | 5 min | n/a | 309 | 11.97 | 837 EUR | -699 |
| Nasdaq 100 | 3 min | n/a | 122 | 12.30 | 686 EUR | -510 |
| Petróleo crudo de EE. UU. | 1 min | n/a | 34 | 23.53 | 615 EUR | -173 |
| Nasdaq 100 | 1 min | n/a | 18 | 22.22 | 449 EUR | -239 |
Gráficos
Las 10 mejores de 15 ejecuciones. La lista completa está en la tabla de arriba.
El código
// ============================================================ // Range Breakout And Fakeout // ProRealAlgos Strategy Library | prorealalgos.com // Type: Breakout // Direction: Long & short // Timeframe tested: 4 hours // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false DEFPARAM PreloadBars = 10000 // --- Parameters --- startingCapital = 3000 // account size used for risk sizing riskPct = 0.5 // percent of equity risked per trade maxRangePoints = 150 // skip days when yesterday's range is wider than this minRangePoints = 20 // skip days when yesterday's range is narrower than this targetRangeMultiple = 1.5 // profit target as a multiple of yesterday's range rangeMarginFraction = 0.1 // entry levels sit this fraction of the range inside and outside each edge stopMarginMultiple = 2 // stop loss as a multiple of that margin minStopPoints = 6 // floor for the stop loss orderOffset = 1 // extra points added to stop entries blockedDay = 5 // no new trades on this weekday (Friday) // Once-per-day entry flags, one per entry level ONCE lowerEdgeLongDone = 0 ONCE upperEdgeShortDone = 0 ONCE upperBreakLongDone = 0 ONCE lowerBreakShortDone = 0 ONCE tradingAllowed = 0 // --- Indicators --- // Reset the daily flags on the first bar of every day except the blocked day. IF DayOfWeek = blockedDay THEN tradingAllowed = 0 ELSE IF IntradayBarIndex = 0 THEN tradingAllowed = 1 lowerEdgeLongDone = 0 upperEdgeShortDone = 0 upperBreakLongDone = 0 lowerBreakShortDone = 0 ENDIF ENDIF // Entry levels come from the previous completed day's range. IF IntradayBarIndex = 0 THEN rangeHigh = DHigh(1) rangeLow = DLow(1) rangePoints = ROUND(rangeHigh - rangeLow) targetPoints = rangePoints * targetRangeMultiple rangeMargin = rangePoints * rangeMarginFraction aboveHigh = rangeHigh + rangeMargin belowHigh = rangeHigh - rangeMargin aboveLow = rangeLow + rangeMargin belowLow = rangeLow - rangeMargin stopLossPoints = ROUND(rangeMargin * stopMarginMultiple) IF stopLossPoints < minStopPoints THEN stopLossPoints = minStopPoints ENDIF ENDIF // Risk a fixed share of current equity on every trade. equity = startingCapital + StrategyProfit maxRisk = ROUND(equity * (riskPct / 100)) positionSize = ABS(ROUND((maxRisk / stopLossPoints) / PointValue) * PipSize) insideRange = close < rangeHigh - rangeMargin AND close > rangeLow + rangeMargin aboveRange = close > (rangeHigh + rangeMargin) belowRange = close < (rangeLow - rangeMargin) nearHigh = close > rangeHigh - rangeMargin AND close < rangeHigh + rangeMargin nearLow = close < rangeLow + rangeMargin AND close > rangeLow - rangeMargin
92 líneas más: las reglas de entrada y salida.
Configuración
Preguntas
Sí, coloca órdenes stop y limit que ProOrder puede gestionar. Como puede haber varias órdenes pendientes a la vez, comprueba primero la gestión de órdenes en una cuenta demo.
Se registraron ejecuciones en DAX 40, FTSE 100, Nikkei 225, Brent Crude, Nasdaq 100, S&P 500, Gold, Dow Jones y US Crude Oil, y ninguna de las filas perdió dinero. Las mejores filas son las ejecuciones en Diario y en 4 horas, mientras que las ejecuciones de 1 minuto en US Crude Oil y Nasdaq 100 solo obtuvieron EUR 615.0 y EUR 448.5.
Cada operación arriesga el 0.5% del equity, con un stop al doble del margen de entrada y de al menos 6 puntos. Aun así, la mejor ejecución tuvo un max drawdown de EUR 336,796.7, porque el tamaño se compone a medida que crece el equity.
El rango proviene del día anterior, así que un gráfico de 4 horas da unas pocas barras por sesión para capturar la rotura o el fakeout sin el ruido de los gráficos muy cortos.
Relacionado
La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.