Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //@version=4
- study(title="Multiple WaveTrend modified alerts", shorttitle="MWT Ribbons alerts", overlay = true)
- showRibbons = input(false, title="Show EMA ribbons")
- src = close
- len1 = 05
- len2 = 11
- len3 = 15
- len4 = 18
- len5 = 21
- len6 = 25
- len7 = 28
- len8 = 32
- len0 = 21
- ema1 = ema(src, len1)
- ema2 = ema(src, len2)
- ema3 = ema(src, len3)
- ema4 = ema(src, len4)
- ema5 = ema(src, len5)
- ema6 = ema(src, len6)
- ema7 = ema(src, len7)
- ema8 = ema(src, len8)
- ema0 = ema(src, len0)
- //ema is smoothed to 2 periods, you can change smoothing by adjusting the number in the bracket below
- //example [1] would react quicker and [3] would increase smoothing
- plot_color1 = ema1 >= ema1[2] ? #696969 : ema1 < ema1[2] ? color.white : na
- plot_color2 = ema2 >= ema2[2] ? #808080 : ema2 < ema2[2] ? #F5F5F5 : na
- plot_color3 = ema3 >= ema3[2] ? #A9A9A9 : ema3 < ema3[2] ? #DCDCDC : na
- plot_color4 = ema4 >= ema4[2] ? #C0C0C0 : ema4 < ema4[2] ? #D3D3D3 : na
- plot_color5 = ema5 >= ema5[2] ? #D3D3D3 : ema5 < ema5[2] ? #C0C0C0 : na
- plot_color6 = ema6 >= ema6[2] ? #DCDCDC : ema6 < ema6[2] ? #A9A9A9 : na
- plot_color7 = ema7 >= ema7[2] ? #F5F5F5 : ema7 < ema7[2] ? #808080 : na
- plot_color8 = ema8 >= ema8[2] ? color.white : ema8 < ema8[2] ? #696969 : na
- plot_color0 = ema0 >= ema0[2] ? color.green : ema0 < ema0[2] ? color.yellow : na
- showWellowOrGray = input(false, title="Show Yellow or Gray Ribbon")
- pema1 = plot(showWellowOrGray and showRibbons ? ema1 : na, title="EMA Plot 1", style=plot.style_line, linewidth=2, color=plot_color1)
- pema2 = plot(showWellowOrGray and showRibbons ? ema2 : na, title="EMA Plot 2", style=plot.style_line, linewidth=2, color=plot_color2)
- pema3 = plot(showWellowOrGray and showRibbons ? ema3 : na, title="EMA Plot 3", style=plot.style_line, linewidth=2, color=plot_color3)
- pema4 = plot(showWellowOrGray and showRibbons ? ema4 : na, title="EMA Plot 4", style=plot.style_line, linewidth=2, color=plot_color4)
- pema5 = plot(showWellowOrGray and showRibbons ? ema5 : na, title="EMA Plot 5", style=plot.style_line, linewidth=2, color=plot_color5)
- pema6 = plot(showWellowOrGray and showRibbons ? ema6 : na, title="EMA Plot 6", style=plot.style_line, linewidth=2, color=plot_color6)
- pema7 = plot(showWellowOrGray and showRibbons ? ema7 : na, title="EMA Plot 7", style=plot.style_line, linewidth=2, color=plot_color7)
- pema8 = plot(showWellowOrGray and showRibbons ? ema8 : na, title="EMA Plot 8", style=plot.style_line, linewidth=2, color=plot_color8)
- pema0 = plot(showWellowOrGray and showRibbons ? ema0 : na, title="EMA Plot 9", style=plot.style_line, linewidth=3, color=plot_color0)
- fill(pema1, pema2, color=#555555, transp=52, title="Fill Ribbon 1-2")
- fill(pema2, pema8, color=#555555, transp=62, title="Fill Ribbon 2-8")
- //-----------------------------------------------------
- // Yellow ribbon
- //-----------------------------------------------------
- dropn(src, n) =>
- na(src[n]) ? na : src[n]
- length1 = 20
- length2 = 25
- length3 = 30
- length4 = 35
- length5 = 40
- length6 = 45
- length7 = 50
- length8 = 55
- length9 = 60
- //dropCandles = input(1, minval=0, title="Yellow EMA Drop First N Candles")
- dropCandles = 0
- price = dropn(src, dropCandles)
- yEMA1 = ema(price, length1)
- yEMA2 = ema(price, length2)
- yEMA3 = ema(price, length3)
- yEMA4 = ema(price, length4)
- yEMA5 = ema(price, length5)
- yEMA6 = ema(price, length6)
- yEMA7 = ema(price, length7)
- yEMA8 = ema(price, length8)
- yEMA9 = ema(price, length9)
- yPEma1 = plot(not showWellowOrGray and showRibbons ? yEMA1 : na, title="Y EMA-1", color=#f5eb5d, transp=0, linewidth=2)
- yPEma2 = plot(not showWellowOrGray and showRibbons ? yEMA2 : na, title="Y EMA-2", color=#f5b771, transp=0, linewidth=2)
- yPEma3 = plot(not showWellowOrGray and showRibbons ? yEMA3 : na, title="Y EMA-3", color=#f5b056, transp=0, linewidth=2)
- yPEma4 = plot(not showWellowOrGray and showRibbons ? yEMA4 : na, title="Y EMA-4", color=#f57b4e, transp=0, linewidth=2)
- yPEma5 = plot(not showWellowOrGray and showRibbons ? yEMA5 : na, title="Y EMA-5", color=#f56d58, transp=0, linewidth=2)
- yPEma6 = plot(not showWellowOrGray and showRibbons ? yEMA6 : na, title="Y EMA-6", color=#f57d51, transp=0, linewidth=2)
- yPEma7 = plot(not showWellowOrGray and showRibbons ? yEMA7 : na, title="Y EMA-7", color=#f55151, transp=0, linewidth=2)
- yPEma8 = plot(not showWellowOrGray and showRibbons ? yEMA8 : na, title="Y EMA-8", color=#aa2707, transp=0, linewidth=2)
- yPEma9 = plot(not showWellowOrGray and showRibbons ? yEMA9 : na, title="Y EMA-9", color=#E62020, transp=0, linewidth=2)
- fill(yPEma1, yPEma9, color = yEMA1 > yEMA9 ? color.green : color.red, transp=68, title="Fill Yellow Ribbon")
- //-----------------------------------------------------
- // Yellow ribbon END
- //-----------------------------------------------------
- //-----------------------------------------------------
- // Multi timeframes VWAP test
- //-----------------------------------------------------
- //n1 = input(5, "VWAP Channel Length") // Default 10
- //n2 = input(14, "VWAP Average Length") // default 21
- n1 = 5
- n2 = 14
- showChar = input(true, title="Show Symbol")
- showFirst = input(true, title="Show only First")
- confCandleNum = input(3, minval=0, title="Num of Candles for Confirmation")
- resolution1 = input(defval="7", title="1st VWAP Timeframe (minutes)")
- resolution2 = input(defval="15", title="2nd VWAP Timeframe (minutes)")
- resolution3 = input(defval="30", title="3rd VWAP Timeframe (minutes)")
- resolution4 = input(defval="90", title="4th VWAP Timeframe (minutes)")
- getVWAP(val1, val2, confCandleNum) =>
- ap = dropn(hlc3, confCandleNum)
- esa = ema(ap, val1)
- d = ema(abs(ap - esa), val1)
- ci = (ap - esa) / (0.015 * d)
- tci = ema(ci, val2)
- wt1 = tci
- wt2 = sma(wt1, 4)
- myVWAP = wt1 - wt2
- haID = heikinashi(syminfo.tickerid)
- MyVWAP = getVWAP(n1, n2, confCandleNum)
- VWAP1 = security(haID, resolution1, MyVWAP, lookahead=barmerge.lookahead_off)
- VWAP2 = security(haID, resolution2, MyVWAP, lookahead=barmerge.lookahead_off)
- VWAP3 = security(haID, resolution3, MyVWAP, lookahead=barmerge.lookahead_off)
- VWAP4 = security(haID, resolution4, MyVWAP, lookahead=barmerge.lookahead_off)
- crossUp = iff(VWAP1 > 0.0000000001, iff(VWAP2 > 0.0000000001, iff(VWAP3 > 0.0000000001, iff(VWAP4 > 0.0000000001, true, na), na), na), na)
- crossDown = iff(VWAP1 < -0.00000000001, iff(VWAP2 < -0.00000000001, iff(VWAP3 < -0.00000000001, iff(VWAP4 < -0.00000000001, true, na), na), na), na)
- showCrossUp = false
- showCrossDown = false
- if (showFirst)
- ud = 0
- ud := crossUp ? 1 : crossDown ? 2 : nz(ud[1])
- showCrossUp := crossUp and ud != ud[1] ? true : false
- showCrossDown := crossDown and ud != ud[1] ? true : false
- else
- showCrossUp := crossUp ? true : false
- showCrossDown := crossDown ? true : false
- barcolor(color = showCrossUp ? color.yellow : na, title="Bar Color Up")
- // size.auto, size.tiny, size.small, size.normal, size.large, size.huge
- plotchar(close, color = showCrossUp and showChar ? color.yellow : na, char="!", size=size.tiny, title="Char Color Up")
- barcolor(color = showCrossDown ? #00FFFF : na, title="Bar Color Down")
- // size.auto, size.tiny, size.small, size.normal, size.large, size.huge
- plotchar(close, color = showCrossDown and showChar ? color.blue : na, char='❄', size=size.tiny, title="Char Color Down")
- udAlert = 0
- udAlert := crossUp ? 1 : crossDown ? 2 : nz(udAlert[1])
- OBstoch = input(80, title="OBstoch level")
- OSstoch = input(20, title="OSstoch level")
- smoothing =input(6, title="stoch smoothing")
- stochmin = input(15, title="stoch TF in minutes (minutes and hours are summed, leave a zero in one of these")
- stochhours = input(0, title="stoch TF in hours")
- stochtime = stochmin + (stochhours * 60)
- rawk = sma(stoch(close, high, low, 14), smoothing)
- k = security(syminfo.ticker, tostring(stochtime), rawk)
- buy = k < OBstoch and crossUp and udAlert != udAlert[1] ? 1 : na
- sell = k > OSstoch and crossDown and udAlert != udAlert[1] ? 1 : na
- alertcondition(buy, title='Buy Signal', message='Buy Signal!')
- alertcondition(sell, title='Sell Signal', message='Sell Signal!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement