#https://www.tradingview.com/v/qIKR3tbN/
# @Rashad
#study(shorttitle="FBB", title="Fibonacci Bollinger Bands", overlay=true)
# Converted by Sam4Cok@Samer800 - 04/2024
input src = hlc3; #, title="Source")
input length = 200; #, minval=1)
input mult = 3.0; #, minval=0.001, maxval=50)
input movAvgType = {Default VWMA, SMA, EMA, WMA, HMA, RMA};
def na = Double.NaN;
def vwma = Average(src * volume, length) / Average(volume, length);
def basis; # = ExpAverage(src, length);
Switch (movAvgType) {
Case SMA : basis = Average(src, length);
Case EMA : basis = ExpAverage(src, length);
Case WMA : basis = WMA(src, length);
Case HMA : basis = HullMovingAvg(src, length);
Case RMA : basis = WildersAverage(src, length);
Default : basis = vwma;
}
def dev = mult * stdev(src, length);
def upper_1= basis + (0.236*dev);
def upper_2= basis + (0.382*dev);
def upper_3= basis + (0.5*dev);
def upper_4= basis + (0.618*dev);
def upper_5= basis + (0.764*dev);
def upper_6= basis + (1*dev);
def lower_1= basis - (0.236*dev);
def lower_2= basis - (0.382*dev);
def lower_3= basis - (0.5*dev);
def lower_4= basis - (0.618*dev);
def lower_5= basis - (0.764*dev);
def lower_6= basis - (1*dev);
plot baseLine = basis; #, color=fuchsia, linewidth=2)
plot u236 = upper_1; # color=white, linewidth=1, title="0.236")
plot u382 = upper_2; # , color=white, linewidth=1, title="0.382")
plot u500 = upper_3; # , color=white, linewidth=1, title="0.5")
plot u618 = upper_4; # , color=white, linewidth=1, title="0.618")
plot u764 = upper_5; # , color=white, linewidth=1, title="0.764")
plot u100 = upper_6; # , color=red, linewidth=2, title="1")
plot l236 = lower_1; # , color=white, linewidth=1, title="0.236")
plot l382 = lower_2; # , color=white, linewidth=1, title="0.382")
plot l500 = lower_3; # , color=white, linewidth=1, title="0.5")
plot l618 = lower_4; # , color=white, linewidth=1, title="0.618")
plot l764 = lower_5; # , color=white, linewidth=1, title="0.764")
plot l100 = lower_6; # , color=green, linewidth=2, title="1")
baseLine.SetLineWeight(2);
u100.SetLineWeight(2);
l100.SetLineWeight(2);
baseLine.SetDefaultColor(Color.MAGENTA);
u236.SetDefaultColor(Color.DARK_GREEN);
u382.SetDefaultColor(Color.DARK_GREEN);
u500.SetDefaultColor(Color.DARK_GREEN);
u618.SetDefaultColor(Color.DARK_GREEN);
u764.SetDefaultColor(Color.DARK_GREEN);
u100.SetDefaultColor(Color.RED);
l236.SetDefaultColor(Color.DARK_RED);
l382.SetDefaultColor(Color.DARK_RED);
l500.SetDefaultColor(Color.DARK_RED);
l618.SetDefaultColor(Color.DARK_RED);
l764.SetDefaultColor(Color.DARK_RED);
l100.SetDefaultColor(Color.GREEN);
#-- END of CODE