Apuntarme a la lista de espera
Estrategias / Breakout / Resistance Breacher

Resistance Breacher: operar rupturas de swings confirmados

Resistance Breacher compra cuando el precio cierra por encima del último swing high confirmado formado mientras estaba por encima de la SMA de 47 y la EMA de 53, con el Stochastic(8,3) por encima de 45 y una EMA de 8 subiendo suavemente. Los cortos usan la imagen espejo. Los stops y los objetivos son múltiplos del ATR(10), y cada operación se cierra en la primera barra de un nuevo día.

BreakoutLargos & cortosSwingPetróleo Brent4 horas
1.58Profit factor
4,630Beneficio neto EUR
60.56%Tasa de acierto
142Operaciones
-1,654Max drawdown
32.61Operación media

Mejor ejecución de 4. Brent Crude, 4 horas, spread 3, de la ejecución pf:2026-09-15-BRENT-4h.tsv:3.

Reglas de entrada, largos

  1. No es lunes
  2. El Stochastic(8,3) está por encima de 45
  3. La EMA de 8 periodos subió entre un 0.02% y un 0.05% en esta barra
  4. Se ha formado un nuevo swing desde la última operación
  5. 3.5 x ATR(10) es mayor que 20

Reglas de entrada, cortos

  1. El Stochastic(8,3) está por debajo de 65
  2. La EMA de 8 periodos cayó entre un 0.02% y un 0.05% en esta barra
  3. El cierre está por debajo del último swing low confirmado (un mínimo de rebote formado mientras el precio estaba por debajo tanto de la SMA de 47 como de la EMA de 53); este nivel se reinicia a cero cada vez que el precio cierra por encima de cualquiera de las dos medias, y entonces la condición nunca se cumple
  4. 6.5 x ATR(10) es mayor que 20

Reglas de salida

  1. Stop de los cortos a 6.5 x ATR(10), objetivo a 3.5 x ATR(10)
  2. Cerrar cualquier operación abierta en la primera barra de un nuevo día

Condiciones de la prueba

PeriodoHasta 2026-09-15
InstrumentoBrent Crude, 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-16
Parámetros (22)
baseSize
Lotes después de una operación ganadora
2
afterLossSize
Lotes después de una o dos operaciones perdedoras
3
afterThreeLossesSize
Lotes después de tres operaciones perdedoras consecutivas
2
afterTwoWinsSize
Lotes después de dos operaciones ganadoras consecutivas
1
afterSixLossesSize
Lotes después de seis operaciones perdedoras consecutivas
5
afterSixWinsSize
Lotes después de seis operaciones ganadoras consecutivas
1
stochPeriod
Longitud del Stochastic
8
stochSmooth
Suavizado del Stochastic
3
slopePeriod
EMA usada para medir la pendiente de corto plazo
8
longStochLevel
Los largos necesitan el stochastic por encima de esto
45
shortStochLevel
Los cortos necesitan el stochastic por debajo de esto
65
minSlope
Ratio mínimo de cambio de la EMA de barra a barra
1.0002
maxSlope
Ratio máximo de cambio de la EMA de barra a barra
1.0005
smaPeriod
Media simple usada para el seguimiento de los swings
47
emaPeriod
Media exponencial usada para el seguimiento de los swings
53
atrPeriod
Longitud del ATR para el stop y el objetivo
10
longStopAtr
Stop de los largos en múltiplos de ATR
3.5
longTargetAtr
Objetivo de los largos en múltiplos de ATR
12
shortStopAtr
Stop de los cortos en múltiplos de ATR
6.5
shortTargetAtr
Objetivo de los cortos en múltiplos de ATR
3.5
minStopDistance
Saltarse las operaciones cuyo stop sería menor que esto
20
skipLongDay
Largos solo en los días de la semana posteriores a este número (se salta el lunes)
1

Todas las ejecuciones

Mercados y marcos temporales probados

MercadoMarco temporalPFOperaciones% de aciertoNetoMax DD
Petróleo BrentMejor ejecución4 horas1.58 14260.564,630 EUR-1,654
Oro1 min1.16 63560.791,827 EUR-653
Dow Jones1 hora1.09 97748.9316,253 EUR-13,477
Nikkei 2251 min1.05 1,34646.5120,011 USD-17,262

Gráficos

Resultados por ejecución

Por encima de 1.0 ganó dinero, por debajo de 1.0 perdió dinero.

El código

ProBuilder, reescrito al estándar de la casa

// ============================================================
// Resistance Breacher
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Breakout
// Direction: Long & short
// Timeframe tested: 4 hours
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false
DEFPARAM PreloadBars = 1000

