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.
Beste run van 5. DAX 40, 4 uur, spread 3, uit run pf:2026-09-15-DAX40-4h.tsv:1.
| Periode | Tot 2026-09-15 |
| Instrument | DAX 40, 4 uur |
| Spread | 3 punten |
| Contracten | 1 |
| Startkapitaal | 1,000,000 |
| Kosten | Alleen spread. Commissies en overnight financiering zijn niet meegerekend. |
| Bars | Tot 200,000 bars, minder waar het instrument minder historie heeft |
| Laatst getest | 2026-09-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
| Markt | Tijdframe | PF | Trades | Winst % | Netto | Max DD |
|---|---|---|---|---|---|---|
| DAX 40Beste run | 4 uur | 1.21 | 548 | 58.58 | 2,336 EUR | -1,352 |
| Dow Jones | Dagelijks | 1.15 | 736 | 48.78 | 2,785 EUR | -1,212 |
| Zilver | 4 uur | 0.40 | 7 | 57.14 | -453 USD | -969 |
| Goud | Dagelijks | n/a | 28 | 60.71 | 311 EUR | -217 |
| S&P 500 | 4 uur | n/a | 5 | 80.00 | 189 EUR | -101 |
Grafieken
Boven 1.0 werd geld verdiend, onder 1.0 werd geld verloren.
De code
// ============================================================ // 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
Vragen
Ja. De stop, het target en de trailing lock zijn ingebouwd, en hij trade 1 contract zonder pyramiding.
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.
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.
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
De ProRealAlgos community krijgt de volledige regels, de complete code en de geautomatiseerde portefeuille.