ProRealTime – Calculer l’Ecart Type

 

L’Ecart Type, ou la fonction STD[p](Price) de ProRealTime, est connu de nombreux utilisateurs. Il va sans dire qu’il est, d’une façon plus générale, utilisé par de nombreux traders dans la construction d’indicateurs divers et variés. En quelques mots, l’écart type est un indice de mesure de la dispersion d’un ensemble de valeurs. Dans le cas plus particulier du trading, il est souvent utilisé, soit comme indicateur de volatilité autour d’une moyenne, soit sous la forme d’une enveloppe de prix pour définir des objectifs de bénéfice ou encore des zones de “sur achat” ou “sur vente”. A titre d’exemple, il est le pivot de l’indicateur “Bandes de Bollinger“.

En résumé, plus l’écart type est faible, plus les prix sont homogènes autour de leur moyenne. C’est le cas des prix dans les zones A, B et C dans le graphique ci dessous. Ces zones sont représentatives des phases de marché à faible volatilité dispersion pendant lesquelles une pression acheteuse ou vendeuse n’est pas encore clairement installée. Au contraire, plus l’écart type est élevé, plus la dispersion est importante. C’est le cas des prix dans les zones D et E. Ces zones sont représentatives des phases de pression acheteuse ou vendeuse excessives. Suite à une forte volatilité, les prix ont tendance à revenir rapidement vers la moyenne. Attention, comme vous pouvez le constater dans le rectangle vert, l’écart type n’est pas un indice de mesure de l’existence d’une tendance.

 

Vous trouverez ici des explications mathématiques plus complètes.

Revenons à la construction de cet indicateur dans ProRealTime. Bien évidemment, je souhaite vous montrer comment la programmation ProRealTime peut élargir le champ d’application de l’écart type. A ce jour, vous utilisez certainement uniquement la fonction native de ProRealTime, c’est à dire :

Elle vous permet de construire un écart type sur la base d’une moyenne mobile simple de [p] périodes, avec l’option du type de prix (Prix). Comme par exemple…

En revanche, cette fonction ne vous permet pas…

  • De modifier le type de la moyenne mobile sous jacente
  • De pondérer les écarts à la moyenne
  • De calculer l’écart type d’un indicateur
  • ect…

Voici quelques lignes de programmation ProRealTime pour répondre à ces différents besoins. Alors que nous admettons la règle de programmation “L’écart type est la moyenne des écarts à la moyenne”, nous commençons par écrire un indicateur qui réplique la fonction native ProRealTime.

Le fontion ProRealTime STD

Ci dessous, il y a un écart entre la bande bleue et la bande rouge, ce qui nous indique que le calcul est incorrect.

 

 

En fait, il est nécessaire de calculer le carré des écarts pour respecter la formule à la lettre !!

Le carré des écarts à la moyenne


Et voici le résultat !

Bien évidemment, dès à présent vous pouvez laisser votre créativité déborder … La programmation ProRealTime vous permet de créer des indicateurs encore plus avancés.

Un écart type pondéré

Pourquoi pas un écart type pondéré?

Une alternative au prix de clôture

Pourquoi pas une moyenne mobile exponentielle basée sur un TypicalPrice ? Alors que l’Ecart Type est mesuré sur la valeur moyenne quotidienne ?

Un écart type en tendance

Ou encore un écart type mesuré sur une référence de prix différente selon la position de la moyenne mobile?

L’écart type des indicateurs

Enfin, la programmation ProRealTime vous permet désormais de calculer un écart type sur un indicateur pour identifier les marchés en tension. Voici un exemple sur le MACD.


Vous pouvez identifier les zones ou la pression actuelle du marché s’affaiblit, soit avant de repartir, soit avant de céder à la pression adverse. Ci après quelques zones ou l’écart type MACD est faible, identifiées avec les cercles de couleur orange.

En espérant vous avoir donné, en matière de programmation ProRealTime, quelques clefs et idées supplémentaires !

Vos commentaires sont les bienvenus ! N’hésitez pas à partager vos idées et suggestions. Vous pouvez également nous contactez à l’adresse prorealtime@trading-automatique.fr

