Apuntarme a la lista de espera
Estrategias / Momentum / Impulse Momentum

Impulse Momentum: comprar barras fuertes con volumen elevado

Impulse Momentum combina el momentum de 13 barras con una puntuación de impulso de 3 barras y compra cuando esa señal supera 0.7 y su propia media de 8 barras. El volumen debe ser 1.2 veces el normal, la barra debe ser 1.8 veces el rango medio reciente, y la SMA de 9 debe situarse por encima de la SMA de 21. Sale con un stop del 1%, cuando la señal se debilita, o cuando el precio cierra por debajo de la SMA de 9.

MomentumSolo largosSwingNasdaq 1001 hora
1.44Profit factor
4,958Beneficio neto EUR
48.65%Tasa de acierto
481Operaciones
-1,182Max drawdown
10.31Operación media

Mejor ejecución de 10. Nasdaq 100, 1 hora, spread 3, de la ejecución pf:2026-09-24-NAS100-1h.tsv:2.

Reglas de entrada, largos

  1. El volumen es más de 1.2 veces su media de 21 barras
  2. El rango de esta barra es más de 1.8 veces el rango medio de 5 barras
  3. El movimiento al alza desde el máximo anterior es mayor que el movimiento a la baja desde el mínimo anterior
  4. La SMA de 9 barras está por encima de la SMA de 21 barras

Reglas de salida

  1. Stop loss un 1% por debajo de la entrada

Condiciones de la prueba

PeriodoHasta 2026-09-25
InstrumentoNasdaq 100, 1 hora
Spread3 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-25
Parámetros (14)
positionSize
Contratos por operación
1
momentumPeriod
Longitud del momentum del precio y ventana de normalización
13
volumePeriod
Longitud del volumen medio
21
fastPeriod
Longitud de la SMA rápida
9
slowPeriod
Longitud de la SMA lenta
21
impulseBars
Barras en la ventana corta de impulso
3
powerPeriod
Longitud del rango medio de la barra para la fuerza del impulso
5
momentumWeight
Peso del momentum normalizado en la señal
2
impulseWeight
Peso del impulso normalizado en la señal
3
signalPeriod
Longitud de la SMA de la línea de señal
8
signalLevel
La señal debe estar por encima de esto para comprar
0.7
minVolumeRatio
El volumen debe ser este múltiplo de su media de 21 barras
1.2
minImpulsePower
El rango de la barra debe ser este múltiplo de su media de 5 barras
1.8
stopLossPct
Stop de protección, porcentaje del precio de entrada
1

Todas las ejecuciones

Mercados y marcos temporales probados

MercadoMarco temporalPFOperaciones% de aciertoNetoMax DD
Nasdaq 100Mejor ejecución1 hora1.44 48148.654,958 EUR-1,182
USD/JPY1 horan/a 83942.55144,730 JPY-56,450
USD/JPY10 minn/a 97540.2146,450 JPY-40,770
Plata3 minn/a 77336.743,975 USD-2,757
Nikkei 225Diarion/a 2245.453,294 USD-1,928
Plata2 minn/a 81233.252,654 USD-2,639
Nasdaq 1004 horasn/a 28253.192,145 EUR-1,341
DAX 404 horasn/a 21549.301,078 EUR-821
Oro4 horasn/a 34541.74321 EUR-185
OroDiarion/a 4339.53164 EUR-156

Gráficos

Resultados por ejecución

Beneficio netoMax drawdown

El código

ProBuilder, reescrito al estándar de la casa

// ============================================================
// Impulse Momentum
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long only
// Timeframe tested: 1 hour
// ============================================================

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

// --- Parameters ---
positionSize = 1             // contracts per trade
momentumPeriod = 13          // price momentum length and normalising window
volumePeriod = 21            // average volume length
fastPeriod = 9               // fast SMA length
slowPeriod = 21              // slow SMA length
impulseBars = 3              // bars in the short impulse window
powerPeriod = 5              // average bar range length for impulse power
momentumWeight = 2           // weight of normalised momentum in the signal
impulseWeight = 3            // weight of normalised impulse in the signal
signalPeriod = 8             // SMA of the signal line
signalLevel = 0.7            // signal must be above this to buy
minVolumeRatio = 1.2         // volume must be this multiple of its average
minImpulsePower = 1.8        // bar range must be this multiple of its average
stopLossPct = 1              // protective stop, percent of entry price

