Een bar die boven de vorige close opent maar daarna onder de 40-periode EMA sluit, triggert een koop, zolang de 30 bar fractal dimension index onder 1.5 ligt. De spiegelsetup verkoopt short. Elke trade wordt precies 4 bars later gesloten of op een stop van 60 punten.
Beste run van 2. GBP/USD, 4 uur, spread 1.5, uit run sweeps:2026-09-21-GBPUSD-4h-opt.tsv:4.
| Periode | Tot 2026-09-21 |
| Instrument | GBP/USD, 4 uur |
| Spread | 1.5 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-21 |
| positionSize Contracten per trade | 1 |
| emaPeriod EMA-lengte voor het signaal | 40 |
| fdiPeriod Lookback fractale dimensie | 30 |
| fdiThreshold Handel alleen wanneer de fractal dimension onder deze waarde ligt | 1.5 |
| maxBarsInTrade Sluit de trade precies dit aantal bars na de instap | 4 |
| stopLossPoints Beschermende stop in punten | 60 |
Elke run
| Markt | Tijdframe | PF | Trades | Winst % | Netto | Max DD |
|---|---|---|---|---|---|---|
| GBP/USDBeste run | 4 uur | n/a | 906 | 47.35 | 1,375 USD | -1,363 |
| DAX 40 | Dagelijks | n/a | 358 | 31.56 | 2,147 EUR | -1,902 |
Grafieken
De code
// ============================================================ // Fractal Dimension EMA Reversion // ProRealAlgos Strategy Library | prorealalgos.com // Type: Mean reversion // Direction: Long & short // Timeframe tested: 4 hours // ============================================================ // --- Settings --- DEFPARAM CumulateOrders = false // --- Parameters --- positionSize = 1 // contracts per trade emaPeriod = 40 // EMA length for the signal fdiPeriod = 30 // fractal dimension lookback fdiThreshold = 1.5 // trade only when the fractal dimension is below this maxBarsInTrade = 4 // close the trade exactly this many bars after entry stopLossPoints = 60 // protective stop in points // --- Indicators --- emaValue = ExponentialAverage[emaPeriod](close) // Fractal dimension index: near 1 = trending, near 2 = choppy. // Undefined until enough history, so the filter blocks early trades. ONCE fdiValue = undefined IF BarIndex >= fdiPeriod - 1 THEN pathLength = 0 prevScaled = 0 fdiValue = 0 fdiHigh = Highest[fdiPeriod](close) fdiLow = Lowest[fdiPeriod](close) FOR i = 1 TO fdiPeriod - 1 DO IF (fdiHigh - fdiLow) > 0 THEN scaledPrice = (CustomClose[i] - fdiLow) / (fdiHigh - fdiLow) IF i > 1 THEN pathLength = pathLength + SQRT(SQUARE(scaledPrice - prevScaled) + (1 / SQUARE(fdiPeriod))) ENDIF prevScaled = scaledPrice ENDIF NEXT IF pathLength > 0 THEN fdiValue = 1 + (LOG(pathLength) + LOG(2)) / LOG(2 * fdiPeriod) ELSE fdiValue = 0 ENDIF ENDIF barsInTrade = BarIndex - TradeIndex
Nog 26 regels: de instap- en uitstapregels.
Opzet
Vragen
Ja. Instappen worden uitgevoerd op de open van de volgende bar en de exits zijn een tijdstop van 4 bars plus een stop van 60 punten, allemaal gecodeerd.
GBP/USD 4 uur maakte 1,374.7 USD over 906 trades met een winstpercentage van 47.35%. DAX 40 Dagelijks maakte 2,147.3 EUR over 358 trades.
De ergste drawdown op GBP/USD 4 uur was 1,363.2 USD bij 1 contract, dicht bij de volledige winst van de test.
Een hold van 4 bars op bars van 4 uur houdt trades onder één dag markttijd, wat past bij een kort reversion idee op een valutapaar.
Gerelateerd
De ProRealAlgos community krijgt de volledige regels, de complete code en de geautomatiseerde portefeuille.