Rejoindre la liste d'attente
Stratégies / Mean reversion / Fractal Dimension EMA Reversion

Fractal Dimension EMA Reversion

Une barre qui ouvre au-dessus de la clôture précédente mais qui clôture ensuite sous l'EMA à 40 périodes déclenche un achat, tant que l'indice de dimension fractale à 30 barres est inférieur à 1.5. Le setup inverse vend short. Chaque trade est clôturé exactement 4 barres plus tard ou sur un stop de 60 points.

Mean reversionLong & shortSwingGBP/USD4 heures
n/aProfit factor
1,375Gain net USD
47.35%Taux de réussite
906Trades
-1,363Max drawdown
1.52Trade moyen

Meilleure exécution sur 2. GBP/USD, 4 heures, spread 1.5, issue de l'exécution sweeps:2026-09-21-GBPUSD-4h-opt.tsv:4.

Règles d'entrée, long

  1. La barre ouvre au-dessus de la clôture précédente
  2. L'indice de dimension fractale à 30 barres est inférieur à 1.5
  3. Aucun long ouvert
  4. Exécuté à l'ouverture de la barre suivante

Règles d'entrée, short

  1. La barre ouvre en dessous de la clôture précédente
  2. L'indice de dimension fractale à 30 barres est inférieur à 1.5
  3. Aucun short ouvert
  4. Exécuté à l'ouverture de la barre suivante

Règles de sortie

  1. Stop loss de 60 points

Conditions de test

PériodeJusqu'au 2026-09-21
InstrumentGBP/USD, 4 heures
Spread1.5 points
Contrats1
Capital de départ1,000,000
CoûtsSpread uniquement. Les commissions et le financement overnight ne sont pas inclus.
BarresJusqu'à 200,000 barres, moins lorsque l'instrument a moins d'historique
Dernier test2026-09-21
Paramètres (6)
positionSize
Contrats par trade
1
emaPeriod
Longueur de l'EMA pour le signal
40
fdiPeriod
Période de calcul de la dimension fractale
30
fdiThreshold
Trader uniquement lorsque la dimension fractale est inférieure à cette valeur
1.5
maxBarsInTrade
Clôturer le trade exactement ce nombre de barres après l'entrée
4
stopLossPoints
Stop de protection en points
60

Chaque exécution

Marchés et unités de temps testés

MarchéUnité de tempsPFTrades% de réussiteNetMax DD
GBP/USDMeilleure exécution4 heuresn/a 90647.351,375 USD-1,363
DAX 40Journaliern/a 35831.562,147 EUR-1,902

Graphiques

Résultats par exécution

Gain netMax drawdown

Le code

ProBuilder, réécrit selon le standard maison

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

26 lignes de plus : les règles d'entrée et de sortie.

Configuration

Comment la charger

  1. Copiez le code avec le bouton Copier du bloc de code.
  2. Dans ProRealTime, ouvrez un graphique de l'instrument et de l'unité de temps que vous voulez tester, puis ouvrez ProOrder > Nouveau système de trading et choisissez "Créer par programmation".
  3. Collez le code, donnez un nom au système et enregistrez-le.
  4. Cliquez sur "Backtest", définissez votre propre spread et votre position size, puis lancez-la avant d'envisager de la trader en réel.

Indicateurs utilisés

EMAIndice de dimension fractale
À lire d'abordFaiblesses connues4 points
  • Le profit factor n'a pas été enregistré. Les résultats proviennent uniquement de sweeps de paramètres.
  • L'edge est très mince. Sur GBP/USD 4 heures, le trade moyen était de 1.52 USD et le drawdown de 1,363.2 USD est presque égal au gain net de 1,374.7 USD.
  • DAX 40 Journalier n'a gagné que 31.56% de ses trades et a subi un drawdown de 1,902.2 EUR pour un gain de 2,147.3 EUR.
  • Seuls deux marchés ont été testés, il y a donc peu de preuves au-delà de GBP/USD et DAX 40.

Questions

À propos de cette stratégie

Peut-elle être exécutée dans ProOrder ?

Oui. Les entrées sont exécutées à l'ouverture de la barre suivante et les sorties sont un stop temporel de 4 barres plus un stop de 60 points, tout est codé.

Comment se sont passés les tests ?

GBP/USD 4 heures a gagné 1,374.7 USD sur 906 trades avec un taux de réussite de 47.35%. DAX 40 Journalier a gagné 2,147.3 EUR sur 358 trades.

Quel risque accompagne 1 contrat ?

Le pire drawdown sur GBP/USD 4 heures a été de 1,363.2 USD à 1 contrat, proche de la totalité du gain du test.

Pourquoi le graphique en 4 heures ?

Une détention de 4 barres sur des barres de 4 heures maintient les trades sous une journée de temps de marché, ce qui convient à une idée de reversion courte sur une paire de devises.

Voir aussi

Des stratégies comme celle-ci

Monday Dip Buy

Utilise le même indicateur.

n/a PF · 146 trades

SuperTrend CCI

Meilleure exécution sur le même marché, GBP/USD.

1.72 PF · 561 trades

ATR Band

Également une stratégie mean reversion.

10.31 PF · 53 trades

Vous voulez savoir quelles idées de reversion arrivent en trading réel ? Rejoignez la liste d'attente ProRealAlgos.

La communauté ProRealAlgos obtient les règles complètes, le code complet et le portefeuille automatisé.

Les résultats passés de backtest ne garantissent pas les résultats futurs. Ceci n'est pas un conseil financier. Sélectionné et maintenu par ProRealAlgos. ProRealTime™ est une marque de ProRealTime SAS. prorealalgos.comStatsDocumentation