J’ai fait une capture d’écran avec explication pour être le plus clair possible en espérant que cela vous aide.
Alors je pense avoir réussi, à force de calcul et tâtonnement la formule 1, la formule est une usine à gaz mais bon ça semble fonctionner à confirmer.
defparam drawonlastbaronly=true
//Calcul DEMA[12]
N1 = 12
indic1 = ExponentialAverage[12](close)
indic2 = ExponentialAverage[12](indic1)
A = indic1[1]
B = indic2[1]
Lox = 2*A*(N1+1)*(N1+1)-6*A*(N1+1)+4*A-B*(N1+1)*(N1+1)+2*B*(N1+1)
Lox1 = ((N1+1)*(N1+1))
//Calcul DEMA[26]
N2 = 26
indic3 = ExponentialAverage[26](close)
indic4 = ExponentialAverage[26](indic3)
C = indic3[1]
D = indic4[1]
Fast = 2*C*(N2+1)*(N2+1)-6*C*(N2+1)+4*C-D*(N2+1)*(N2+1)+2*D*(N2+1)
Fast1 = ((N2+1)*(N2+1))
//Calcul MACD ZEROLAG bougie[1]
z11 = DEMA[12](close)
z22 = DEMA[26](close)
f = z11[1] - z22[1]
//Calcul de y pour que MACD ZR - MACDZR[1] = 0 soit e - f =0
y = ((f*Lox1*Fast1)+lox1*Fast-Fast1*Lox)/((4*Fast1*((N1+1)-1))-(4*lox1*((N2+1)-1)))
//Renvoie la velaur de y pour e = f
DRAWTEXT(" ---------- #y# MACD ZR Reverse",barindex,y,dialog,standard,13) coloured(0,0,204)
return
Il est difficile pour moi de suivre ce sujet avec précision avec Google Translate, mais c'est peut-être intéressant: https://www.prorealcode.com/topic/how-to-calculate-rsi2-at-a-price/
Voilà le code qui répond aux 2 formules, pour moi cela fonctionne à confirmer avec un peu de temps
Merci pour votre aide qui m’a permis d’y parvenir
defparam drawonlastbaronly=true
x = close
//Calcul DEMA[12]
indic1 = ExponentialAverage[12](close)
indic2 = ExponentialAverage[12](indic1)
A = indic1[1]
B = indic2[1]
Lox = 264*A-143*B
//Calcul DEMA[26]
indic3 = ExponentialAverage[26](close)
indic4 = ExponentialAverage[26](indic3)
C = indic3[1]
D = indic4[1]
Fast = 1300*C-675*D
//Calcul MACD ZERO LAG bougie courante
e = x*(17416/123201)+264/169*A-11/13*B-1300/729*C+25/27*D
//Calcul DEMA[9](e)
indic5 = ExponentialAverage[9](e)
indic6 = ExponentialAverage[9](indic5)
I = indic5[1]
J = indic6[1]
Sign = 144*I-80*J
//Calcul MACD ZEROLAG bougie[1]
z11 = DEMA[12](close)
z22 = DEMA[26](close)
f = z11[1] - z22[1]
//Calcul de y pour que MACD ZR - MACDZR[1] = 0 soit e - f =0
y = (f*123201+169*Fast-729*Lox)/17416
//Calcul de z pour que MACD ZR - Signal soit e = z3
z = (9*Lox/4225-36*Fast/72900+Sign/100-264/169*A+11/13*B+1300/729*C-25/27*D)/(17416/123201-435400/8555625)
//Renvoie la valeur de y pour e = flag
DRAWTEXT(" ---------- #z# MACD ZeroLag Reverse",barindex,y,dialog,standard,13) coloured(204,0,0)
DRAWTEXT(" ---------- #z# MACD Signal Reverse",barindex,z,dialog,standard,13) coloured(51,204,0)
return
defparam drawonlastbaronly=true
x = close
//Calcul DEMA[12]
indic1 = ExponentialAverage[12](close)
indic2 = ExponentialAverage[12](indic1)
A = indic1[1]
B = indic2[1]
Lox = 264*A-143*B
//Calcul DEMA[26]
indic3 = ExponentialAverage[26](close)
indic4 = ExponentialAverage[26](indic3)
C = indic3[1]
D = indic4[1]
Fast = 1300*C-675*D
//Calcul MACD ZERO LAG bougie courante
e = x*(17416/123201)+264/169*A-11/13*B-1300/729*C+25/27*D
//Calcul DEMA[9](e)
indic5 = ExponentialAverage[9](e)
indic6 = ExponentialAverage[9](indic5)
I = indic5[1]
J = indic6[1]
Sign = 144*I-80*J
//Calcul MACD ZEROLAG bougie[1]
z11 = DEMA[12](close)
z22 = DEMA[26](close)
f = z11[1] – z22[1]
//Calcul de y pour que MACD ZR – MACDZR[1] = 0 soit e – f =0
y = (f*123201+169*Fast-729*Lox)/17416
//Calcul de z pour que MACD ZR – Signal soit e = z3
z = (9*Lox/4225-36*Fast/72900+Sign/100-264/169*A+11/13*B+1300/729*C-25/27*D)/(17416/123201-435400/8555625)
//Renvoie la valeur de y pour e = flag
DRAWTEXT(” ———- #z# MACD ZeroLag Reverse”,barindex,y,dialog,standard,13) coloured(204,0,0)
DRAWTEXT(” ———- #z# MACD Signal Reverse”,barindex,z,dialog,standard,13) coloured(51,204,0)
return