Bonjour à tous,
Je cherche à créer un canal d’auto enveloppe qui engloberait 90% des 100 derniers chandeliers. Le canal est définit 2 bornes
Borne sup = MM + coeffCanal * MM
Borne inf = MM – coeffCanal * MM
Le programme ci dessous est sensé calculer en automatique le coeffCanal mais ne fonctionne pas …. (à la fin du programme, la variable cassure est bien < à 10 mais le coeffCanal est faux)
Merci d’avance pour votre aide
Guillaume
// Définition des variables
MM =ExponentialAverage[26](close)
For CoeffCanal = 0 to 20 DO // On test les coeff de 0% à 20%
CanalSup = MM + CoeffCanal / 100 * MM // Borne Sup canal symétrique
CanalInf = MM - CoeffCanal / 100 * MM // Borne Inf canal symétrique
Cassure = 0
i = 99
While i >= 0 Do // on compte les cassures sur les 100 derniers chandeliers
If High[i] > CanalSup[i] OR Low[i] < CanalInf[i] Then
Cassure = Cassure + 1
Endif
i = i -1
Wend
If Cassure < 10 Then // Si le nombre de cassure est < à 10, on sort de la boucle
Break
Endif
Next
Return Coeffcanal
Ton code me semble juste, pourquoi penses-tu que le coeff retourné par ton calcul est faux ? Il s’agit d’un pourcentage important, donc uniquement applicable sur des timeframes élevés !
Salut Nicolas,
le code est faux car la sortie de boucle break ne fonctionne pas. Je l’ai testé en réel.
en revanche si tu saisis manuellement la valeur du coefficient (cad sans la boucle fort), la variable cassure devient bien inférieure à 10 pour la valeur correcte du coefficient …. Je l’ai testé en réel et ça fonctionne.
je n’explique pas le problème … un vrai casse tête ….
Guillaume