// --- Parameters ---
baseSize = 2                 // lots after a winning trade
afterLossSize = 3            // lots after one or two losing trades
afterThreeLossesSize = 2     // lots after three losing trades in a row
afterTwoWinsSize = 1         // lots after two winning trades in a row
afterSixLossesSize = 5       // lots after six losing trades in a row
afterSixWinsSize = 1         // lots after six winning trades in a row
stochPeriod = 8              // stochastic length
stochSmooth = 3              // stochastic smoothing
slopePeriod = 8              // EMA used to measure short-term slope
longStochLevel = 45          // longs need the stochastic above this
shortStochLevel = 65         // shorts need the stochastic below this
minSlope = 1.0002            // EMA must move at least this ratio bar to bar
maxSlope = 1.0005            // and less than this ratio, so the move is not stretched
smaPeriod = 47               // simple average for swing tracking
emaPeriod = 53               // exponential average for swing tracking
atrPeriod = 10               // ATR length for stop and target
longStopAtr = 3.5            // long stop in ATR multiples
longTargetAtr = 12           // long target in ATR multiples
shortStopAtr = 6.5           // short stop in ATR multiples
shortTargetAtr = 3.5         // short target in ATR multiples
minStopDistance = 20         // skip trades whose stop would be smaller than this
skipLongDay = 1              // longs only after this weekday number (skips Monday)

// Swing state carried from bar to bar
ONCE setupReady = 0
ONCE swingLow = 0
ONCE confirmedLow = 0
ONCE swingHigh = 0
ONCE confirmedHigh = 0
ONCE stopDistance = 0
ONCE targetDistance = 0

// --- Indicators ---
stochK = Stochastic[stochPeriod, stochSmooth](close)
slopeMA = ExponentialAverage[slopePeriod](close)
smaFilter = Average[smaPeriod](close)
emaFilter = ExponentialAverage[emaPeriod](close)
atrValue = AverageTrueRange[atrPeriod]

// Size up after losses and down after wins.
positionSize = baseSize
IF PositionPerf(1) < 0 THEN
  positionSize = afterLossSize
ENDIF
IF PositionPerf(1) < 0 AND PositionPerf(2) < 0 AND PositionPerf(3) < 0 THEN
  positionSize = afterThreeLossesSize
ENDIF
IF PositionPerf(1) > 0 AND PositionPerf(2) > 0 THEN
  positionSize = afterTwoWinsSize
ENDIF
IF PositionPerf(1) < 0 AND PositionPerf(2) < 0 AND PositionPerf(3) < 0 AND PositionPerf(4) < 0 AND PositionPerf(5) < 0 AND PositionPerf(6) < 0 THEN
  positionSize = afterSixLossesSize
ENDIF
IF PositionPerf(1) > 0 AND PositionPerf(2) > 0 AND PositionPerf(3) > 0 AND PositionPerf(4) > 0 AND PositionPerf(5) > 0 AND PositionPerf(6) > 0 THEN
  positionSize = afterSixWinsSize
ENDIF

61 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.

Indicadores utilizados

StochasticEMASMAATR
Historial más largoNueva ejecución con hasta 1,000,000 barrasOro · 1 min · datos antiguos -1,273.30 EUR

Gold 1 minuto tuvo el total de 1,000,000 barras, y el beneficio se redujo a EUR 553.40 desde EUR 1,826.70 de la ejecución estándar porque los datos más antiguos por sí solos perdieron EUR 1,273.30.

Oro · 1 min

Barras disponibles1,000,000
Neto, ejecución estándar de 200,000 barras1,826.70 EUR
Neto, ejecución larga553.40 EUR
Neto solo en los datos más antiguos-1,273.30 EUR
Lee esto primeroDebilidades conocidas4 puntos
  • El position size cambia con la racha reciente, de 1 a 5 lotes, incluido aumentar el tamaño después de las pérdidas. Eso puede hacer que los drawdowns crezcan rápidamente.
  • La ejecución destacada de Brent Crude 4 horas tiene solo 142 operaciones.
  • Solo existen 4 ejecuciones, y Nikkei 225 1 minuto tuvo un profit factor de 1.05 con un drawdown de 17,261.50 USD.
  • Cuando el precio cierra por debajo de cualquiera de las dos medias, el nivel del swing high se reinicia a cero y la condición de breakout long siempre se cumple.

Preguntas

Sobre esta estrategia

¿Está lista para ProOrder?

Sí, se ejecuta automáticamente, incluido el dimensionamiento basado en rachas. Revisa los tamaños de lote (base 2, hasta 5) frente a tu cuenta antes de operar en real.

¿Cómo se comportó en cada mercado?

Brent Crude 4 horas ganó 4,630.30 EUR con un profit factor de 1.58. Gold 1 minuto, Dow Jones 1 hora y Nikkei 225 1 minuto fueron positivos pero con profit factors entre 1.05 y 1.16.

¿Con qué drawdown debo contar?

Brent Crude 4 horas tuvo un max drawdown de 1,654.40 EUR con tamaños entre 1 y 5 lotes y un spread de 3 puntos. Dow Jones 1 hora alcanzó 13,476.80 EUR.

¿Por qué el gráfico de 4 horas?

Los swing highs en barras de 4 horas marcan niveles que otros traders vigilan, y los stops por ATR(10) son lo bastante amplios para evitar el ruido. Ese gráfico dio el mejor profit factor, 1.58.

Relacionado

Estrategias como esta

Monday Dip Buy

Usa el mismo indicador.

n/a PF · 146 operaciones

Morning Range Breakout

Mejor ejecución en el mismo mercado, Brent Crude.

1.89 PF · 434 operaciones

Double Sevens

Un profit factor similar.

1.58 PF · 743 operaciones

Mira cómo gestionan los miembros el position size. 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