Apuntarme a la lista de espera
Estrategias / Breakout / Range Breakout And Fakeout

Range Breakout And Fakeout: operar ambos lados del rango de ayer

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.

BreakoutLargos & cortosSwingDAX 404 horas
n/aProfit factor
2,477,210Beneficio neto EUR
16.48%Tasa de acierto
6,779Operaciones
-336,797Max drawdown
365Operación media

Mejor ejecución de 15. DAX 40, 4 horas, spread 3, de la ejecución sweeps:2026-09-16-DAX40-4h-opt.tsv:2.

Reglas de entrada, largos

  1. El rango de ayer está entre 20 y 150 puntos y hoy no es viernes
  2. Breakout long: comprar a mercado cuando el precio ya está más de un 10% del rango por encima del máximo de ayer, o colocar un buy stop 1 punto por encima de ese nivel
  3. Cada uno de los cuatro niveles de entrada se usa como máximo una vez al día

Reglas de entrada, cortos

  1. El rango de ayer está entre 20 y 150 puntos y hoy no es viernes
  2. Breakout short: vender en short a mercado cuando el precio ya está más de un 10% del rango por debajo del mínimo de ayer, o colocar un sell stop 1 punto por debajo de ese nivel
  3. Cada uno de los cuatro niveles de entrada se usa como máximo una vez al día

Reglas de salida

  1. Stop loss del doble del margen de entrada (10% del rango), mínimo 6 puntos
  2. Mientras hay una operación abierta, una orden stop contraria en el otro extremo da la vuelta a la posición

Condiciones de la prueba

PeriodoHasta 2026-09-16
InstrumentoDAX 40, 4 horas
Spread3 puntos
Capital inicial1,000,000
CostesSolo spread. No se incluyen comisiones ni financiación overnight.
BarrasHasta 200,000 barras, menos cuando el instrumento tiene menos historial
Última prueba2026-09-17
Parámetros (10)
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

Mercados y marcos temporales probados

MercadoMarco temporalPFOperaciones% de aciertoNetoMax DD
DAX 40Mejor ejecución4 horasn/a 6,77916.482,477,210 EUR-336,797
DAX 40Diarion/a 4,27321.8319,248,806 EUR-860,999
FTSE 100Diarion/a 6,73721.794,648,349 EUR-653,406
Nikkei 225Diarion/a 2,88218.49686,515 USD-50,206
Petróleo BrentDiarion/a 2,31521.81410,183 EUR-60,891
Nasdaq 100Diarion/a 4,13119.7559,003 EUR-6,503
S&P 500Diarion/a 3,33524.3544,615 EUR-5,773
OroDiarion/a 1,95927.163,244 EUR-1,039
Dow Jones1 horan/a 83013.371,903 EUR-1,572
Dow Jones4 horasn/a 1,01111.771,843 EUR-1,300
Dow Jones30 minn/a 70913.261,816 EUR-1,239
Nasdaq 1005 minn/a 30911.97837 EUR-699
Nasdaq 1003 minn/a 12212.30686 EUR-510
Petróleo crudo de EE. UU.1 minn/a 3423.53615 EUR-173
Nasdaq 1001 minn/a 1822.22449 EUR-239

Gráficos

Resultados por ejecución

Las 10 mejores de 15 ejecuciones. La lista completa está en la tabla de arriba.

Beneficio netoMax drawdown

El código

ProBuilder, reescrito al estándar de la casa

// ============================================================
// 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

Cómo cargarla

  1. Copia el código con el botón de copiar del bloque de código.
  2. En ProRealTime, abre un gráfico del instrumento y el marco temporal que quieras probar y luego abre ProOrder > New trading system y elige "Create with programming".
  3. Pega el código, dale un nombre al sistema y guárdalo.
  4. Haz clic en "Backtest", ajusta tu propio spread y position size, y ejecútala antes de considerar operarla en real.
Lee esto primeroDebilidades conocidas4 puntos
  • Solo existen datos de barrido, así que no se registró el profit factor para ninguna ejecución, incluida la mejor en DAX 40 4 horas.
  • La tasa de acierto es de solo el 16.48% en la mejor ejecución. Los beneficios dependen de unas pocas ganancias grandes, y las rachas largas de pérdidas son normales.
  • El dimensionamiento crece con el equity, lo que infla las cifras principales. La ejecución de DAX 40 Diario muestra EUR 19,248,805.5 de beneficio neto junto a un drawdown de EUR 860,999.0, cifras que una cuenta de tamaño fijo nunca vería.
  • Puede haber hasta cuatro órdenes pendientes activas y las posiciones pueden darse la vuelta intraday, lo que hace más difícil que la ejecución real y el slippage coincidan con el backtest.

Preguntas

Sobre esta estrategia

¿Funciona esta estrategia con el trading automático de ProOrder?

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.

¿Qué mercados se probaron?

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.

¿Cómo se controla el riesgo por operación?

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.

¿Por qué usar rangos diarios en un gráfico de 4 horas?

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

Estrategias como esta

Buy After Price Fall

Mejor ejecución en el mismo mercado, DAX 40.

1.88 PF · 312 operaciones

Breakout Regime Filter

También es una estrategia breakout.

6.28 PF · 70 operaciones

Bollinger Band Walk

También es una estrategia breakout.

3.10 PF · 148 operaciones

¿Tienes curiosidad por saber cómo se comportan los sistemas de rango con capitalización compuesta en cuentas reales? Apúntate a la lista de espera de ProRealAlgos.

La comunidad de ProRealAlgos obtiene las reglas completas, el código completo y la cartera automatizada.

Los resultados pasados de backtest no garantizan resultados futuros. Esto no es asesoramiento financiero. Seleccionado y mantenido por ProRealAlgos. ProRealTime™ es una marca comercial de ProRealTime SAS. prorealalgos.comEstadísticasDocumentación