ben en fait je préfère rien car je ne les utilise pas
j'édite le code avec tes formules pour "convenance"

Code : #
if time<time[1] then
plusHaut=High
plusBas=Low
ouverture=Open
if Close[1]>ouverture[1] then
dm=2*plusHaut[1]+plusBas[1]+Close[1]
elsif Close[1]<ouverture[1] then
dm=2*plusBas[1]+plusHaut[1]+Close[1]
else
dm=2*Close[1]+plusHaut[1]+plusBas[1]
endif
if formule>3 then
pp=dm/4
else
if formulePP=1 then
pp=(plusHaut[1]+plusBas[1]+Close[1])/3
elsif formulePP=2 then
pp=(plusHaut[1]+plusBas[1]+Close[1]+Open[1])/4
elsif formulePP=3 then
pp=(plusHaut[1]+plusBas[1]+2*Close[1])/4
elsif formulePP>3 then
pp=(plusHaut[1]+plusBas[1]+2*Open[1])/4
endif
endif
if formule=1 then
r1=2*pp-plusBas[1]
s1=2*pp-plusHaut[1]
rr2=pp+plusHaut[1]-plusBas[1]
s2=pp-plusHaut[1]+plusBas[1]
r3=plusHaut[1]+2*(pp-plusBas[1])
s3=plusBas[1]-2*(plusHaut[1]-pp)
r4=r3+(plusHaut[1]-plusBas[1])
s4=s3-(plusHaut[1]-plusBas[1])
elsif formule=2 then // Fibonacci
r1=pp+0.382*(plusHaut[1]-plusBas[1])
s1=pp-0.382*(plusHaut[1]-plusBas[1])
rr2=pp+0.618*(plusHaut[1]-plusBas[1])
s2=pp-0.618*(plusHaut[1]-plusBas[1])
r3=pp+plusHaut[1]-plusBas[1]
s3=pp-plusHaut[1]+plusBas[1]
r4=r3
s4=s3
elsif formule=3 then // Camarilla
r1=pp+(plusHaut[1]-plusBas[1])*1.1/12
s1=pp-(plusHaut[1]-plusBas[1])*1.1/12
rr2=pp+(plusHaut[1]-plusBas[1])*1.1/6
s2=pp-(plusHaut[1]-plusBas[1])*1.1/6
r3=pp+(plusHaut[1]-plusBas[1])*1.1/4
s3=pp-(plusHaut[1]-plusBas[1])*1.1/4
r4=pp+(plusHaut[1]-plusBas[1])*1.1/2
s4=pp-(plusHaut[1]-plusBas[1])*1.1/2
elsif formule>3 then // DeMark
r1=-plusBas[1]+dm/2
s1=-plusHaut[1]+dm/2
rr2=r1
s2=s1
r3=r1
s3=s1
r4=r1
s4=s1
endif
else
plusHaut=MAX(High,plusHaut[1])
plusBas=MIN(Low,plusBas[1])
ouverture=ouverture[1]
pp=pp[1]
r1=r1[1]
s1=s1[1]
rr2=rr2[1]
s2=s2[1]
r3=r3[1]
s3=s3[1]
r4=r4[1]
s4=s4[1]
endif
return pp coloured (0,0,255) as "PP", r1 coloured (255,0,0) as "R1", s1 coloured (0,255,0)as "S1", rr2 coloured (255,0,0) as "R2", s2 coloured (0,255,0)as "S2", r3 coloured (255,0,0) as "R3", s3 coloured (0,255,0)as "S3", r4 coloured (255,0,0) as "R4", s4 coloured (0,255,0)as "S4"
Code : #
if time<time[1] then
plusHaut=High
plusBas=Low
pp=(plusHaut[1]+plusBas[1]+Close[1])/3
r1=2*pp-plusBas[1]
s1=2*pp-plusHaut[1]
rr2=pp+plusHaut[1]-plusBas[1]
s2=pp-plusHaut[1]+plusBas[1]
r3=plusHaut[1]+2*(pp-plusBas[1])
s3=plusBas[1]-2*(plusHaut[1]-pp)
r4=r3+(plusHaut[1]-plusBas[1])
s4=s3-(plusHaut[1]-plusBas[1])
else
plusHaut=MAX(High,plusHaut[1])
plusBas=MIN(Low,plusBas[1])
pp=pp[1]
r1=r1[1]
s1=s1[1]
rr2=rr2[1]
s2=s2[1]
r3=r3[1]
s3=s3[1]
r4=r4[1]
s4=s4[1]
endif
return pp coloured (0,0,255) as "PP", r1 coloured (255,0,0) as "R1", s1 coloured (0,255,0)as "S1", rr2 coloured (255,0,0) as "R2", s2 coloured (0,255,0)as "S2", r3 coloured (255,0,0) as "R3", s3 coloured (0,255,0)as "S3", r4 coloured (255,0,0) as "R4", s4 coloured (0,255,0)as "S4"
j'ai essayé ce code en tant qu'indicateur, il fonctionne trés bien merci beaucoup!chifounou a écrit :version allégée comprenant uniquement les PP IG/Andlil avec R4/S4 en plus tout de même
(devrait charger un poil plus vite... j'avoue être sidéré par la lenteur de calculs de PRT !)
Code : #
if time<time[1] then plusHaut=High plusBas=Low pp=(plusHaut[1]+plusBas[1]+Close[1])/3 r1=2*pp-plusBas[1] s1=2*pp-plusHaut[1] rr2=pp+plusHaut[1]-plusBas[1] s2=pp-plusHaut[1]+plusBas[1] r3=plusHaut[1]+2*(pp-plusBas[1]) s3=plusBas[1]-2*(plusHaut[1]-pp) r4=r3+(plusHaut[1]-plusBas[1]) s4=s3-(plusHaut[1]-plusBas[1]) else plusHaut=MAX(High,plusHaut[1]) plusBas=MIN(Low,plusBas[1]) pp=pp[1] r1=r1[1] s1=s1[1] rr2=rr2[1] s2=s2[1] r3=r3[1] s3=s3[1] r4=r4[1] s4=s4[1] endif return pp coloured (0,0,255) as "PP", r1 coloured (255,0,0) as "R1", s1 coloured (0,255,0)as "S1", rr2 coloured (255,0,0) as "R2", s2 coloured (0,255,0)as "S2", r3 coloured (255,0,0) as "R3", s3 coloured (0,255,0)as "S3", r4 coloured (255,0,0) as "R4", s4 coloured (0,255,0)as "S4"