Op de wachtlijst
Strategieën / Momentum / Impulse Momentum

Impulse Momentum: sterke bars kopen bij hoog volume

Impulse Momentum combineert 13-bar momentum met een 3-bar impulsscore en koopt wanneer dat signaal boven 0.7 en boven zijn eigen 8-bar gemiddelde komt. Het volume moet 1.2 keer normaal zijn, de bar moet 1.8 keer de recente gemiddelde range zijn, en de 9 SMA moet boven de 21 SMA liggen. Hij stapt uit op een stop van 1%, wanneer het signaal wegvalt, of wanneer de koers onder de 9 SMA sluit.

MomentumAlleen longSwingNasdaq 1001 uur
1.44Profit factor
4,958Nettowinst EUR
48.65%Winstpercentage
481Trades
-1,182Max drawdown
10.31Gem. trade

Beste run van 10. Nasdaq 100, 1 uur, spread 3, uit run pf:2026-09-24-NAS100-1h.tsv:2.

Instapregels, long

  1. Volume is meer dan 1.2 keer zijn 21-bar gemiddelde
  2. De range van deze bar is meer dan 1.8 keer de gemiddelde range over 5 bars
  3. De opwaartse beweging vanaf de vorige high is groter dan de neerwaartse beweging vanaf de vorige low
  4. De 9-bar SMA ligt boven de 21-bar SMA

Uitstapregels

  1. Stop loss 1% onder de instap

Testomstandigheden

PeriodeTot 2026-09-25
InstrumentNasdaq 100, 1 uur
Spread3 punten
Contracten1
Startkapitaal1,000,000
KostenAlleen spread. Commissies en overnight financiering zijn niet meegerekend.
BarsTot 200,000 bars, minder waar het instrument minder historie heeft
Laatst getest2026-09-25
Parameters (14)
positionSize
Contracten per trade
1
momentumPeriod
Lengte van het koersmomentum en normalisatievenster
13
volumePeriod
Lengte gemiddeld volume
21
fastPeriod
Snelle SMA-lengte
9
slowPeriod
Langzame SMA-lengte
21
impulseBars
Bars in het korte impulsvenster
3
powerPeriod
Lengte van de gemiddelde bar range voor impulskracht
5
momentumWeight
Gewicht van het genormaliseerde momentum in het signaal
2
impulseWeight
Gewicht van de genormaliseerde impuls in het signaal
3
signalPeriod
SMA-lengte van de signaallijn
8
signalLevel
Signaal moet hierboven liggen om te kopen
0.7
minVolumeRatio
Volume moet dit veelvoud van zijn 21-bar gemiddelde zijn
1.2
minImpulsePower
Bar range moet dit veelvoud van zijn 5-bar gemiddelde zijn
1.8
stopLossPct
Beschermende stop, procent van de instapprijs
1

Elke run

Geteste markten en tijdframes

MarktTijdframePFTradesWinst %NettoMax DD
Nasdaq 100Beste run1 uur1.44 48148.654,958 EUR-1,182
USD/JPY1 uurn/a 83942.55144,730 JPY-56,450
USD/JPY10 minn/a 97540.2146,450 JPY-40,770
Zilver3 minn/a 77336.743,975 USD-2,757
Nikkei 225Dagelijksn/a 2245.453,294 USD-1,928
Zilver2 minn/a 81233.252,654 USD-2,639
Nasdaq 1004 uurn/a 28253.192,145 EUR-1,341
DAX 404 uurn/a 21549.301,078 EUR-821
Goud4 uurn/a 34541.74321 EUR-185
GoudDagelijksn/a 4339.53164 EUR-156

Grafieken

Resultaten per run

NettowinstMax drawdown

De code

ProBuilder, herschreven naar huisstandaard

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

Nog 19 regels: de instap- en uitstapregels.

Opzet

Zo laad je hem in

  1. Kopieer de code met de kopieerknop op het codeblok.
  2. Open in ProRealTime een grafiek van het instrument en tijdframe dat je wilt testen en open dan ProOrder > New trading system en kies "Create with programming".
  3. Plak de code, geef het systeem een naam en sla het op.
  4. Klik op "Backtest", stel je eigen spread en position size in en voer hem uit voordat je overweegt er live mee te traden.

Gebruikte indicatoren

SMAMomentumVolume
Lees dit eerstBekende zwaktes4 punten
  • Na een stop-out opent er geen nieuwe trade tot de normale uitstapvoorwaarde één keer is afgegaan, waardoor sommige geldige signalen worden overgeslagen.
  • De edge in de beste run is bescheiden: profit factor 1.44 met een winstpercentage van 48.65% op Nasdaq 100 1 uur.
  • Sommige runs zijn kleine steekproeven, zoals 22 trades op Nikkei 225 Dagelijks en 43 op Gold Dagelijks.
  • Alleen long, en de extra markten hebben alleen sweep-data zonder vastgelegde profit factor.

Vragen

Over deze strategie

Kan hij in ProOrder worden geautomatiseerd?

Ja. Alle vijf instapfilters, de signaaluitstap en de stop van 1% zijn gecodeerd. De herschreven code is nog niet compile-gecheckt.

Welke instrumenten heeft hij verhandeld?

De belangrijkste Nasdaq 100 1 uur-run maakte 4,958.30 EUR over 481 trades. Alle 9 andere runs waren positief, waaronder USD/JPY 1 uur met 144,730 JPY en DAX 40 4 uur met 1,077.90 EUR.

Wat is het risico per contract?

Met 1 contract en een spread van 3 punten had de Nasdaq 100 1 uur-run een max drawdown van 1,181.50 EUR. Elke trade is beschermd door een stop van 1%.

Waarom 1 uur-bars?

De volume- en range-filters hebben genoeg activiteit per bar nodig om betekenisvol te zijn. Op Nasdaq 100 gaf de 1 uur-grafiek de beste profit factor, 1.44.

Gerelateerd

Strategieën zoals deze

Bollinger Squeeze

Gebruikt dezelfde indicator.

14.30 PF · 86 trades

Negated Hammer

Beste run op dezelfde markt, Nasdaq 100.

3.20 PF · 372 trades

Rock Climber

Een vergelijkbare profit factor.

1.44 PF · 1,644 trades

Bekijk hoe momentum-systemen in de praktijk worden verhandeld. Schrijf je in op de ProRealAlgos-wachtlijst.

Copy trading op Amerikaanse indices is beschikbaar voor ProRealAlgos-leden zodra er plekken vrijkomen.

Backtestresultaten uit het verleden bieden geen garantie voor de toekomst. Dit is geen financieel advies. Samengesteld en onderhouden door ProRealAlgos. ProRealTime™ is een handelsmerk van ProRealTime SAS. prorealalgos.comStatsDocumentatie