Davilae177

D_WEACipher_A++ 2020 with rainbow

Dec 27th, 2020
1,073
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 11.12 KB | None | 0 0
  1. //@version=4
  2. // Changes by TrendFish
  3.  
  4.  
  5. study(title="D_Market Cipher A", shorttitle="D_WEACipher_A++", overlay=true)
  6.  
  7. // PARAMETERS {
  8.  
  9. // WaveTrend Overbought & Oversold lines
  10. obLevel = input(53, "WT Overbought Level 1")
  11. obLevel2 = input(60, "WT Overbought Level 2")
  12. osLevel = input(-53, "WT Oversold Level 1")
  13. osLevel2 = input(-60, "WT Oversold Level 2")
  14.  
  15. //EMA Ribbon
  16. showRibbon = input(false, "Show Ribbon")
  17.  
  18. ema_1 = input(5)
  19. ema_2 = input(11)
  20. ema_3 = input(15)
  21. ema_4 = input(18)
  22. ema_5 = input(21)
  23. ema_6 = input(24)
  24. ema_7 = input(28)
  25. ema_8 = input(34)
  26. // }
  27.  
  28.  
  29. // CALCULATE INDICATORS {
  30.  
  31. //EMA Ribbon
  32. ema1_ = ema(close, ema_1)
  33. ema2_ = ema(close, ema_2)
  34. ema3_ = ema(close, ema_3)
  35. ema4_ = ema(close, ema_4)
  36. ema5_ = ema(close, ema_5)
  37. ema6_ = ema(close, ema_6)
  38. ema7_ = ema(close, ema_7)
  39. ema8_ = ema(close, ema_8)
  40.  
  41. // RSI
  42. up = rma(max(change(close), 0), 14)
  43. down = rma(-min(change(close), 0), 14)
  44. rsi = down == 0 ? 100 : up == 0 ? 0 : 100 - 100 / (1 + up / down)
  45.  
  46. // WT
  47. n1 = input(7, "WT Channel Length")
  48. n2 = input(12, "WT Average Length")
  49.  
  50. ap = input(ohlc4)
  51. esa = ema(ap, n1)
  52. de = ema(abs(ap - esa), n1)
  53. ci = (ap - esa) / (0.015 * de)
  54. tci = ema(ci, n2)
  55. wt1 = tci
  56. wt2 = sma(wt1, 3)
  57.  
  58. vwap_area = wt1 - wt2
  59.  
  60. // WaveTrend Conditions
  61. WTCross = cross(wt1, wt2)
  62. WTCrossUp = wt2 - wt1 <= 0
  63. WTCrossDown = wt2 - wt1 >= 0
  64. WTOverSold = wt2 <= osLevel2
  65. WTOverBought = wt2 >= obLevel2
  66.  
  67. // Signals
  68.  
  69. longEma = crossover(ema2_, ema8_)
  70. redCross = crossunder(ema1_, ema2_)
  71. blueTriangle = crossover(ema2_, ema3_)
  72. redDiamond = WTCross and WTCrossDown
  73. yellowCross = redDiamond and rsi <= 30 and wt2 <= osLevel
  74. bloodDiamond = redDiamond and redCross
  75. shortEma = crossover(ema8_, ema2_)
  76.  
  77.  
  78.  
  79. // } CALCULATE INDICATORS
  80.  
  81.  
  82. // DRAW {
  83.  
  84. // EMA Ribbon
  85. colorEma = ema8_ < ema2_ ? color.green : color.red
  86.  
  87. plot(ema1_, color=showRibbon ? #265aa6 : na, linewidth=2, transp=50, title="EMA 1")
  88. plot(ema2_, color=showRibbon ? #265aa6 : na, linewidth=2, transp=50, title="EMA 2")
  89. plot(ema3_, color=showRibbon ? #1976d2 : na, linewidth=2, transp=50, title="EMA 3")
  90. plot(ema4_, color=showRibbon ? #1976d2 : na, linewidth=2, transp=50, title="EMA 4")
  91. plot(ema5_, color=showRibbon ? #7fb3ff : na, linewidth=2, transp=50, title="EMA 5")
  92. plot(ema6_, color=showRibbon ? #7fb3ff : na, linewidth=2, transp=50, title="EMA 6")
  93. plot(ema7_, color=showRibbon ? #bbdefb : na, linewidth=2, transp=50, title="EMA 7")
  94. plot(ema8_, color=showRibbon ? #bbdefb : na, linewidth=2, transp=50, title="EMA 8")
  95.  
  96. plot(ema8_, color=showRibbon ? na : colorEma, linewidth=2, transp=50, title="Colored EMA 8")
  97.  
  98. // SHAPES
  99. plotshape(longEma, style=shape.circle, color=#00ff00, transp=50, location=location.abovebar, size=size.tiny, title="Long EMA Signal")
  100. plotshape(shortEma, style=shape.circle, color=#ff0000, transp=50, location=location.abovebar, size=size.tiny, title="Short EMA Signal")
  101. plotshape(redCross, style=shape.xcross, color=#ff0000, transp=50, location=location.abovebar, size=size.tiny, title="Red cross")
  102. plotshape(blueTriangle, style=shape.triangleup, color=#0064ff, transp=50, location=location.abovebar, size=size.small, title="Blue Triangle")
  103. plotshape(redDiamond, style=shape.diamond, color=#ff0000, location=location.abovebar, size=size.tiny, title="Red Diamond", transp=25)
  104. plotshape(bloodDiamond, style=shape.diamond, color=#ff0000, location=location.abovebar, size=size.small, title="Blood Diamond", transp=15)
  105. plotshape(yellowCross, style=shape.xcross, color=color.yellow, location=location.abovebar, size=size.small, title="Yellow Cross", transp=25)
  106. // } DRAW
  107.  
  108.  
  109. // ALERTS {
  110. alertcondition(redDiamond != 0, "Red Diamond", "Red Diamond")
  111. alertcondition(bloodDiamond != 0, "Blood Diamond", "Blood Diamond")
  112. alertcondition(yellowCross != 0, "YellowX", "YellowX")
  113. alertcondition(redCross != 0, "RedX", "RedX")
  114. alertcondition(longEma != 0, "Longema", "Longema")
  115. alertcondition(blueTriangle != 0, "Bluetriangle", "Bluetriangle")
  116. //******************************************************************************************************************************************************************************************************
  117. src = close
  118. useCurrentRes = input(true, title="Use Current Chart Resolution?")
  119. resCustom = input(title="Use Different Timeframe? Uncheck Box Above", defval="D")
  120. len = input(20, title="Moving Average Length - LookBack Period")
  121. //period = input(defval=7, title="Tilson T3 Period", minval=1)
  122. factorT3 = input(defval=7, title="Tilson T3 Factor - *.10 - so 7 = .7 etc.", minval=0)
  123. atype = input(1, minval=1, maxval=8, title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA, 8=Tilson T3")
  124. spc = input(false, title="Show Price Crossing 1st Mov Avg - Highlight Bar?")
  125. cc = input(true, title="Change Color Based On Direction?")
  126. smoothe = input(2, minval=1, maxval=10, title="Color Smoothing - Setting 1 = No Smoothing")
  127. doma2 = input(false, title="Optional 2nd Moving Average")
  128. spc2 = input(false, title="Show Price Crossing 2nd Mov Avg?")
  129. len2 = input(50, title="Moving Average Length - Optional 2nd MA")
  130. sfactorT3 = input(defval=7, title="Tilson T3 Factor - *.10 - so 7 = .7 etc.", minval=0)
  131. atype2 = input(1, minval=1, maxval=8, title="1=SMA, 2=EMA, 3=WMA, 4=HullMA, 5=VWMA, 6=RMA, 7=TEMA, 8=Tilson T3")
  132. cc2 = input(true, title="Change Color Based On Direction 2nd MA?")
  133. warn = input(false, title="***You Can Turn On The Show Dots Parameter Below Without Plotting 2nd MA to See Crosses***")
  134. warn2 = input(false, title="***If Using Cross Feature W/O Plotting 2ndMA - Make Sure 2ndMA Parameters are Set Correctly***")
  135. sd = input(false, title="Show Dots on Cross of Both MA's")
  136.  
  137.  
  138. // Super EMA MA Combo //
  139. // 5 EMAs: //
  140. // 5 SMAs: //
  141.  
  142. // EMA input//
  143. scalpingEMA1 = input(21, minval=1)
  144. scalpingEMA2 = input(25, minval=1)
  145. scalpingEMA3 = input(30, minval=1)
  146. scalpingEMA4 = input(35, minval=1)
  147. EMA1 = input(40, minval=1)
  148. EMA2 = input(45, minval=1)
  149. EMA3 = input(50, minval=1)
  150. EMA4 = input(200, minval=1)
  151. EMA5 = input(377, minval=1)
  152.  
  153.  
  154. // MA input//
  155. SMA1 = input(10, minval=1)
  156. SMA2 = input(19, minval=1)
  157. SMA3 = input(50, minval=1)
  158. SMA4 = input(200, minval=1)
  159. SMA5 = input(377, minval=1)
  160. xPrice = close
  161.  
  162. // EMA //
  163. xscEMA1 = ema(xPrice, scalpingEMA1)
  164. xscEMA2 = ema(xPrice, scalpingEMA2)
  165. xscEMA3 = ema(xPrice, scalpingEMA3)
  166. xscEMA4 = ema(xPrice, scalpingEMA4)
  167. xEMA1 = ema(xPrice, EMA1)
  168. xEMA2 = ema(xPrice, EMA2)
  169. xEMA3 = ema(xPrice, EMA3)
  170. xEMA4 = ema(xPrice, EMA4)
  171. xEMA5 = ema(xPrice, EMA5)
  172. // MA //
  173. xSMA1 = sma(xPrice, SMA1)
  174. xSMA2 = sma(xPrice, SMA2)
  175. xSMA3 = sma(xPrice, SMA3)
  176. xSMA4 = sma(xPrice, SMA4)
  177. xSMA5 = sma(xPrice, SMA5)
  178.  
  179. //END OF EMAS INPUTS
  180.  
  181.  
  182.  
  183.  
  184.  
  185. res = useCurrentRes ? timeframe.period : resCustom
  186. //hull ma definition
  187. hullma = wma(2 * wma(src, len / 2) - wma(src, len), round(sqrt(len)))
  188. //TEMA definition
  189. ema1 = ema(src, len)
  190. ema2 = ema(ema1, len)
  191. ema3 = ema(ema2, len)
  192. tema = 3 * (ema1 - ema2) + ema3
  193.  
  194. //Tilson T3
  195. factor = factorT3 * .10
  196. gd(src, len, factor) =>
  197. ema(src, len) * (1 + factor) - ema(ema(src, len), len) * factor
  198. t3(src, len, factor) =>
  199. gd(gd(gd(src, len, factor), len, factor), len, factor)
  200. tilT3 = t3(src, len, factor)
  201.  
  202.  
  203. sma_1 = sma(src, len)
  204. ema_9 = ema(src, len)
  205. wma_1 = wma(src, len)
  206. vwma_1 = vwma(src, len)
  207. rma_1 = rma(src, len)
  208. avg = atype == 1 ? sma_1 : atype == 2 ? ema_9 :
  209. atype == 3 ? wma_1 : atype == 4 ? hullma : atype == 5 ? vwma_1 :
  210. atype == 6 ? rma_1 : atype == 7 ? 3 * (ema1 - ema2) + ema3 : tilT3
  211. //2nd Ma - hull ma definition
  212. hullma2 = wma(2 * wma(src, len2 / 2) - wma(src, len2), round(sqrt(len2)))
  213. //2nd MA TEMA definition
  214. sema1 = ema(src, len2)
  215. sema2 = ema(sema1, len2)
  216. sema3 = ema(sema2, len2)
  217. stema = 3 * (sema1 - sema2) + sema3
  218.  
  219. //2nd MA Tilson T3
  220. sfactor = sfactorT3 * .10
  221. sgd(src, len2, sfactor) =>
  222. ema(src, len2) * (1 + sfactor) - ema(ema(src, len2), len2) * sfactor
  223. st3(src, len2, sfactor) =>
  224. sgd(sgd(gd(src, len2, sfactor), len2, sfactor), len2, sfactor)
  225. stilT3 = st3(src, len2, sfactor)
  226.  
  227. sma_2 = sma(src, len2)
  228. ema_10 = ema(src, len2)
  229. wma_2 = wma(src, len2)
  230. vwma_2 = vwma(src, len2)
  231. rma_2 = rma(src, len2)
  232. avg2 = atype2 == 1 ? sma_2 : atype2 == 2 ? ema_10 :
  233. atype2 == 3 ? wma_2 : atype2 == 4 ? hullma2 : atype2 == 5 ? vwma_2 :
  234. atype2 == 6 ? rma_2 : atype2 == 7 ? 3 * (ema1 - ema2) + ema3 : stilT3
  235.  
  236. out = avg
  237. out_two = avg2
  238.  
  239. out1 = security(syminfo.tickerid, res, out)
  240. out2 = security(syminfo.tickerid, res, out_two)
  241.  
  242. //Formula for Price Crossing Moving Average #1
  243. cr_up = open < out1 and close > out1
  244. cr_Down = open > out1 and close < out1
  245. //Formula for Price Crossing Moving Average #2
  246. cr_up2 = open < out2 and close > out2
  247. cr_Down2 = open > out2 and close < out2
  248. //barcolor Criteria for Price Crossing Moving Average #1
  249. iscrossUp() =>
  250. cr_up
  251. iscrossDown() =>
  252. cr_Down
  253. //barcolor Criteria for Price Crossing Moving Average #2
  254. iscrossUp2() =>
  255. cr_up2
  256. iscrossDown2() =>
  257. cr_Down2
  258.  
  259. ma_up = out1 >= out1[smoothe]
  260. ma_down = out1 < out1[smoothe]
  261.  
  262. col = cc ? ma_up ? color.lime : ma_down ? color.red : color.aqua : color.aqua
  263. col2 = cc2 ? ma_up ? color.lime : ma_down ? color.red : color.aqua : color.white
  264.  
  265. circleYPosition = out2
  266.  
  267.  
  268. //PLOT EMAS FIRST AS A BACKGROUND
  269. // EMA plot//
  270. plot(xscEMA1, linewidth=2, color=color.new(#8cff00,20), title="scalping EMA 1")
  271. plot(xscEMA2, linewidth=2, color=#c6fa05, title="scalping EMA 2")
  272. plot(xscEMA3, linewidth=2, color=#e2ff00, title="scalping EMA 3")
  273. plot(xscEMA4, linewidth=2, color=#fff100, title="scalping EMA 4")
  274. plot(xEMA1, linewidth=2, color=#ffce00, title="EMA 1")
  275. plot(xEMA2, linewidth=2, color=#ff9200, title="EMA 2")
  276. plot(xEMA3, linewidth=2, color=#ff0000, title="EMA 3")
  277. plot(xEMA4, linewidth=2, color=#bf2cd8, title="EMA 4")
  278. plot(xEMA5, linewidth=2, color=color.new(#ff0000,40), title="EMA 5")
  279. // MA plot//
  280. plot(xSMA1, linewidth=2, color=color.blue, title="MA 1", display=display.none)
  281. plot(xSMA2, linewidth=2, color=color.red, title="MA 2", display=display.none)
  282. plot(xSMA3, linewidth=2, color=color.red, title="MA 3", display=display.none)
  283. plot(xSMA4, linewidth=2, color=color.red, title="MA 4", display=display.none)
  284. plot(xSMA5, linewidth=2, color=color.red, title="MA 5", display=display.none)
  285.  
  286. //PLOT CIPHER STUFF
  287. plot(out1, title="Multi-Timeframe Moving Avg", linewidth=3, color=col)
  288. plot(doma2 and out2 ? out2 : na, title="2nd Multi-TimeFrame Moving Average", style=plot.style_circles, linewidth=4, color=col2)
  289. plot(sd and cross(out1, out2) ? circleYPosition : na, style=plot.style_cross, linewidth=10, color=color.aqua, title="Cross of Both MA's")
  290. //barcolor Plot for Price Crossing Moving Average #1
  291. iscrossUp_1 = iscrossUp()
  292. barcolor(spc and iscrossUp() ? iscrossUp_1 ? color.yellow : na : na, title="Bar color of price crossing 1nd Mov Avg up")
  293. iscrossDown_1 = iscrossDown()
  294. barcolor(spc and iscrossDown() ? iscrossDown_1 ? color.yellow : na : na, title="Bar color of price crossing 1nd Mov Avg down")
  295. //barcolor Plot for Price Crossing Moving Average #2
  296. iscrossUp2_1 = iscrossUp2()
  297. barcolor(spc2 and iscrossUp2() ? iscrossUp2_1 ? color.yellow : na : na, title="Bar color of price crossing 2nd Mov Avg up")
  298. iscrossDown2_1 = iscrossDown2()
  299. barcolor(spc2 and iscrossDown2() ? iscrossDown2_1 ? color.yellow : na : na, title="Bar color of price crossing 2nd Mov Avg down")
  300.  
Advertisement
Add Comment
Please, Sign In to add comment