Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.08 KB | None | 0 0
  1. //@version=4
  2. study(title="Multiple WaveTrend modified alerts", shorttitle="MWT Ribbons alerts", overlay = true)
  3.  
  4.  
  5. showRibbons = input(false, title="Show EMA ribbons")
  6.  
  7. src = close
  8.  
  9. len1 = 05
  10. len2 = 11
  11. len3 = 15
  12. len4 = 18
  13. len5 = 21
  14. len6 = 25
  15. len7 = 28
  16. len8 = 32
  17.  
  18. len0 = 21
  19.  
  20.  
  21.  
  22. ema1 = ema(src, len1)
  23. ema2 = ema(src, len2)
  24. ema3 = ema(src, len3)
  25. ema4 = ema(src, len4)
  26. ema5 = ema(src, len5)
  27. ema6 = ema(src, len6)
  28. ema7 = ema(src, len7)
  29. ema8 = ema(src, len8)
  30.  
  31. ema0 = ema(src, len0)
  32.  
  33.  
  34.  
  35. //ema is smoothed to 2 periods, you can change smoothing by adjusting the number in the bracket below
  36. //example [1] would react quicker and [3] would increase smoothing
  37.  
  38. plot_color1 = ema1 >= ema1[2] ? #696969 : ema1 < ema1[2] ? color.white : na
  39. plot_color2 = ema2 >= ema2[2] ? #808080 : ema2 < ema2[2] ? #F5F5F5 : na
  40. plot_color3 = ema3 >= ema3[2] ? #A9A9A9 : ema3 < ema3[2] ? #DCDCDC : na
  41. plot_color4 = ema4 >= ema4[2] ? #C0C0C0 : ema4 < ema4[2] ? #D3D3D3 : na
  42. plot_color5 = ema5 >= ema5[2] ? #D3D3D3 : ema5 < ema5[2] ? #C0C0C0 : na
  43. plot_color6 = ema6 >= ema6[2] ? #DCDCDC : ema6 < ema6[2] ? #A9A9A9 : na
  44. plot_color7 = ema7 >= ema7[2] ? #F5F5F5 : ema7 < ema7[2] ? #808080 : na
  45. plot_color8 = ema8 >= ema8[2] ? color.white : ema8 < ema8[2] ? #696969 : na
  46.  
  47. plot_color0 = ema0 >= ema0[2] ? color.green : ema0 < ema0[2] ? color.yellow : na
  48.  
  49.  
  50. showWellowOrGray = input(false, title="Show Yellow or Gray Ribbon")
  51.  
  52.  
  53. pema1 = plot(showWellowOrGray and showRibbons ? ema1 : na, title="EMA Plot 1", style=plot.style_line, linewidth=2, color=plot_color1)
  54. pema2 = plot(showWellowOrGray and showRibbons ? ema2 : na, title="EMA Plot 2", style=plot.style_line, linewidth=2, color=plot_color2)
  55. pema3 = plot(showWellowOrGray and showRibbons ? ema3 : na, title="EMA Plot 3", style=plot.style_line, linewidth=2, color=plot_color3)
  56. pema4 = plot(showWellowOrGray and showRibbons ? ema4 : na, title="EMA Plot 4", style=plot.style_line, linewidth=2, color=plot_color4)
  57. pema5 = plot(showWellowOrGray and showRibbons ? ema5 : na, title="EMA Plot 5", style=plot.style_line, linewidth=2, color=plot_color5)
  58. pema6 = plot(showWellowOrGray and showRibbons ? ema6 : na, title="EMA Plot 6", style=plot.style_line, linewidth=2, color=plot_color6)
  59. pema7 = plot(showWellowOrGray and showRibbons ? ema7 : na, title="EMA Plot 7", style=plot.style_line, linewidth=2, color=plot_color7)
  60. pema8 = plot(showWellowOrGray and showRibbons ? ema8 : na, title="EMA Plot 8", style=plot.style_line, linewidth=2, color=plot_color8)
  61.  
  62. pema0 = plot(showWellowOrGray and showRibbons ? ema0 : na, title="EMA Plot 9", style=plot.style_line, linewidth=3, color=plot_color0)
  63.  
  64. fill(pema1, pema2, color=#555555, transp=52, title="Fill Ribbon 1-2")
  65. fill(pema2, pema8, color=#555555, transp=62, title="Fill Ribbon 2-8")
  66.  
  67.  
  68. //-----------------------------------------------------
  69. // Yellow ribbon
  70. //-----------------------------------------------------
  71.  
  72. dropn(src, n) =>
  73. na(src[n]) ? na : src[n]
  74.  
  75. length1 = 20
  76. length2 = 25
  77. length3 = 30
  78. length4 = 35
  79. length5 = 40
  80. length6 = 45
  81. length7 = 50
  82. length8 = 55
  83. length9 = 60
  84. //dropCandles = input(1, minval=0, title="Yellow EMA Drop First N Candles")
  85. dropCandles = 0
  86.  
  87. price = dropn(src, dropCandles)
  88.  
  89. yEMA1 = ema(price, length1)
  90. yEMA2 = ema(price, length2)
  91. yEMA3 = ema(price, length3)
  92. yEMA4 = ema(price, length4)
  93. yEMA5 = ema(price, length5)
  94. yEMA6 = ema(price, length6)
  95. yEMA7 = ema(price, length7)
  96. yEMA8 = ema(price, length8)
  97. yEMA9 = ema(price, length9)
  98.  
  99. yPEma1 = plot(not showWellowOrGray and showRibbons ? yEMA1 : na, title="Y EMA-1", color=#f5eb5d, transp=0, linewidth=2)
  100. yPEma2 = plot(not showWellowOrGray and showRibbons ? yEMA2 : na, title="Y EMA-2", color=#f5b771, transp=0, linewidth=2)
  101. yPEma3 = plot(not showWellowOrGray and showRibbons ? yEMA3 : na, title="Y EMA-3", color=#f5b056, transp=0, linewidth=2)
  102. yPEma4 = plot(not showWellowOrGray and showRibbons ? yEMA4 : na, title="Y EMA-4", color=#f57b4e, transp=0, linewidth=2)
  103. yPEma5 = plot(not showWellowOrGray and showRibbons ? yEMA5 : na, title="Y EMA-5", color=#f56d58, transp=0, linewidth=2)
  104. yPEma6 = plot(not showWellowOrGray and showRibbons ? yEMA6 : na, title="Y EMA-6", color=#f57d51, transp=0, linewidth=2)
  105. yPEma7 = plot(not showWellowOrGray and showRibbons ? yEMA7 : na, title="Y EMA-7", color=#f55151, transp=0, linewidth=2)
  106. yPEma8 = plot(not showWellowOrGray and showRibbons ? yEMA8 : na, title="Y EMA-8", color=#aa2707, transp=0, linewidth=2)
  107. yPEma9 = plot(not showWellowOrGray and showRibbons ? yEMA9 : na, title="Y EMA-9", color=#E62020, transp=0, linewidth=2)
  108.  
  109. fill(yPEma1, yPEma9, color = yEMA1 > yEMA9 ? color.green : color.red, transp=68, title="Fill Yellow Ribbon")
  110.  
  111. //-----------------------------------------------------
  112. // Yellow ribbon END
  113. //-----------------------------------------------------
  114.  
  115.  
  116.  
  117. //-----------------------------------------------------
  118. // Multi timeframes VWAP test
  119. //-----------------------------------------------------
  120.  
  121. //n1 = input(5, "VWAP Channel Length") // Default 10
  122. //n2 = input(14, "VWAP Average Length") // default 21
  123. n1 = 5
  124. n2 = 14
  125.  
  126. showChar = input(true, title="Show Symbol")
  127. showFirst = input(true, title="Show only First")
  128. confCandleNum = input(3, minval=0, title="Num of Candles for Confirmation")
  129.  
  130. resolution1 = input(defval="7", title="1st VWAP Timeframe (minutes)")
  131. resolution2 = input(defval="15", title="2nd VWAP Timeframe (minutes)")
  132. resolution3 = input(defval="30", title="3rd VWAP Timeframe (minutes)")
  133. resolution4 = input(defval="90", title="4th VWAP Timeframe (minutes)")
  134.  
  135. getVWAP(val1, val2, confCandleNum) =>
  136. ap = dropn(hlc3, confCandleNum)
  137. esa = ema(ap, val1)
  138. d = ema(abs(ap - esa), val1)
  139. ci = (ap - esa) / (0.015 * d)
  140. tci = ema(ci, val2)
  141.  
  142. wt1 = tci
  143. wt2 = sma(wt1, 4)
  144. myVWAP = wt1 - wt2
  145.  
  146.  
  147. haID = heikinashi(syminfo.tickerid)
  148. MyVWAP = getVWAP(n1, n2, confCandleNum)
  149. VWAP1 = security(haID, resolution1, MyVWAP, lookahead=barmerge.lookahead_off)
  150. VWAP2 = security(haID, resolution2, MyVWAP, lookahead=barmerge.lookahead_off)
  151. VWAP3 = security(haID, resolution3, MyVWAP, lookahead=barmerge.lookahead_off)
  152. VWAP4 = security(haID, resolution4, MyVWAP, lookahead=barmerge.lookahead_off)
  153.  
  154. crossUp = iff(VWAP1 > 0.0000000001, iff(VWAP2 > 0.0000000001, iff(VWAP3 > 0.0000000001, iff(VWAP4 > 0.0000000001, true, na), na), na), na)
  155. crossDown = iff(VWAP1 < -0.00000000001, iff(VWAP2 < -0.00000000001, iff(VWAP3 < -0.00000000001, iff(VWAP4 < -0.00000000001, true, na), na), na), na)
  156.  
  157. showCrossUp = false
  158. showCrossDown = false
  159. if (showFirst)
  160. ud = 0
  161. ud := crossUp ? 1 : crossDown ? 2 : nz(ud[1])
  162. showCrossUp := crossUp and ud != ud[1] ? true : false
  163. showCrossDown := crossDown and ud != ud[1] ? true : false
  164. else
  165. showCrossUp := crossUp ? true : false
  166. showCrossDown := crossDown ? true : false
  167.  
  168. barcolor(color = showCrossUp ? color.yellow : na, title="Bar Color Up")
  169. // size.auto, size.tiny, size.small, size.normal, size.large, size.huge
  170. plotchar(close, color = showCrossUp and showChar ? color.yellow : na, char="!", size=size.tiny, title="Char Color Up")
  171.  
  172. barcolor(color = showCrossDown ? #00FFFF : na, title="Bar Color Down")
  173. // size.auto, size.tiny, size.small, size.normal, size.large, size.huge
  174. plotchar(close, color = showCrossDown and showChar ? color.blue : na, char='❄', size=size.tiny, title="Char Color Down")
  175.  
  176.  
  177. udAlert = 0
  178. udAlert := crossUp ? 1 : crossDown ? 2 : nz(udAlert[1])
  179.  
  180.  
  181.  
  182. OBstoch = input(80, title="OBstoch level")
  183. OSstoch = input(20, title="OSstoch level")
  184. smoothing =input(6, title="stoch smoothing")
  185. stochmin = input(15, title="stoch TF in minutes (minutes and hours are summed, leave a zero in one of these")
  186. stochhours = input(0, title="stoch TF in hours")
  187.  
  188. stochtime = stochmin + (stochhours * 60)
  189.  
  190. rawk = sma(stoch(close, high, low, 14), smoothing)
  191.  
  192. k = security(syminfo.ticker, tostring(stochtime), rawk)
  193.  
  194. buy = k < OBstoch and crossUp and udAlert != udAlert[1] ? 1 : na
  195. sell = k > OSstoch and crossDown and udAlert != udAlert[1] ? 1 : na
  196.  
  197. alertcondition(buy, title='Buy Signal', message='Buy Signal!')
  198. alertcondition(sell, title='Sell Signal', message='Sell Signal!')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement