Indicateurs: Canal de Donchian - page 2

 

Bonjour,

Les fonctions iHighest et iLowest sont très lentes dans le code de l'indicateur. J'ai utilisé les fonctions ArrayMaximum et ArrayMinimum dans l'événement OnCalculate et c'est plus rapide que le code original.

Vous pouvez donc utiliser le code suivant

case HIGH_LOW :

//SsMax=high[iHighest(high,DonchianPeriod,bar)] ;

//SsMin=low[iLowest(low,DonchianPeriod,bar)] ;

SsMax=high[ArrayMaximum(high,bar-(DonchianPeriod-1),DonchianPeriod)] ;

SsMin=low [ArrayMinimum(low,bar-(DonchianPeriod-1),DonchianPeriod)] ;

break ;



 

Pourquoi les valeurs min et max du canal dans la fenêtre de données ne correspondent-elles pas exactement aux valeurs min et max de la barre à partir de laquelle le haut ou le bas a été calculé ?

Vous pouvez même le voir dans la capture d'écran fournie par l'OP ; la marque haute n'est pas une ligne droite, mais elle oscille de quelques ticks vers le haut et vers le bas, même si la valeur haute réelle n'a pas changé. Comment cela se fait-il ?

Quelqu'un sait-il pourquoi cela se produit ?

Le tableau "high" ne correspond-il pas à la valeur haute représentée par les barres sur le graphique ?