ONCE inTrade = 0

// --- Indicators ---
fastMA = Average[fastPeriod](close)
slowMA = Average[slowPeriod](close)

priceMomentum = (close - close[momentumPeriod]) / close[momentumPeriod] * 100

// Directional movement: only count up moves that beat down moves.
upMove = high - high[1]
IF upMove <= 0 THEN
  upMove = 0
ENDIF

downMove = low[1] - low
IF downMove <= 0 THEN
  downMove = 0
ENDIF

upMoveDominant = 0
IF upMove > downMove AND upMove > 0 THEN
  upMoveDominant = 1
ENDIF

volumeRatio = Volume / Average[volumePeriod](Volume)

impulseUp = (close - close[impulseBars]) / (Highest[impulseBars](high) - Lowest[impulseBars](low)) * 100
impulsePower = (high - low) / Average[powerPeriod](high - low)

// Scale momentum and impulse to 0..1 over the recent window, then blend them.
normMomentum = (priceMomentum - Lowest[momentumPeriod](priceMomentum)) / (Highest[momentumPeriod](priceMomentum) - Lowest[momentumPeriod](priceMomentum))
normImpulse = (impulseUp - Lowest[momentumPeriod](impulseUp)) / (Highest[momentumPeriod](impulseUp) - Lowest[momentumPeriod](impulseUp))

signalLine = (normMomentum * momentumWeight + normImpulse * impulseWeight) / (momentumWeight + impulseWeight)
signalMA = Average[signalPeriod](signalLine)

19 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

SMAMomentumVolumen
Lee esto primeroDebilidades conocidas4 puntos
  • Después de un stop-out, no se abre ninguna operación nueva hasta que la condición de salida normal se haya activado una vez, así que algunas señales válidas se omiten.
  • El edge en la mejor ejecución es modesto: profit factor 1.44 con una tasa de acierto del 48.65% en Nasdaq 100 1 hora.
  • Algunas ejecuciones son muestras pequeñas, como 22 operaciones en Nikkei 225 Diario y 43 en Gold Diario.
  • Solo largos, y los mercados adicionales solo tienen datos de barrido sin un profit factor registrado.

Preguntas

Sobre esta estrategia

¿Se puede automatizar en ProOrder?

Sí. Los cinco filtros de entrada, la salida por señal y el stop del 1% están programados. El código reescrito aún no se ha comprobado en compilación.

¿En qué instrumentos operó?

La ejecución principal de Nasdaq 100 1 hora ganó 4,958.30 EUR en 481 operaciones. Las otras 9 ejecuciones fueron todas positivas, incluidas USD/JPY 1 hora con 144,730 JPY y DAX 40 4 horas con 1,077.90 EUR.

¿Cuál es el riesgo por contrato?

Con 1 contrato y un spread de 3 puntos, la ejecución de Nasdaq 100 1 hora tuvo un max drawdown de 1,181.50 EUR. Cada operación está protegida por un stop del 1%.

¿Por qué barras de 1 hora?

Los filtros de volumen y rango necesitan suficiente actividad por barra para ser significativos. En Nasdaq 100 el gráfico de 1 hora dio el mejor profit factor, 1.44.

Relacionado

Estrategias como esta

Bollinger Squeeze

Usa el mismo indicador.

14.30 PF · 86 operaciones

Negated Hammer

Mejor ejecución en el mismo mercado, Nasdaq 100.

3.20 PF · 372 operaciones

Rock Climber

Un profit factor similar.

1.44 PF · 1,644 operaciones

Mira cómo se operan en la práctica los sistemas de momentum. Apúntate a la lista de espera de ProRealAlgos.

El copy trading en índices de EE. UU. está disponible para los miembros de ProRealAlgos a medida que se abren plazas.

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