Op de wachtlijst
Strategieën / Trend / KAMA SMA Cross

KAMA SMA Cross-strategie

De trigger is een KAMA-lijn die de 22-periode SMA kruist, long of short genomen. Na een instap is één trade per signaalcyclus toegestaan, die elke dag en na het sluiten van een trade wordt gereset. Uitstappen gebruiken een stop van 50 pip, een target van 200 pip en een trailing lock die een groeiend aandeel van de open winst vasthoudt.

TrendLong & shortSwingDAX 404 uur
1.21Profit factor
2,336Nettowinst EUR
58.58%Winstpercentage
548Trades
-1,352Max drawdown
4.26Gem. trade

Beste run van 5. DAX 40, 4 uur, spread 3, uit run pf:2026-09-15-DAX40-4h.tsv:1.

Instapregels, long

  1. Geen positie open
  2. Er is nog geen trade gedaan in de huidige signaalcyclus (opnieuw geactiveerd bij elke nieuwe dag en na het sluiten van elke trade)

Instapregels, short

  1. Geen positie open
  2. Er is nog geen trade gedaan in de huidige signaalcyclus (opnieuw geactiveerd bij elke nieuwe dag en na het sluiten van elke trade)

Uitstapregels

  1. Vast target van 200 pips
  2. Vaste stop loss van 50 pips
  3. Het vastgezette niveau wordt geplaatst als stop- of limietorder, of de trade wordt tegen marktprijs gesloten als de koers er binnen 7 pips van ligt

Testomstandigheden

PeriodeTot 2026-09-15
InstrumentDAX 40, 4 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-16
Parameters (16)
positionSize
Contracten per trade
1
allowLong
1 = long trades toegestaan, 0 = verboden
1
allowShort
1 = short trades toegestaan, 0 = verboden
1
takeProfitPoints
Vast target in pips
200
stopLossPoints
Vaste stop in pips
50
kamaPeriod
Lengte van de KAMA efficiency ratio
2
kamaFastPeriod
Snelste smoothing-lengte van KAMA
2
kamaSlowPeriod
Langzaamste smoothing-lengte van KAMA
30
slowPeriod
SMA-lengte
22
trailStartPoints
Open winst in pips voordat de trailing stop start
10
baseProfitShare
Aandeel van de open winst dat bij de start wordt vastgezet
0.1
trailStepPoints
Elk blok van dit aantal pips verhoogt het aandeel
6
profitShareStep
Toename van het aandeel per blok, ten opzichte van de basis
0.1
roundingOffset
-0.5 zorgt dat round() naar beneden afrondt
-0.5
profitShareCap
Bovengrens voor het vastgezette aandeel
100
minDistancePips
Dichterbij dan dit: stap uit tegen marktprijs in plaats van met een pending order
7

Elke run

Geteste markten en tijdframes

MarktTijdframePFTradesWinst %NettoMax DD
DAX 40Beste run4 uur1.21 54858.582,336 EUR-1,352
Dow JonesDagelijks1.15 73648.782,785 EUR-1,212
Zilver4 uur0.40 757.14-453 USD-969
GoudDagelijksn/a 2860.71311 EUR-217
S&P 5004 uurn/a 580.00189 EUR-101

Grafieken

Resultaten per run

Boven 1.0 werd geld verdiend, onder 1.0 werd geld verloren.

De code

ProBuilder, herschreven naar huisstandaard

// ============================================================
// KAMA SMA Cross
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long & short
// Timeframe tested: 4 hours
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = true
DEFPARAM PreloadBars = 10000

// --- Parameters ---
positionSize = 1          // contracts per trade
allowLong = 1             // 1 = long trades allowed, 0 = banned
allowShort = 1            // 1 = short trades allowed, 0 = banned
takeProfitPoints = 200    // fixed target in pips
stopLossPoints = 50       // fixed stop in pips
kamaPeriod = 2            // KAMA efficiency ratio length
kamaFastPeriod = 2        // KAMA fastest smoothing length
kamaSlowPeriod = 30       // KAMA slowest smoothing length
slowPeriod = 22           // SMA length
trailStartPoints = 10     // open profit in pips before the trailing stop starts
baseProfitShare = 0.1     // share of open profit locked in at the start
trailStepPoints = 6       // each chunk of this many pips raises the share
profitShareStep = 0.1     // share increase per chunk, relative to the base
roundingOffset = -0.5     // -0.5 makes round() round down
profitShareCap = 100      // upper cap on the locked share
minDistancePips = 7       // closer than this, exit at market instead of a pending order

// --- Indicators ---
minStopDistance = minDistancePips * PipSize

IF NOT OnMarket THEN
  barsInTrade = 0
ELSE
  barsInTrade = barsInTrade + 1
ENDIF

// Kaufman adaptive moving average, built by hand
fastestAlpha = 2 / (kamaFastPeriod + 1)
slowestAlpha = 2 / (kamaSlowPeriod + 1)
IF BarIndex >= (kamaPeriod + 1) THEN
  priceChange = abs(close - close[kamaPeriod])
  pathLength = Summation[kamaPeriod](abs(close - close[1]))
  efficiencyRatio = priceChange / pathLength
  kamaAlpha = SQUARE(efficiencyRatio * (fastestAlpha - slowestAlpha) + slowestAlpha)
  kamaValue = (kamaAlpha * close) + ((1 - kamaAlpha) * kamaValue[1])
ELSE
  kamaValue = close
ENDIF

slowMA = Average[slowPeriod, 0](close)

Nog 78 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

KAMASMA
Lees dit eerstBekende zwaktes4 punten
  • De profit factor op de beste run is maar 1.21, met een gemiddelde trade van EUR 4.26, dus kleine kostenwijzigingen zijn van belang.
  • Silver 4 uur eindigde op USD -452.50 met een profit factor van 0.4, zij het op slechts 7 trades.
  • Gold dagelijks (28 trades) en S&P 500 4 uur (5 trades) hebben te weinig trades om te beoordelen.
  • Het oorspronkelijke idee gebruikte een 1 uur-signaal over meerdere tijdframes. De geteste code draait alles op één grafiektijdframe, wat een ander systeem is.

Vragen

Over deze strategie

Is hij klaar voor ProOrder?

Ja. De stop, het target en de trailing lock zijn ingebouwd, en hij trade 1 contract zonder pyramiding.

Wat waren de testresultaten?

DAX 40 4 uur gaf EUR 2,335.90 over 548 trades bij een profit factor van 1.21. Dow Jones dagelijks was vergelijkbaar met 1.15, terwijl Silver 4 uur geld verloor.

Hoeveel drawdown had hij?

Met 1 contract had de DAX 40-run een max drawdown van EUR 1,351.90. Dat is meer dan de helft van de nettowinst.

Waarom 4 uur-bars?

KAMA-kruisingen op DAX 40 bars van 4 uur komen vaak genoeg voor voor een bruikbare steekproef, terwijl de stop van 50 pip nog ruimte heeft om te werken.

Gerelateerd

Strategieën zoals deze

Bollinger Squeeze

Gebruikt dezelfde indicator.

14.30 PF · 86 trades

Buy After Price Fall

Beste run op dezelfde markt, DAX 40.

1.88 PF · 312 trades

EMA 20/50 Cross

Een vergelijkbare profit factor.

1.22 PF · 1,288 trades

Moving average-kruisingen werken zelden alleen. Schrijf je in op de ProRealAlgos-wachtlijst om te zien wat er goed bij past.

De ProRealAlgos community krijgt de volledige regels, de complete code en de geautomatiseerde portefeuille.

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