Petit correctif sur un code « highest » / « lowest »

Bonjour,

 

J’ai reçu une demande d’aide pour un screener qui ne retourne aucune valeur.
Non, ce n’est pas ProRealTime qui dysfonctionne alors que le code semble parfait ; il suffit par fois d’un seul caractère  de travers, et tout capote !

 

Voici le message : 

 

Bonjour et bon dimanche.

Je n’arrive pas à faire apparaitre ce que je souhaite obtenir … le signal selon :
si le plus bas du jour est inférieur aux plus bas d’un seul des jour-4 à jour-20

Voici l’ébauche de mon programme :
c1 = low < lowest[4](low)
c2= low < lowest[5](low)
c3= low < lowest[6](low)
c4= low < lowest[7](low)
c5= low < lowest[8](low)
c6= low < lowest[9](low)
c7= low < lowest[10](low)
c8= low < lowest[11](low)
c9= low < lowest[12](low)
c10= low < lowest[13](low)
c11= low < lowest[14](low)
c12= low < lowest[15](low)
c13= low < lowest[16](low)
c14= low < lowest[17](low)
c15= low < lowest[18](low)
c16= low < lowest[19](low)
c17= low < lowest[20](low)

if c1 or c2 or c3 or c4 or c5 or c6 or c7 or c8 or c9 or c10 or c11 or c12 or c13 or c14 or c15 or c16 or c17 then
achat = 1
else
achat = 0
endif

SCREENER [achat]

Et image jointe d’une action valable.

Cordialement.

 

 

Voici l’image concernée : 

 

Voici ma réponse :

 

Bonjour,

C’est très simple.
Dans votre code, il considère que le plus bas du jour est inférieur au plus bas des x périodes avant, Y COMPRIS celle du jour : donc aucune condition.
Mettez donc pour toutes les lignes:
c1 = low < lowest[4](low[1])
On commence donc étude à partir de la bougie de la VEILLE.
Donc on commence par :
c1 = low < lowest[3](low[1])
Et pour rendre votre code plus digeste, à la fin :
achat = c1 or c2 or c3 or c4 or c5 or c6 or c7 or c8 or c9 or c10 or c11 or c12 or c13 or c14 or c15 or c16 or c17
SCREENER [achat]
Bien à vous,

 

Share Button