Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0
- // edited by notXsmiling
- //@version=5
- indicator(title="Reddit Help", shorttitle="Multi EMA + VVWAP", overlay=true)
- // ---------------------------------------------------------------
- // EMA ----
- // ---------------------------------------------------------------
- groupEMA = "EMA Setting"
- showEMA = input.bool(true,"Show EMA",group=groupEMA)
- src = close,
- len1 = input(25, title="EMA 1",group=groupEMA)
- len2 = input(75,title="EMA 2",group=groupEMA)
- len3 = input(200,title="EMA 3",group=groupEMA)
- len4 = input(10,title="EMA 4",group=groupEMA)
- len5 = input(300,title="EMA 5",group=groupEMA)
- ema1 = ta.ema(src, len1)
- ema2 = ta.ema(src, len2)
- ema3 = ta.ema(src, len3)
- ema4 = ta.ema(src, len4)
- ema5 = ta.ema(src, len5)
- //EMA Color
- col1 = color.lime
- col2 = color.blue
- col3 = color.red
- col4 = color.gray
- col5 = color.gray
- //EMA Plots
- plot(showEMA ? ema1 :na, title="EMA 1", linewidth=2, color=col1)
- plot(showEMA ? ema2 :na, title="EMA 2", linewidth=2, color=col2)
- plot(showEMA ? ema3 :na, title="EMA 3", linewidth=2, color=col3)
- plot(showEMA ? ema4 :na, title="EMA 4", linewidth=1, color=col4)
- plot(showEMA ? ema5 :na, title="EMA 5", linewidth=1, color=col5)
- // ---------------------------------------------------------------
- // VWAP ----
- // ---------------------------------------------------------------
- groupVWAP = "VWAP Setting"
- showVWAP = input.bool(true,"Show VWAP",group=groupVWAP)
- greenInput = input.color(color.new(color.green,90),title="1st Color",group=groupVWAP)
- redInput = input.color(color.new(color.red,90),title="1st Color",group=groupVWAP)
- grayInput = input.color(color.new(color.gray,90),title="1st Color",group=groupVWAP)
- darkgreenInput = input.color(color.new(color.green,0),title="1st Color",group=groupVWAP)
- darkredInput = input.color(color.new(color.red,0),title="1st Color",group=groupVWAP)
- darkgrayInput = input.color(color.new(color.gray,0),title="1st Color",group=groupVWAP)
- devUp1 = input(1.28, title="Stdev above (1)")
- devDn1 = input(1.28, title="Stdev below (1)")
- devUp2 = input(2.01, title="Stdev above (2)")
- devDn2 = input(2.01, title="Stdev below (2)")
- devUp3 = input(2.51, title="Stdev above (3)")
- devDn3 = input(2.51, title="Stdev below (3)")
- devUp4 = input(3.09, title="Stdev above (4)")
- devDn4 = input(3.09, title="Stdev below (4)")
- devUp5 = input(4.01, title="Stdev above (5)")
- devDn5 = input(4.01, title="Stdev below (5)")
- showBcol = input(true, title="Turn Barcolor ON/OFF?")
- showDv2 = input(true, title="Show second group of bands?")
- showDv3 = input(true, title="Show third group of bands?")
- showDv4 = input(true, title="Show fourth group of bands?")
- showDv5 = input(true, title="Show fifth group of bands?")
- showPrevVWAP = input(true, title="Show previous VWAP close")
- ColorSrc=input(close)
- price=ColorSrc
- start = request.security(syminfo.tickerid, "D", time)
- newSession = ta.change(start) ? 1 : 0
- float vwapsum = 0.0
- vwapsum := newSession ? hl2*volume : vwapsum[1]+hl2*volume
- float volumesum = 0.0
- volumesum := newSession ? volume : volumesum[1]+volume
- float v2sum = 0.0
- v2sum := newSession ? volume*hl2*hl2: v2sum[1]+volume*hl2*hl2
- myvwap = vwapsum/volumesum
- dev = math.sqrt(math.max(v2sum/volumesum - myvwap*myvwap, 0))
- A=plot(myvwap,style=plot.style_circles, title="VWAP", color=color.black)
- U1=plot(myvwap + devUp1 * dev,style=plot.style_circles, title="VWAP Upper", color=darkgrayInput)
- D1=plot(myvwap - devDn1 * dev, style=plot.style_circles, title="VWAP Lower", color=darkgrayInput)
- myvwapu1= myvwap + devUp1 * dev
- myvwapd1= myvwap - devDn1 * dev
- U2=plot(showDv2 ? myvwap + devUp2 * dev : na, color=darkredInput, title="VWAP Upper (2)")
- D2=plot(showDv2 ? myvwap - devDn2 * dev : na, color=darkgreenInput, title="VWAP Lower (2)")
- myvwapu2= myvwap + devUp2 * dev
- myvwapu3= myvwap + devUp3 * dev
- myvwapd2= myvwap - devDn2 * dev
- myvwapd3= myvwap - devDn3 * dev
- U3=plot(showDv3 ? myvwap + devUp3 * dev : na, title="VWAP Upper (3)", color=darkredInput)
- D3=plot(showDv3 ? myvwap - devDn3 * dev : na, title="VWAP Lower (3)", color=darkgreenInput)
- myvwapu4= myvwap + devDn4 * dev
- myvwapd4= myvwap - devDn4 * dev
- U4=plot(showDv4 ? myvwap + devUp4 * dev : na, title="VWAP Upper (4)", color=darkredInput)
- D4=plot(showDv4 ? myvwap - devDn4 * dev : na, title="VWAP Lower (4)", color=darkgreenInput)
- U5=plot(showDv5 ? myvwap + devUp5 * dev : na, title="VWAP Upper (5)", color=darkredInput)
- D5=plot(showDv5 ? myvwap - devDn5 * dev : na, title="VWAP Lower (5)", color=darkgreenInput)
- float prevwap = 0.0
- prevwap := newSession ? myvwap[1]: prevwap[1]
- plot(showPrevVWAP ? prevwap : na, style=plot.style_circles, color=close > prevwap ? darkgreenInput : darkredInput)
- ColorMiddleU = price > myvwap and price < myvwapu2 ? color.white:na
- ColorMiddleD = price > myvwapd1 and price < myvwap ? color.black:na
- ColorDv1d = price > myvwapd2 and price < myvwapd1 ? color.gray:na
- ColorDv1u = price > myvwapu1 and price < myvwapu2 ? color.gray:na
- ColorDv2d = price > myvwapd3 and price < myvwapd2 ? color.green:na
- ColorDv2u = price > myvwapu2 and price < myvwapu3 ? color.maroon:na
- ColorDv3d = price > myvwapd4 and price < myvwapd3 ? color.lime:na
- ColorDv3u = price > myvwapu3 and price < myvwapu4 ? color.red:na
- barcolor(showBcol?ColorMiddleD:na, title="BarColor vwap-1 Lower")
- barcolor(showBcol?ColorMiddleU:na, title="BarColorColor vwap-1 upper")
- barcolor(showBcol?ColorDv1d:na, title="BarColor 1-2 Lower")
- barcolor(showBcol?ColorDv1u:na, title="BarColorColor 1-2 upper")
- barcolor(showBcol?ColorDv2d:na, title="BarColor 2-3 Lower")
- barcolor(showBcol?ColorDv2u:na, title="BarColorColor 2-3 upper")
- barcolor(showBcol?ColorDv3d:na, title="BarColor 3-4 Lower")
- barcolor(showBcol?ColorDv3u:na, title="BarColorColor 3-4 upper")
- fill(U1, U2, color=redInput, title="Over Bought Fill 1")
- fill(D1, D2, color=greenInput, title="Over Sold Fill 1")
- fill(U2, U3, color=redInput, title="Over Bought Fill 2")
- fill(D2, D3, color=greenInput, title="Over Sold Fill 2")
- fill(U3, U4, color=redInput, title="Over Bought Fill 3")
- fill(D3, D4, color=greenInput, title="Over Sold Fill 3")
- fill(U4, U5, color=redInput, title="Over Bought Fill 4")
- fill(D4, D5, color=greenInput, title="Over Sold Fill 4")
- fill(A, U1, color=grayInput, title="Middle Fill Up")
- fill(A, D1, color=grayInput, title="Middle Fill Down")
Advertisement