Vous souhaitez créer deux moyennes mobiles de même période, mais sur des données différentes : la première moyenne mobile doit s’appliquer à la valeur la plus haute de chaque barre (High) tandis que la deuxième doit utiliser la valeur la plus basse (Low). |
|
Une solution consiste à créer manuellement les deux indicateurs suivants :
1 |
return average(High) # Moyenne mobile haute |
1 |
return average(Low) # Moyenne mobile basse |
Répétée plusieurs fois, la solution ci-dessus ne se révèle pas optimale : elle induit une multiplication du nombre d’indicateurs, qui deviendront rapidement fastidieux à créer à gérer, et à modifier (chaque modification devant être effectuée plusieurs fois).
La solution consiste à créer un indicateur générique, en utilisant simplement la valeur Price :
1 |
return average(Price) # Moyenne mobile générique |
Cet indicateur peut-être alors être utilisé comme n’importe quel autre indicateur. En l’absence d’indication contraire de votre part, Price se comporte exactement comme Close. La nouveauté est qu’il est possible de changer cette valeur, en remplaçant par exemple Close par High.
|
|
Remplacez alors « Close » par « High », puis cliquez sur OK :

|
Changement de Price
|
|
De même, pour se servir d’un indicateur générique au sein d’un autre indicateur, utilisez la syntaxe habituelle :
1 |
return IndicateurGenerique[0] |
Si vous souhaitez préciser une valeur pour Price, vous pouvez alors le faire entre parenthèses, immédiatement après le nom de l’indicateur générique :
1 |
return IndicateurGenerique(High)[0] |
Price permet de plus de combiner plusieurs indicateurs entre eux :
1 |
return IndicateurGenerique(TypicalPrice)[0] |
Dans l’indicateur ci-dessus la valeur Price d’IndicateurGenerique sera remplacée par TypicalPrice. Si IndicateurGenerique était la moyenne mobile générique présentée précédemment, cette combinaison serait donc l’équivalent de :
1 |
return average(TypicalPrice) |