j’ai constaté une petite erreur sur la documentation sur la page 20/47
1
2
3
4
5
6
7
8
9
10
11
12
13
line=0
Increase=(Close-Close[1])>0
i=0
WHILEIncrease[i]DO
i=i+1
// Si high - low, on sort de la boucle pour éviter une division par zéro.
IF(high-low)=0then
BREAK
ENDIF
osc=(close–low)/(high–low)
line=AVERAGE[i](osc)
WEND
RETURNline
on utilise le mot line comme une variable mais je vois que c’est une fonction à mon avis ça doit être un problème de mise à jour je tenais à le signaler pour les débutants comme moi
En gros si je comprends bien le IF ici il nous sert juste éviter la division par 0 mais il n’arrête pas la boucle while ?
D’où dans l’hypothèse ou High et le Low sont toujours différents, on pourrez écrire de cette façon :
1
2
3
4
5
6
7
8
9
10
11
WHILEIncrease[i]DO
i=i+1
osc=(close-low)/(high-low)
lines=AVERAGE[i](osc)
WEND
// est ce que la valeur suivante peut être égale à 0 ?, si OUI alors la boucle ne peut pas démarrer ?
Increase[0]
// même question pour l'AVERAGE lorsque le i = 0 ?
lines=AVERAGE[0](osc)
quelqu’un pourrait me traduire ce langage simple en langage courant 🙂 ,
Je me réponds à moi-même 🙂
la première valeur de “i” dans la boucle while sera = 1, donc il est tout à fait possible de calculer une moyenne d’une période
et la valeur osc cette valeur va oscillé entre 0 et 1 max, mais je ne vois pas l’utilité de ce calcul, peut être est-ce juste pour montrer la fonction du While ?
Contrairement a FOR qui repete un calcul sur une periode fixe, WHILE est utilise pour continuer le calcul tant que Increase > 0 (cela peut arriver sur plusieurs periodes d’une maniere irreguliere)
Donc la variable finale va osciller entre 0 et la moyennes des osc pour lequels Increase est successivement positif.
We use cookies to ensure that we give you the best experience on our website. If you continue to use this site we will assume that you are happy with it.Ok