Apuntarme a la lista de espera
Estrategias / Tendencia / Bollinger Trend Catcher

Bollinger Trend Catcher: una entrada en pullback por tendencia

Cuando toda la banda exponencial inferior está por encima de la SMA de 200, la tendencia es alcista y la estrategia compra el primer cierre en o por debajo de la SMA de 20. Solo toma un largo por tendencia alcista, y los cortos reflejan la misma lógica. Un filtro de la curva de equity pausa las entradas cuando la estrategia está por debajo de su propia media de 250 barras.

TendenciaLargos & cortosIntradayOro10 min
n/aProfit factor
432Beneficio neto EUR
46.55%Tasa de acierto
696Operaciones
-387Max drawdown
0.62Operación media

Mejor ejecución de 6. Gold, 10 min, spread 0.6, de la ejecución sweeps:2026-09-23-GOLD-10m-opt.tsv:4.

Reglas de entrada, largos

  1. El precio cierra en o por debajo de la SMA de 20 periodos
  2. Aún no se ha tomado ningún largo en esta tendencia alcista
  3. La equity de la estrategia está en o por encima de su media de 250 barras (se omite durante las primeras 250 barras)
  4. No hay posición abierta

Reglas de entrada, cortos

  1. El precio cierra en o por encima de la SMA de 20 periodos
  2. Aún no se ha tomado ningún corto en esta tendencia bajista
  3. La equity de la estrategia está en o por encima de su media de 250 barras (se omite durante las primeras 250 barras)
  4. No hay posición abierta

Reglas de salida

  1. Stop loss de 40 en la divisa de la cuenta
  2. Objetivo de beneficio de 130 en la divisa de la cuenta
  3. Los cortos reflejan esto

Condiciones de la prueba

PeriodoHasta 2026-09-23
InstrumentoGold, 10 minutos
Spread0.6 puntos
Contratos1
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-23
Parámetros (11)
positionSize
Contratos por operación
1
startCapital
Equity inicial utilizada por el filtro de la curva de equity
10000
equityCurvePeriod
Longitud de la SMA de la curva de equity
250
fastPeriod
Longitud de la SMA de entrada y de salida final
20
midPeriod
Longitud de la SMA que arma la salida
50
trendPeriod
Longitud de la SMA de tendencia
200
bandPeriod
Longitud de las bandas exponenciales de precio logarítmico
42
bandWidth
Anchura de las bandas en desviaciones típicas
2.4
seedPeriod
Longitud de la SMA que inicializa las bandas en las primeras barras
3
stopLossMoney
Stop protector en la divisa de la cuenta
40
takeProfitMoney
Objetivo de beneficio en la divisa de la cuenta
130

Todas las ejecuciones

Mercados y marcos temporales probados

MercadoMarco temporalPFOperaciones% de aciertoNetoMax DD
OroMejor ejecución10 minn/a 69646.55432 EUR-387
EUR/USDDiarion/a 5242.311,660 USD-240
FTSE 1004 horasn/a 9641.67762 EUR-362
S&P 500Diarion/a 5446.30593 EUR-223
Nasdaq 1004 horasn/a 11843.22462 EUR-424
FTSE 100Diarion/a 3732.43434 EUR-344

Gráficos

Resultados por ejecución

Beneficio netoMax drawdown

El código

ProBuilder, reescrito al estándar de la casa

// ============================================================
// Bollinger Trend Catcher
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long & short
// Timeframe tested: 10 minutes
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1          // contracts per trade
startCapital = 10000      // starting equity for the equity curve filter
equityCurvePeriod = 250   // SMA length of the equity curve
fastPeriod = 20           // entry and final exit average
midPeriod = 50            // average that arms the exit
trendPeriod = 200         // trend average the bands are compared with
bandPeriod = 42           // length of the log-price exponential bands
bandWidth = 2.4           // band width in standard deviations
seedPeriod = 3            // SMA used to seed the bands on early bars
stopLossMoney = 40        // protective stop in account currency
takeProfitMoney = 130     // profit target in account currency

