I used this custom indicator to plot and debug FIBO levels:
DEFPARAM CalculateOnLastBars = 3000
DEFPARAM DrawOnLastBarOnly = True
//ONCE p = 100
ONCE p = max(1,min(9999,p)) //range 1 - 9999
IF BarIndex <= EndBar THEN
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
ENDIF
DRAWHLINE(HH) coloured(238,122,233,255)//(0,128,0,255)
DRAWHLINE(LL) coloured(238,122,233,255)//(0,128,0,255)
LastBar = min(EndBar,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
variable EndBar is used to debug code, so that you can ban the indicator from advancing after any given BARINDEX bar.