|||Copyright Muhammad Fraz Trading View Version @ 1||| study("MF_Vix_Fix_For_Market_Top_and_Bottom", overlay=false) pd = input(22, title="LookBack Period Standard Deviation High?Low?") bbl = input(20, title="Bollinger Band Length") mult = input(2.0, minval=1, maxval=5, title="Bollinger Band Standard Deviation Up?Down?") lb = input(50, title="Look Back Period Percentile High?Low?") ph = input(.99, title="Highest Percentile Top- 0.90=90%, 0.95=95%, 0.99=99%") ph2 = input(.85, title="Highest Percentile Bottom- 0.90=90%, 0.95=95%, 0.99=99%") pl = input(1.15, title="Lowest Percentile Top- 1.10=90%, 1.05=95%, 1.01=99%") pl2 = input(1.01, title="Lowest Percentile Bottom- 1.10=90%, 1.05=95%, 1.01=99%") wfmt = input(true, title="Show Market Top?") wfmb = input(true, title="Show Market Bottom?") hp = input(false, title="Show High Range For Market Top- Based on Percentile and LookBack Period?") hp2 = input(false, title="Show High Range For Market Bottom- Based on Percentile and LookBack Period?") sd = input(false, title="Show Standard Deviation Line For Market Top?") sd2 = input(false, title="Show Standard Deviation Line For Market Bottom?") pmn = input(true, title="Show Percentile Meter Normalized- Based on Both Percentile Difference?") pme = input(true, title="Show Percentile Meter Extremes?- Based on Both Percentile Difference?") wvf = ((lowest(close, pd)-high)/(lowest(close, pd)))*100 wvf2 = ((highest(close, pd)-low)/(highest(close, pd)))*100 sDev = mult * stdev(wvf, bbl) sDev2 = mult * stdev(wvf2, bbl) midLine = sma(wvf, bbl) midLine2 = sma(wvf2, bbl) lowerBand = midLine - sDev upperBand = midLine + sDev lowerBand2 = midLine2 - sDev2 upperBand2 = midLine2 + sDev2 rangeHigh = (highest(wvf, lb)) * ph rangeLow = (lowest(wvf, lb)) * pl rangeHigh2 = (highest(wvf2, lb)) * ph2 rangeLow2 = (lowest(wvf2, lb)) * pl2 col = wvf <= lowerBand or wvf <= rangeLow ? red : gray col2 = wvf2 >= upperBand2 or wvf2 >= rangeHigh2 ? lime : gray diffpmn = (wvf2 + wvf)/2 diffpme = wvf2 + wvf plot(wfmt and wvf ? wvf : na, title="MF Vix Fix For Market Top", style=histogram, linewidth=4, color=col) plot(hp and rangeHigh ? rangeHigh : na, title="Range High Percentile For Market Top", style=line, linewidth=4, color=orange) plot(hp and rangeLow ? rangeLow : na, title="Range Low Percentile For Market Top", style=line, linewidth=4, color=orange) plot(sd and lowerBand ? lowerBand : na, title="SD Band Top", style=line, linewidth=3, color=yellow) plot(wfmb and wvf2 ? wvf2 : na, title="MF Vix Fix For Market Bottom", style=histogram, linewidth=4, color=col2) plot(hp2 and rangeHigh2 ? rangeHigh2 : na, title="Range High Percentile For Market Bottom", style=line, linewidth=4, color=orange) plot(hp2 and rangeLow2 ? rangeLow2 : na, title="Range Low Percentile For Market Bottom", style=line, linewidth=4, color=orange) plot(sd2 and upperBand2 ? upperBand2 : na, title="SD Band Bottom", style=line, linewidth=3, color=red) plot(pmn and diffpmn ? diffpmn : na, title="Percentile Meter Normalized", style=line, linewidth=1, color=lime) plot(pme and diffpme ? diffpme : na, title="Percentile Meter Extremes", style=line, linewidth=1, color=white)