Bonjour tout le monde,
Je vous soumets un bout de code où j’utilise le TF daily pour détecter les jours appartenant au mois précédent afin de calculer le plus haut sur cette période.
Si j’appelle la fonction highest avec une entier, pas de problème. Si cet entier est le résultat d’un calcul, plus de réponse ! Est-ce un problème de type implicite float au lieu de integer ? J’ai essayé d’appliquer round(monthsize) mais même problème.
Merci d’avance pour tout tuyau !
Bien à vous,
Julien
timeframe(daily)
idxend = 0
idxbegin = 0
for i = 0 to 62 do
// Détection du changement de mois et sauvegarde de l'indice correspondant
// et de l'indice du mois précédent
if (month[i] <> currentmonth) and (idxend = 0) then
idxend = i
prevmonth = month[i]
endif
// Détection de l'indice du début du mois précédent
if (idxend <>0 ) and (month[i] <> prevmonth) and (idxbegin = 0) then
idxbegin = i
endif
next
// Nombre de bougies journalières dans le mois précédent
monthsize = idxbegin - idxend
// Calcul du plus haut des hauts sur le mois précédent
// Le screener ne rend rien
mh = highest[monthsize](high[idxend])
En effet, monthsize doit être de type entier positif et non nul.
En général on s’en assure avec :
mh = highest[max(1,monthsize)](high[idxend])
Super, merci Nicolas ! En fait je venais juste de trouver l’astuce et j’allais poster la réponse !