Rejoignez-nous
Indicateurs/probuilder · probacktest · proorder · proscreener

FractalDimensionIndex

FractalDimensionIndex[period](price) en ProBuilder mesure la complexité du prix entre 1 et 2, montrant si un marché est en tendance ou coincé dans un range.

Syntaxe

probuilder
FractalDimensionIndex[period](price)

Paramètres

NomTypePar défautDescription
periodentier30Nombre de bars utilisés pour estimer la dimension fractale. Les fenêtres plus courtes réagissent plus vite mais changent de régime plus souvent.
pricesource de prixcloseSérie analysée, par exemple close, open, high, ou low.

Formule

code
FDI = estimated fractal dimension D of the price path over the last period bars
1 <= FDI <= 2

La dimension fractale décrit à quel point une courbe remplit l'espace qu'elle traverse. Une ligne droite a une dimension de 1, une courbe si dentelée qu'elle se comporte comme un plan rempli approche 2. L'indice estime cette dimension pour la trajectoire de prix normalisée à l'intérieur de la fenêtre d'analyse.

Comment ça marche

Le concept vient de la géométrie fractale : un marché en tendance propre trace une trajectoire proche d'une ligne droite, de sorte que sa dimension mesurée reste proche de 1. Un marché qui oscille d'avant en arrière à l'intérieur d'un range trace une trajectoire bien plus sinueuse, et sa dimension grimpe vers 2. L'indicateur condense cette propriété géométrique en une seule jauge de régime.

La ligne de partage conventionnelle est 1.5. Les valeurs en dessous classent la fenêtre comme en tendance, et plus la lecture est basse, plus le mouvement a été unidirectionnel. Les valeurs au-dessus de 1.5 la classent comme en range, avec un mouvement dominé par le bruit et la mean reversion.

L'indice est aveugle à la direction. Une forte tendance haussière et une forte tendance baissière produisent toutes deux des lectures basses. Il est donc utilisé comme un filtre qui décide quel type de stratégie exécuter, une logique de suivi de tendance quand la lecture est basse, une logique de range ou de mean reversion quand elle est haute, plutôt que comme un générateur de signaux à lui seul.

Exemples

Exemple 1, Jauge de régime avec le seuil de 1.5 (Indicateur)

probuilder
// Fractal dimension of the close over 30 bars
FDIValue = FractalDimensionIndex[30](close)
RETURN FDIValue AS "FDI", 1.5 AS "Trend threshold"

Trace le Fractal Dimension Index à 30 périodes face à la limite standard de 1.5 qui sépare le comportement en tendance du comportement en range.

probuilder
// Take channel breakouts only when the market is classified as trending
fdi     = FractalDimensionIndex[30](close)
upBand  = Highest[20](high)

IF NOT LongOnMarket THEN
  IF fdi < 1.5 AND close > upBand[1] THEN
    BUY 1 CONTRACT AT MARKET
  ENDIF
ELSE
  IF close < Average[20](close) THEN
    SELL AT MARKET
  ENDIF
ENDIF

Utilise l'indice comme filtre de régime : les breakouts à 20 bars ne sont tradés que tant que la dimension fractale confirme des conditions de tendance, ce qui écarte les breakouts à l'intérieur de ranges hachés.

probuilder
fdi = FractalDimensionIndex[30](close)
// Low fractal dimension marks near-linear price paths
SCREENER[fdi < 1.4](fdi AS "FDI 30")

Renvoie les instruments dont la trajectoire de prix sur 30 bars est proche de la linéarité, des candidats pour les approches de suivi de tendance quelle que soit la direction.

Interprétation

LectureCaractère du marché
Proche de 1Trajectoire quasi linéaire, forte tendance dans une direction.
En dessous de 1.5En tendance. Plus la valeur est basse, plus la tendance est propre.
Autour de 1.5Transitoire, pas de classification nette.
Au-dessus de 1.5En range, le mouvement du prix est dominé par un bruit d'allers-retours.

L'usage pratique est la sélection et le filtrage de stratégies. Combiner l'indice avec un outil directionnel, comme la pente d'une moyenne mobile ou l'ADX avec les lignes DI, fournit la direction que la dimension fractale omet délibérément. Les lectures qui stagnent près de 1.5 sont ambiguës et sont souvent à traiter comme une zone sans signal.

Erreurs et pièges courants

  • Y lire une direction. Une valeur de 1.2 indique que le marché est en tendance, pas dans quel sens. Associer l'indice à une mesure directionnelle est obligatoire avant de prendre des trades directionnels.
  • Mauvais type de crochets. La période se place entre crochets, la source de prix entre parenthèses : FractalDimensionIndex[30](close). FractalDimensionIndex(30, close) déclenche une erreur de syntaxe.
  • Changements de régime en retard. L'estimation décrit l'ensemble de la fenêtre d'analyse, donc un breakout récent hors d'un long range maintient la lecture au-dessus de 1.5 pendant plusieurs bars. Attendez-vous à ce que la classification soit en retard sur le changement de régime réel.
  • Périodes trop courtes. Les petites fenêtres rendent l'estimation de la dimension instable et l'étiquette de régime change fréquemment. La valeur par défaut de 30 bars est un plancher raisonnable pour la plupart des unités de temps.
  • ADX, mesure de la force de la tendance, elle aussi aveugle à la direction.
  • R2, coefficient de détermination, à quel point le prix s'ajuste à une droite.
  • LinearRegressionSlope, pente directionnelle à associer au filtre de régime.
  • Volatility, mesure d'activité alternative.
  • STD, écart type du prix.
  • Supertrend, surcouche directionnelle de suivi de tendance.
  • RSI, oscillateur borné adapté au régime de range.
  • Average, moyenne mobile pour la direction et les sorties.