// Weekly Fibonacci Levels
//
DEFPARAM CalculateOnLastBars = 3000
DEFPARAM DrawOnLastBarOnly = True
ONCE p = 30
Timeframe(Weekly)
HH = highest[p](high)
LL = lowest[p](low)
Diff = HH - LL
Fib0236 = Diff * 0.236
Fib0382 = Diff * 0.382
Fib0500 = Diff * 0.500
Fib0618 = Diff * 0.618
Fib0764 = Diff * 0.764
Up = 0
Dn = 0
FOR i = 0 TO (p - 1)
IF high[i] = HH THEN
Up = 1
BREAK
ENDIF
IF low[i] = LL THEN
Dn = 1
BREAK
ENDIF
NEXT
//
Timeframe(default)
DRAWHLINE(HH) coloured(238,122,233,255)//(0,128,0,255)
DRAWHLINE(LL) coloured(238,122,233,255)//(0,128,0,255)
LastBar = BarIndex
IF Up THEN
DRAWTEXT("---------------------------(23.6%)",LastBar,HH - Fib0236,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(38.2%)",LastBar,HH - Fib0382,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(50.0%)",LastBar,HH - Fib0500,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(61.8%)",LastBar,HH - Fib0618,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(76.4%)",LastBar,HH - Fib0764,SansSerif,Bold,10)coloured(238,122,233,255)
ELSIF Dn THEN
DRAWTEXT("---------------------------(23.6%)",LastBar,LL + Fib0236,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(38.2%)",LastBar,LL + Fib0382,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(50.0%)",LastBar,LL + Fib0500,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(61.8%)",LastBar,LL + Fib0618,SansSerif,Bold,10)coloured(238,122,233,255)
DRAWTEXT("---------------------------(76.4%)",LastBar,LL + Fib0764,SansSerif,Bold,10)coloured(238,122,233,255)
ENDIF
RETURN