Code de L’indicateur
//
//=/===============/=//=/===============/=//=/ Paramettre de Base
//
defparam calculateonlastbars = 2000
//
//=/===============/=//=/===============/=//=/ Paramettre des couleurs
//
//
//=/ = = Tenkan
//
//=/ Tenkan Hausse
UPxT1 = 0
UPxT2 = 150
UPxT3 = 255
UPxT4 = 200
//=/ Tenkan Baisse
DWxT1 = 102
DWxT2 = 102
DWxT3 = 102
DWxT4 = 200
//=/ Tenkan Anormalité
ANxT1 = 255
ANxT2 = 102
ANxT3 = 0
ANxT4 = 250
//
//=/ = = Kijun
//
//=/ Kijun Hausse
UPxK1 = 0
UPxK2 = 150
UPxK3 = 255
UPxK4 = 200
//=/ Kijun Baisse
DWxK1 = 102
DWxK2 = 102
DWxK3 = 102
DWxK4 = 200
//=/ Kijun Anormalité Type 1
A1xK1 = 255
A1xK2 = 102
A1xK3 = 0
A1xK4 = 250
//=/ Kijun Anormalité Type 2
A2xK1 = 204
A2xK2 = 0
A2xK3 = 0
A2xK4 = 250
//
//=/ = = Excès Tenkan
//
//=/ Excès Haussier
EHxT1 = 0
EHxT2 = 150
EHxT3 = 255
EHxT4 = 30
//=/ Excès Baissier
EBxT1 = 102
EBxT2 = 102
EBxT3 = 102
EBxT4 = 30
//
//=/ = = Excès Kijun
//
EKxT1 = 255
EKxT2 = 102
EKxT3 = 0
EKxT4 = 30
//
//=/===============/=//=/===============/=//=/ Indicateur
//
//=/ Ichimoku
Hx1 = highest[9](high)
Lx1 = lowest[9](low)
//=//
Hx2 = highest[26](high)
Lx2 = lowest[26](low)
//=//
Hx3 = highest[52](high)
Lx3 = lowest[52](low)
//=//
XB = (Hx3+Lx3)/2
XA = (Hx1+Lx1+Hx2+Lx2)/4
//=//
SA = (XA[26])
SB = (XB[26])
TK = (highest[9](high)+lowest[9](low))/2
KJ = (highest[26](high)+lowest[26](low))/2
//
//=/===============/=//=/===============/=//=/ Tenkan
//
//=/ UP
if TK > KJ then
Rx1 = UPxT1
Gx1 = UPxT2
Bx1 = UPxT3
Tx1 = UPxT4
elsif TK = KJ and TK > TK[1] then
Rx1 = UPxT1
Gx1 = UPxT2
Bx1 = UPxT3
Tx1 = UPxT4
//=/ Down
elsif TK < KJ then
Rx1 = DWxT1
Gx1 = DWxT2
Bx1 = DWxT3
Tx1 = DWxT4
elsif TK = KJ and TK < TK[1] then
Rx1 = DWxT1
Gx1 = DWxT2
Bx1 = DWxT3
Tx1 = DWxT4
//=/ Alerte
else
Rx1 = ANxT1
Gx1 = ANxT2
Bx1 = ANxT3
Tx1 = ANxT4
endif
//
//=/===============/=//=/===============/=//=/ Kijun
//
//=/ UP
if KJ < TK and (KJ > XB or KJ < XB) then
Rx2 = UPxK1
Gx2 = UPxK2
Bx2 = UPxK3
Tx2 = UPxK4
elsif KJ < TK and KJ = XB and KJ > KJ[1] then
Rx2 = UPxK1
Gx2 = UPxK2
Bx2 = UPxK3
Tx2 = UPxK4
elsif KJ = TK and TK > TK[1] and (KJ > XB or KJ < XB) then
Rx2 = UPxK1
Gx2 = UPxK2
Bx2 = UPxK3
Tx2 = UPxK4
elsif KJ = TK and KJ = XB and KJ > KJ[1] then
Rx2 = UPxK1
Gx2 = UPxK2
Bx2 = UPxK3
Tx2 = UPxK4
//=/ Down
elsif KJ > TK and (KJ > XB or KJ < XB) then
Rx2 = DWxK1
Gx2 = DWxK2
Bx2 = DWxK3
Tx2 = DWxK4
elsif KJ > TK and KJ = XB and KJ < KJ[1] then
Rx2 = DWxK1
Gx2 = DWxK2
Bx2 = DWxK3
Tx2 = DWxK4
elsif KJ = TK and TK < TK[1] and (KJ > XB or KJ < XB) then
Rx2 = DWxK1
Gx2 = DWxK2
Bx2 = DWxK3
Tx2 = DWxK4
elsif KJ = TK and KJ = XB and KJ < KJ[1] then
Rx2 = DWxK1
Gx2 = DWxK2
Bx2 = DWxK3
Tx2 = DWxK4
//=/ Alerte 1
elsif KJ = TK and TK = TK[1] and (KJ > XB or KJ < XB) then
Rx2 = A1xK1
Gx2 = A1xK2
Bx2 = A1xK3
Tx2 = A1xK4
//=/ Alerte 2
else
Rx2 = A2xK1
Gx2 = A2xK2
Bx2 = A2xK3
Tx2 = A2xK4
endif
//
//=/===============/=//=/===============/=//=/ Excès Tenkan
//
//=/ UP T1
if Lx1 > KJ and Lx1[1] => KJ[1] and TK > KJ then
drawtriangle(barindex[1],Lx1[1],barindex[1],KJ[1],barindex,KJ) coloured(EHxT1,EHxT2,EHxT3,EHxT4) bordercolor(0,0,0,0)
drawtriangle(barindex,Lx1,barindex,KJ,barindex[1],Lx1[1]) coloured(EHxT1,EHxT2,EHxT3,EHxT4) bordercolor(0,0,0,0)
endif
//=//
if Lx1 > KJ and Lx1[1] =< KJ[1] and TK > KJ then
drawtriangle(barindex,Lx1,barindex,KJ,barindex[1],KJ[1]) coloured(EHxT1,EHxT2,EHxT3,EHxT4) bordercolor(0,0,0,0)
endif
//=//
if Lx1 =< KJ and Lx1[1] > KJ[1] and TK > KJ then
drawtriangle(barindex[1],Lx1[1],barindex[1],KJ[1],barindex,KJ) coloured(EHxT1,EHxT2,EHxT3,EHxT4) bordercolor(0,0,0,0)
endif
//=/ DW T1
if Hx1 < KJ and Hx1[1] =< KJ[1] and TK < KJ then
drawtriangle(barindex[1],Hx1[1],barindex[1],KJ[1],barindex,KJ) coloured(EBxT1,EBxT2,EBxT3,EBxT4) bordercolor(0,0,0,0)
drawtriangle(barindex,Hx1,barindex,KJ,barindex[1],Hx1[1]) coloured(EBxT1,EBxT2,EBxT3,EBxT4) bordercolor(0,0,0,0)
endif
//=//
if Hx1 < KJ and Hx1[1] => KJ[1] and TK < KJ then
drawtriangle(barindex,Hx1,barindex,KJ,barindex[1],KJ[1]) coloured(EBxT1,EBxT2,EBxT3,EBxT4) bordercolor(0,0,0,0)
endif
//=//
if Hx1 => KJ and Hx1[1] < KJ[1] and TK < KJ then
drawtriangle(barindex[1],Hx1[1],barindex[1],KJ[1],barindex,KJ) coloured(EBxT1,EBxT2,EBxT3,EBxT4) bordercolor(0,0,0,0)
endif
//
//=/===============/=//=/===============/=//=/ Excès Kijun
//
//=/ UP T1
if Lx2 > XB and Lx2[1] => XB[1] and KJ > XB then
drawtriangle(barindex[1],Lx2[1],barindex[1],XB[1],barindex,XB) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
drawtriangle(barindex,Lx2,barindex,XB,barindex[1],Lx2[1]) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
endif
//=//
if Lx2 > XB and Lx2[1] =< XB[1] and KJ > XB then
drawtriangle(barindex,Lx2,barindex,XB,barindex[1],XB[1]) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
endif
//=//
if Lx2 =< XB and Lx2[1] > XB[1] and KJ > XB then
drawtriangle(barindex[1],Lx2[1],barindex[1],XB[1],barindex,XB) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
endif
//=/ DW T1
if Hx2 < XB and Hx2[1] =< XB[1] and KJ < XB then
drawtriangle(barindex[1],Hx2[1],barindex[1],XB[1],barindex,XB) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
drawtriangle(barindex,Hx2,barindex,XB,barindex[1],Hx2[1]) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
endif
//=//
if Hx2 < XB and Hx2[1] => XB[1] and KJ < XB then
drawtriangle(barindex,Hx2,barindex,XB,barindex[1],XB[1]) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
endif
//=//
if Hx2 => XB and Hx2[1] < XB[1] and KJ < XB then
drawtriangle(barindex[1],Hx2[1],barindex[1],XB[1],barindex,XB) coloured(EKxT1,EKxT2,EKxT3,EKxT4) bordercolor(0,0,0,0)
endif
//
//=/===============/=//=/===============/=//=/ Fin
//
return TK coloured(Rx1,Gx1,Bx1,Tx1) style(line,1) as "Tenkan", KJ coloured(Rx2,Gx2,Bx2,Tx2) style(line,2) as "Kijun"