ProRealTime
Pour discuter sur l’interface de ProRealTime Software, nos configurations graphiques...
Répondre • Page 1 sur 1

utiliser valeur retournée par même indicateur

par jerbrux » 12 avr. 2015 16:37

Bonjour à tous,

J'ai un petit problème de programmation PRT qui me dérange depuis quelques temps maintenant et je n'arrive pas à comprendre comment en venir à bout.

Donc, voilà je vous explique ce que je souhaiterais faire:
- Je voudrais créer un indicateur qui utilise la valeur retournée à la bougie précédente et réutilise cette valeur pour calculer la valeur de la bougie présente. Le code ci-dessous (qui n'a rien le fait correctement:

Code : #

highlow = high-low
openclose = close - open

coef = highlow / 2


result = result + coef * openclose
return result
Cependant, si j'utilise une variable d'une bougie précédente dans le code, il n'y a plus de valeur retournée, cela donne n/d. cf code ci dessous (j'ai juste remplacé 2 par highlow[1]):

Code : #

highlow = high-low
openclose = close - open

coef = highlow / highlow[1]


result = result + coef * openclose
return result
Est-ce que l'un d'entre vous aurait une idée comment contourner ce problème ?

Merci par avance de votre aide !

Re: utiliser valeur retournée par même indicateur

par Aarnii » 13 avr. 2015 00:54

Là comme ça, je dirai que PRT ne sait pas ce qu'est ton highlow[1], car une telle variable n'existe pas dans PRT.

Je modifierais le code comme suit:

Code : #

highlow = high-low
prev_highlow = high[1] - low[1]
openclose = close - open

coef = highlow / prev_highlow

result = result + coef * openclose
return result

Re: utiliser valeur retournée par même indicateur

par jerbrux » 13 avr. 2015 07:56

Merci pour ta réponse Aarnii,

Je viens d'essayer avec ta modification mais j'obtiens le même résultat qu'avec mon code, il n'y a rien de retourné, résultat reste à n/d.
(Aussi, il semble que les noms de variables avec un underscore ne soit pas acceptées apparemment).

Peut-être que le problème de ce code est que pour la première valeur utilisée dans le calcul, il ne peut pas trouver une version de la Bougie précédente puisque c'est la première valeur possible?

Re: utiliser valeur retournée par même indicateur

par klintistwood » 13 avr. 2015 20:47

jerbrux, le problème est lié à ta variable result qui n'est pas connue au premier moment où tu l'utilises. Si tu fais un return sur toutes tes autres variables, tu verras que les valeurs ressortent sur le graphique.

Vu que ta variable contient toujours la même formule, tu pourrais éviter le problème en faisant ceci:

highlow = high-low
openclose = close - open

coef = highlow / highlow[1]

if not result then
result = coef * openclose
else
result = coef * openclose + coef[1] * openclose[1]
endif
return result

ce n'est probablement pas la solution la plus élégante mais ça a l'air de fonctionner vu que je vois un graphique. Comme je ne sais pas ce que tu veux montrer avec ton indicateur, je ne sais pas si le graphique est correct.

Re: utiliser valeur retournée par même indicateur

par jerbrux » 13 avr. 2015 21:06

Merci klintistwood !
C'est exactement ce que je cherchais, l'instruction "if not result" §.
Pour l'indicateur que j'essaie de créer, il n'y a pas (encore) de solution élégante, je suis dans le test sur papier/démo ;-)

Re: utiliser valeur retournée par même indicateur

par klintistwood » 13 avr. 2015 21:17

content d'avoir pu t'aider :-)

Re: utiliser valeur retournée par même indicateur

par jerbrux » 15 août 2015 17:12

Hello,

Je remonte ma question car j'ai un autre souci similaire:
Je veut créer un indicateur qui me donne la "moyenne" de points entre la clôture d'une bougie et la clôture de la bougie précédente.
Malheureusement le code que j'ai fait ci-dessous me renvoit un résultat n/d

Ce que je veux faire est réutiliser le résultat de l'indicateur à la bougie précédente et faire la moyenne avec le résultat de la bougie actuelle.

Savez vous s'il est possible de faire cela ?

Code : #

diff = abs(close-close[1])

if not result then
result = diff
else
result = (result + diff)/2
endif

return result


un grand merci pour votre aide par avance !

Re: utiliser valeur retournée par même indicateur

par jerbrux » 17 août 2015 21:01

J'ai essayé un peu plus et je pense avoir compris pourquoi : en fait il faut assigner la valeur de clôture à la fin du code pour qu'il soit repris dans le calcul lors de la bougie suivante.
Donc pour mon exemple, ça doit donner çà:

Code : #

if not fermeture then
signal = 0
else

delta = abs(close-fermeture)

signal = (signal + delta)/2
endif

fermeture = close

return signal
J'espère que ça aidera quelqu'un. C'est pas bien gros mais ça m'a bien embêté pendant un moment :)

A+

Sujets similaires
Levier, Valeur du point VS valeur du contrat.
Fichier(s) joint(s) par Futtrader2000 » 27 mars 2020 12:24 (14 Réponses)
Utiliser les plus fortes probabilités de chaque indicateur
par Epitaf » 22 oct. 2015 10:33 (10 Réponses)
Utiliser un indicateur avec les mêmes mesures que le RSI
Fichier(s) joint(s) par Anonyme56 » 14 sept. 2019 18:21 (12 Réponses)
Peut on être 2 fois sur la même devise en même temps
par Marc Player » 17 juil. 2019 21:59 (3 Réponses)
UT 1min : la valeur de la veille d'un indicateur
par jized » 12 nov. 2014 07:06 (4 Réponses)
Indicateur de prix : ligne horizontale valeur dynamique
Fichier(s) joint(s) par KeKhou » 02 mars 2018 19:48 (2 Réponses)
comment convertir un indicateur 1h en indicateur 1min
par Raiko » 09 août 2014 10:35 (11 Réponses)
Afficher et utiliser les volumes
par Amarantine » 22 déc. 2011 11:18 (9 Réponses)