// State: one trade per trend, and a staged exit.
ONCE longTrendUsed = 0
ONCE shortTrendUsed = 0
ONCE longExitStage = 0
ONCE shortExitStage = 0
ONCE logEma = 0
ONCE logVariance = 0

// --- Indicators ---
// Only trade while equity is at or above its own moving average.
equity = startCapital + StrategyProfit
equityCurve = Average[equityCurvePeriod, 0](equity)
equityOk = BarIndex < equityCurvePeriod OR (BarIndex > equityCurvePeriod AND equity >= equityCurve)

fastMA = Average[fastPeriod](close)
midMA = Average[midPeriod](close)
trendMA = Average[trendPeriod](close)

// Exponential bands on log price.
logPrice = LOG(CustomClose)
emaAlpha = 2 / (bandPeriod + 1)
IF BarIndex < bandPeriod THEN
  logEma = Average[seedPeriod](logPrice)
ELSE
  logEma = emaAlpha * logPrice + (1 - emaAlpha) * logEma
ENDIF
logError = logPrice - logEma
errorSquared = SQUARE(logError)
IF BarIndex < bandPeriod + 1 THEN
  logVariance = errorSquared
ELSE
  logVariance = emaAlpha * errorSquared + (1 - emaAlpha) * logVariance
ENDIF
logStdDev = SQRT(logVariance)
upperBand = EXP(logEma + (bandWidth * logStdDev))
lowerBand = EXP(logEma - (bandWidth * logStdDev))

44 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

Bandas de BollingerSMA
Lee esto primeroDebilidades conocidas4 puntos
  • Solo existen datos de barrido, por lo que el profit factor no se registró.
  • En la mejor ejecución (Gold 10 minutos) el beneficio neto de EUR 431.9 vino de 696 operaciones, una media de EUR 0.62 por operación, lo que deja muy poco margen para costes adicionales.
  • El max drawdown de esa ejecución fue de EUR 387.3, cerca de todo el beneficio neto.
  • El stop (40) y el objetivo (130) son importes en dinero, por lo que su significado cambia con el tamaño del contrato y el instrumento.

Preguntas

Sobre esta estrategia

¿Se puede ejecutar en ProOrder?

Sí, está escrito como un sistema de ProOrder. El código se reescribió y aún no se ha comprobado en compilación, así que ejecuta un backtest antes de pasar a real.

¿Dónde se probó y cómo se comportó?

Gold, EUR/USD, FTSE 100, S&P 500 y Nasdaq 100. Todas las ejecuciones listadas obtuvieron un pequeño beneficio, siendo el mayor de USD 1,660 en EUR/USD Diario con 52 operaciones.

¿Qué riesgo conlleva 1 contrato?

Con 1 contrato, la mejor ejecución tuvo un max drawdown de EUR 387.3. Cada operación arriesga el stop de 40 en dinero, antes del spread.

¿Por qué las ejecuciones diarias tienen tan pocas operaciones?

La regla de una operación por tendencia implica que un nuevo largo solo llega después de que la banda haya caído por debajo de la SMA de 200 y se haya recuperado. En barras diarias eso ocurre pocas veces, por ejemplo 37 operaciones en FTSE 100 Diario.

Relacionado

Estrategias como esta

Bollinger Squeeze

Usa el mismo indicador.

14.30 PF · 86 operaciones

Triple Band Market Model

Mejor ejecución en el mismo mercado, Gold.

2.27 PF · 203 operaciones

Long-Term Moving Average Cross

También es una estrategia de tendencia.

12.31 PF · 61 operaciones

¿Tienes curiosidad por saber qué filtros de tendencia aguantan mejor? Apúntate a la lista de espera de ProRealAlgos y comparte impresiones.

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