boboParticipant
Average
Bonjour Nicolas, merçi pour ton accueil.
Je rencontre un petit problème de codage.
Pourrais-tu svp le résoudre (voir capture d’écran en pièce jointe)?
Le 11/04/2017 mon indicateur 1=1 et mon indicateur 2=198.52 sur le graphique.
Je souhaite créer un indicateur qui me renvoie la valeur qu’avait l’indicateur 2 la dernière fois que l’indicateur 1 était égal à 1 , c’est à dire 198.52 (pendant 20 périodes seulement).
Merçi par avance.
Cordialement.
Alain
Merci de créer un sujet par demande. Ce serait plus simple et rapide je pouvais intervenir dans ton code.
Merci de ne pas multiplier les sujets pour la même demande, j’ai supprimé l’autre post. A nouveau, merci de poster le code en question pour bien comprendre la situation et indiquer où il faut intervenir.
boboParticipant
Average
Rebonjour Nicolas ,
Je précise de nouveau ma demande puisque je ne semble pas avoir été clair la première fois.
Je souhaite créer un indicateur qui me renvoie à partir du 11/04/2017 la valeur 198.52 de mon indicateur2 (içi un stop suiveur), constamment , et ce jusqu’à ce que mon indicateur1 soit à nouveau égal à 1….avec nouvelle valeur de mon indicateur2….
En espérant avoir été plus clair.
Merçi par avance.
Alain
boboParticipant
Average
Voir nouveau graphique ci-joint.
Code indicateur1
a=highest[20](high)
c1=close>a[1]
if (c1) then
result=1
else
result=0
endif
return result
Code indicateur2
a=highest[20](high)
return a
Je souhaite donc un indicateur qui retourne constamment 14.55 a/c du 16/06/2004 et 12.94 a/c du 09/09/1994
Merçi.
Ci-dessous le code. Quand tu détectes ta condition c1, tu enregistres dans une variable la valeur du highest, cette valeur est retourné dans l’instruction RETURN, elle ne changera jusqu’à nouvelle détection.
a=highest[20](high)
c1=close>a[1]
if (c1) then
niveau = a[0]
endif
return a, niveau
boboParticipant
Average
Merçi beaucoup Nicolas pour ta réponse et ta compétence.C’est exactement ce que je souhaitais.
Au plaisir de te lire.
Alain
boboParticipant
Average
Bonjour Nicolas,
Je reviens vers toi à la suite de ta réponse du 03/05/2020 10h27.
Il s’agit du code qui renvoie la valeur de “niveau” la dernière fois que la condition c1 était remplie.
Comment renvoyer la valeur de “niveau” l‘avant dernière fois que la condition c1 était remplie?
Cordialement.
Lors de la condition c1 on enregistre la valeur actuelle dans une autre variable :
a=highest[20](high)
c1=close>a[1]
if (c1) then
niveauPrecedent = niveau
niveau = a[0]
endif
return a, niveau, niveauPrecedent
boboParticipant
Average
Merçi encore Nicolas pour ta rapidité de réponse et pour ton aide.