Grégoire Tardy.

Septembre 2010

PS : La programmation ProRealTime pour copier/coller

Code ProRealTime Modèle – 1

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime … 20 périodes …. en bleu…. sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l’écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des écarts à la moyenne

Delta = ABS(Close[x] – EMA) //  Ecart absolu entre prix et moyenne de référence
Deltasum = DeltaSum + Delta

// Calcul de la moyenne des écarts à la moyenne
ETINDIC =  (DeltaSum /  (x+1) )    // en rouge…

Next

Return ETINDIC  as “Ecart Type Calculé” ,  ETPRT as “Ecart Type ProRealTime”

Code ProRealTime Modèle – 2

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime … 20 périodes …. en bleu…. sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l’écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

Delta = SQUARE(Close[x] – EMA) //  Ecart au carré entre prix et moyenne de référence
Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf…
ETINDIC =  SQRT(DeltaSum /  (x+1))    // en rouge…

Next

Return ETINDIC  as “Ecart Type Calculé” ,  ETPRT as “Ecart Type ProRealTime”

Code ProRealTime Modèle – 3

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0
SumX = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime … 20 périodes …. en bleu…. sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l’écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

Delta = SQUARE((20 – x)  * (Close[x] – EMA)) //  Ecart au carré entre prix et moyenne de référence
SumX = SumX + (20 – x)
Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf…
ETINDIC =  SQRT((DeltaSum / SumX) /  (x+1))    // en rouge…

Next

Return ETINDIC  as “Ecart Type Calculé” ,  ETPRT as “Ecart Type ProRealTime”

Code ProRealTime Modèle – 4

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// New !!

Price = (High + Low) / 2
EMAPrice = TypicalPrice

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime … 20 périodes …. en bleu…. sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = ExponentialAverage[20](EMAPrice)

// Indicateur personnel de l’écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des écarts à la moyenne
// En passant par le calcul du carré des écarts.

Delta = SQUARE (Price[x] – EMA) // au lieu de Delta = ABS(Close[x] – EMA)
Deltasum = DeltaSum + Delta

// Calcul de la moyenne des écarts à la moyenne
ETINDIC =  SQRT(DeltaSum /  (x+1) )    // en rouge… au lieu de  ETINDIC = DeltaSum / (x+1)

Next

Return ETINDIC  as “Ecart Type Calculé” ,  ETPRT as “Ecart Type ProRealTime”

Code ProRealTime Modèle – 5

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Fonction native PRT

ETPRT = STD[20](close)  // Ecart Type ProRealTime … 20 périodes …. en bleu…. sur le graphique

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](Close)

// Indicateur personnel de l’écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

If CLOSE => EMA Then

Delta = SQUARE(High[x] – EMA) //  Ecart au carré entre prix et moyenne de référence

Else

Delta = SQUARE(Low[x] – EMA) //  Ecart au carré entre prix et moyenne de référence
EndIf

Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf…
ETINDIC =  SQRT(DeltaSum /  (x+1))    // en rouge…

Next

Return ETINDIC  as “Ecart Type Calculé” ,  ETPRT as “Ecart Type ProRealTime”

Code ProRealTime Modèle – 6

// www.trading-automatique.fr

Delta = 0
DeltaSum = 0

// Moyenne mobile simple 20 périodes sur le prix de clêture

EMA = Average[20](MACDline[12,26,9](close))

// Indicateur personnel de l’écart type

For x = 0 to 19 // 20 dernières bougies

// Calcul de la somme des carrés des écarts à la moyenne

Delta = SQUARE(MACDline[12,26,9](close) – EMA) //  Ecart au carré entre prix et moyenne de référence

Deltasum = DeltaSum + Delta  // Somme des carrés des écarts

// Calcul de la moyenne de la racine du carré des écarts à la moyenne.. ouf…
ETINDIC =  SQRT(DeltaSum /  (x+1))    // en rouge…

Next

Return ETINDIC  as “Ecart Type Calculé”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>