|
Echantillon d’indicateurs personnalisés
Cette section fournit un échantillon d'indicateurs connus et la syntaxe dans leurs formules de calcul (c'est-à-dire la chaîne des caractères utilisés dans leur fonction de calcul). Ces derniers sont choisis à titre d'exemple seulement, et ils sont tous pré-définis dans MetaStock (i.e., nul besoin de les créer pour pouvoir les pointer à l'écran). Ils offrent de bonnes illustrations sur la syntaxe de base qui est utilisée dans le calcul des indicateurs les plus variés.
Pour en savoir plus sur l'interprétation de ces indicateurs, reportez-vous à la page Guide des indicateurs
.La formule de l'indicateur d'Accumulation/Distribution utilise la fonction cum () (fonction cumul) pour tenir le total cumulé des valeurs quotidiennes.
cum( (((C-L) - (H-C)) / (H-L)) * V)
Bollinger Bands (Bandes de Bollinger)
Les Bandes de Bollinger utilisent la fonction stdev() (fonction écart type) pour le calcul de la bande haute et de la bande basse. La bande centrale est en moyenne mobile simple à 20 unités de temps.
Periods:=input("Enter the number of periods: ",5,50,20);
mov(C, Periods, S);
mov( C, Periods, S ) + ( 2 * stdev( C, Periods ));
mov( C, Periods, S ) - ( 2 * stdev( C, Periods ))
Chaikin A/D Oscillator (Oscillateur d'A/D ou Oscillateur de Chaikin)
mov( ad(), 3, E) - mov( ad(), 10, E)
L'Oscillateur de Chaikin peut faire appel à la formule d'Accumulation/ Distribution pré-définie en appelant la fonction ad() (fonction Accumulation/Distribution) comme ci-dessus, ou alors inclure la véritable formule de calcul de l'Accumulation/ Distribution comme nous le montrons ci-dessous.
mov(cum((((C-L)-(H-C))/(H-L))*V),3,E)-mov(cum((((C-L)-(H-C))/(H-L))*V),10,E)
Median Price (Prix Médian)
(high + low) / 2
Momentum
La formule du Momentum fait appel à la fonction ref() ( fonction référence ou renvoi) pour renvoyer au prix de clôture d'il y a 12 unités de temps.
(close / ref( close, -12 )) * 100
Moving Average MACD (Moving Average Convergence Divergence)
Une majorité d'analystes (dont ceux d'EQUIS International) disent pour simplifier que l'indicateur de MACD, ou la ligne de MACD, est égal à "la différence entre une moyenne mobile exponentielle à 12 jours et une moyenne mobile exponentielle à 26 jours." Pour être précis, cet indicateur est la différence entre les moyennes mobiles exponentielles à 0.15 et à 0.07 et non les moyennes mobiles exponentielles à 12 et 26 jours lesquelles, une fois exprimées sous leur forme décimale, représentent des coefficients de pondération exponentielle de 0.153846 et 0.076923. Pour plus d'information sur les méthodes de calcul des moyennes mobiles exponentielles.
A cause de ces différences mineures dans la valeur des coefficients de pondération des moyennes mobiles exponentielles, la formule que nous vous donnons ci-après est légèrement différente de celle du véritable indicateur de MACD tel qu'il est pré-défini par MetaStock. Rappelez-vous que vous pourrez toujours appeler le véritable indicateur de MACD, tout simplement en utilisant la fonction macd().
mov( close, 12, E) - mov( close, 26, E)
La ligne de signal du système du MACD (qui n'est autre que la moyenne mobile exponentielle à 9 jours de l'indicateur de MACD) peut être calculée comme suit:
mov( macd(), 9, E)
Negative Volume Index (Index de Volume Négatif)
Il vous faut utiliser la fonction nvi() (fonction de l'index de volume négatif) pour calculer le Negative Volume Index pré-défini. Cependant, un indicateur proche pourra être calculé en utilisant la formule suivante:
cum( if( V < ref(V,-1), roc(C,1,%), 0 ))
On Balance Volume (OBV)
La formule suivante permet de calculer l'indicateur d'OBV (On Balance Volume):
(if(c > ref(c,-1),1,-1) * volume) + PREV
Remarquez que la constante PREV
représente la valeur de l’indicateur le jour précédent.Positive Volume Index (Index des volumes positifs)
Vous devez nécessairement utiliser la fonction pvi() (fonction de l'index de volume positif) pour calculer le Positive Volume Index pré-défini. Cependant, un indicateur proche pourra être calculé en utilisant la formule suivante:
cum( if( V > ref(V,-1), roc(C,1,%), 0))
Price Oscillator (Oscillateur des prix)
La formule suivante donne l'Oscillateur des Prix à 10-unités de temps/20-unités de temps exponentielles exprimé en points (ou en différence):
mov( close, 10, E) - mov( close, 20, E)
La formule de calcul suivante donne l'Oscillateur des Prix à 10-periodes/20-unités de temps exprimé en pourcentage (ou en ratio):
(( mov(C,10,E) - mov(C,20,E) )/mov(C,20,E)) * 100
Price Rate-Of-Change (Taux de variation des prix)
La formule suivante calcule le Rate-Of-Change des prix à 12 unités de temps en pourcentage:
(( C - ref(C,-12)) / ref(C,-12)) * 100
La formule du ROC à 12 unités de temps en pourcentage peut être réécrite plus simplement en utilisant la fonction roc(), comme nous le montrons ci-dessous:
roc( close, 12, % )
La formule du ROC à 12 unités de temps peut également être exprimée en points avec la formule suivante:
close - ref(close, -12)
Price Volume Trend (Indicateur de tendance prix/volume)
La formule suivante utilise la fonction cum() (voir page) pour calculer le Price Volume Trend:
cum( ((C - ref(C,-1)) / ref(C,-1)) * V)
Cette formule peut également être écrite en utilisant la fonction roc() (voir page) comme ci-dessous:
cum( roc(close, 1, %) * volume )
Standard Deviation (Ecart-type)
Un écart-type à 4-unités de temps peut être obtenu au moyen des deux écritures suivantes. La première formule est tout simplement une moyenne mobile simple, ou moyenne arithmétique, à 4 unités de temps. Cette forme de calcul pourrait être baptisée "MM à 4 unités de temps". La seconde forme de calcul fait la somme des carrés des différences entre les cours de clôture de chacune des 4 dernières périodes et leurs moyennes mobiles respectives. Il suffit ensuite de tirer la racine carrée du total ainsi obtenu.
4PeriodMA:= mov( close, 4, S );
sqrt(( power(4PeriodMA) - C, 2) +
power(fml(4PeriodMA)- ref(C,-1), 2) +
power(fml(4PeriodMA)- ref(C,-2), 2) +
power(fml(4PeriodMA)- ref(C,-3), 2) ) / 4 )
Une méthode plus simple consiste à tirer la racine carrée de la fonction de variance comme nous le montrons ci-après:
sqrt( var( close, 4 ) )
Et, bien entendu, vous pourrez toujours écrire la formule de l'Ecart-Type en utilisant tout simplement la fonction pré-définie stdev() (fonction écart-type).
Stochastic Momentum Index (Indicateur de momentum de stochastique)
La formule suivante calcule un Stochastic Momentum Index 13,25,2.
100 * ( Mov( Mov(C - (0.5 * ( HHV(H,13) + LLV(L,13))),25,E),2,E) / (0.5*Mov( Mov( HHV(H,13) - LLV(L,13),25,E),2,E)))
Stochastic Oscillator (Oscillateur de stochastique)
La formule suivante nous donne un Oscillateur de Stochastique %K à 5 périodes avec un lissage à 3 unités de temps (ralentie par sa moyenne mobile exponentielle à 3 unités de temps):
(sum( C - llv(L,5), 3 ) / sum(hhv(H,5) - llv(L,5), 3) ) * 100
La formule suivante calcule une ligne %D à 3 unités de temps de la ligne %K tirée de la formule précédente.
mov( stoch(5,3), 3, E )
Volatility, Chaikin (Volatilité de Chaikin)
La formule de Volatilité que nous donnons ci-dessous utilise une moyenne mobile à 10 périodes et un rate-of-change à 12 unités de temps:
roc( mov( high-low, 10, E), 12, %)
Volume Oscillator (Oscillateur des volumes)
La formule suivante montre le calcul de l'Oscillateur des Volumes en moyenne exponentielle à 10 sur 20 unités de temps, et exprimé en points.
mov( volume, 10, E) - mov( volume, 20, E)
La formule suivante calcule l'Oscillateur des Volumes en moyenne exponentielle à 10 sur 20 unités de temps, et exprimé en pourcentage.
(( mov(V,10,E) - mov(V,20,E))/mov(V,20,E)) * 100
Volume Rate-Of-Change (Taux de variation des volumes)
La formule suivante est celle d’un indicateur de Volume Rate-Of-Change à 12 unités de temps.
(( V - ref(V,-12)) / ref(V,-12)) * 100
Cet indicateur peut également être réécrit en utilisant la fonction roc() comme nous le montrons ci-dessous:
roc( volume, 12, % )
Weighted Close (Clôture pondérée)
La formule de calcul de cet indicateur est obtenue en multipliant les prix de clôture par deux, en ajoutant à ce chiffre la valeur des hauts et des bas, puis en divisant le tout par quatre.
((close * 2) + high + low ) / 4
Williams' Accumulation/Distribution
Pour simplifier l’explication de la formule, nous la décomposerons en trois sous-formules. La première attribue le "true range" des hauts à une variable. De même, la seconde formule assigne le "true range" des bas à une variable. La troisième calcule l’indicateur Williams' A/D.
TrueRangeHigh:=max( ref(close,-1), high );
TrueRangeLow:=min( ref(close,-1), low );
cum(if(C > ref(C,-1),C-TrueRangeLow, if(C < ref(C,-1),C-TrueRangeHigh,0)))
Williams' %R (%R de Williams)
La formule suivante est celle du %R de Williams à 14 périodes. Remarquez qu'ici le calcul initial est multipliée par -100 pour être inversée.
NumPeriods:= Input("Enter the number of periods:",3,50,14);
((HHV(C,NumPeriods) - C)/(HHV(H,NumPeriods) - LLV(L,NumPeriods))) * -100;