Intuitivement, je pense que le calcul du facteur de correction Delta peut être calculé de façon plus formel mais celà demande des notions en traitement du signal que je n'ai pas

Voici le code, vos commentaires/modifications sur l'affinage du Delta sont les bienvenus

Code : #
//Indicateur: Filtre de Carnazzi
//(c) 2021 Bruno Carnazzi
// Params
// Length: 200
Series = CustomClose
once l0 = Series
once l1 = Series
once l2 = Series
once l3 = Series
IF BarIndex = 0 THEN
AFR = Series
if length <= 50 then
delta = 12
elsif length <= 200 then
delta = 16
else
delta = 16 * (200/length)
endif
corrlength = length + delta
gamma = 2 * (1 - 1/(0.1*corrlength)) - 1
if gamma < 0 then
gamma = 0
endif
ELSE
l0 = (1 - gamma) * Series + gamma * l0[1]
l1 = -gamma * l0 + l0[1] + gamma * l1[1]
l2 = -gamma * l1 + l1[1] + gamma * l2[1]
l3 = -gamma * l2 + l2[1] + gamma * l3[1]
AFR = (l0 + 2 * l1 + 2 * l2 + l3) / 6
ENDIF
return AFR