BFParticipant
New
Bonjour à tous,
Je cherche à mémoriser la valeur de l’indicateur Chaikin Oscillator au moment de l’ouverture de la bougie (quelque soit l’unité de temps) dans une variable “x” qui reste fixe jusqu’à la clôture de sa bougie.
Je m’explique: cet indicateur qu’on le paramètre sur “open” ou “close” sa valeur change tout le temps pendant la durée de la bougie.
Or par exemple le RSI si on le configure sur “open”, sa valeur est calculée qu’une seule fois à l’open puis ne change plus jusqu’à la prochaine ouverture. Par contre si on choisi de calculer le RSI sur “close” alors sa valeur varie jusqu’à la clôture de la bougie en cours.
Ce qui n’est pas le cas pour Chaikin qui varie tout le temps quoi qu’on choisisse (open ou close). Du coup:
a) Comment “capturer” la valeur de Chaikin au moment du “open” ?
J’avoue avoir fait beaucoup d’essais de codage infructueux
b) variante : Comment “capturer” la valeur de Chaikin à open + quelque chose (en seconde par exemple) ?
D’avance merci pour votre aide
L’oscillateur de Chaikin est créé en soustrayant une moyenne mobile exponentielle à période x de la ligne de Accumulation Distribution à une moyenne mobile exponentielle à période y de la ligne de Accumulation Distribution:
Dans le code ci-dessous je recrée l’indicateur et j’enregistre dans un tableau la première valeur de l’oscillateur à chaque nouvelle barre:
i = AccumDistr(close)
chaikin = average[3,1](i)-average[10,1](i)
if not isset($chaikin[barindex]) then
$chaikin[barindex]=chaikin
endif
return $chaikin[barindex]
BFParticipant
New
Merci Beaucoup Nicolas c’est TOP !
et pour le point B) de ma question si je veux mémoriser la valeur $chaikin quelques secondes après l’open de la bougie en cours, quelle est la variante du code stp ? D’avance merci encore
On peut faire une différence de TIMESTAMP comme ceci (exemple d’un enregistrement 10 secondes après l’ouverture de la bougie)
i = AccumDistr(close)
chaikin = average[3,1](i)-average[10,1](i)
if not isset($chaikin[barindex]) and timestamp-opentimestamp>=10 then
$chaikin[barindex]=chaikin
endif
return $chaikin[barindex]
BFParticipant
New
Merci Nicolas, c’est parfait )) je pense que ton code (ci-dessus) pourra aider beaucoup d’autres personnes sur des problématiques similaires
Dernière variante possible: Est-il possible de mémoriser la valeur de $chaikin mais à une heure précise (exemple à 14h15) quelque soit la durée de la bougie en cours (ex: 1 minute, 15 minutes ou daily) svp ?
Encore merci par avance pour ton efficacité
Pour un horaire précis on teste le TIME:
i = AccumDistr(close)
chaikin = average[3,1](i)-average[10,1](i)
if not isset($chaikin[barindex]) and TIME=141500 then
$chaikin[barindex]=chaikin
endif
return $chaikin[barindex]
Il faudra que l’heure précise soit testé à la fermeture de la bougie.
BFParticipant
New
C’est parfait. Un grand merci