Advertisement
Guest User

11x EMA ribbon [custom indicator for TradingView]

a guest
Apr 23rd, 2014
10,611
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.59 KB | None | 0 0
  1. //
  2. // @author LazyBear
  3. // Generic 11x EMA plotter. Marks all EMA crossings, if configured to true.
  4. //
  5. // Notes: I actually added an option to disable a specific MA line by specifying ZERO for it.
  6. // This broke the Pinescript Engine. So, for now, please specify all MA values, though I have support
  7. // for disabling a line in the code.
  8. //
  9. study(title="11x MA [LazyBear]", shorttitle="11xMA_LB", overlay=true)
  10. src = close
  11. ma1_color = #00ffff
  12. ma2_color = #ff9800
  13. ma3_color = #cc4125
  14. ma4_color = #00ff00
  15. ma5_color = #000080
  16. ma6_color = #008080
  17. ma7_color = #ff3366
  18. ma8_color = #00cc66
  19.  
  20. ma9_color = #0000ff
  21. ma10_color = #00cc00
  22. ma11_color = #ff0066
  23.  
  24. use_ema=input(false, "Use EMA (default: SMA)?", type=bool)
  25. draw_cross=input(false, "Draw Cross points?", type=bool)
  26.  
  27. ma1_p=input(25, title="MA1 Length", type=integer)
  28. ma2_p=input(30, title="MA2 Length", type=integer)
  29. ma3_p=input(35, title="MA3 Length", type=integer)
  30. ma4_p=input(40, title="MA4 Length", type=integer)
  31. ma5_p=input(45, title="MA5 Length", type=integer)
  32. ma6_p=input(50, title="MA6 Length", type=integer)
  33. ma7_p=input(55, title="MA7 Length", type=integer)
  34. ma8_p=input(60, title="MA8 Length", type=integer)
  35. ma9_p=input(65, title="MA9 Length", type=integer)
  36. ma10_p=input(70, title="MA10 Length", type=integer)
  37. ma11_p=input(75, title="MA11 Length", type=integer)
  38.  
  39. ma1_valid = ma1_p > 0
  40. ma2_valid = ma2_p > 0
  41. ma3_valid = ma3_p > 0
  42. ma4_valid = ma4_p > 0
  43. ma5_valid = ma5_p > 0
  44. ma6_valid = ma6_p > 0
  45. ma7_valid = ma7_p > 0
  46. ma8_valid = ma8_p > 0
  47. ma9_valid = ma9_p > 0
  48. ma10_valid = ma10_p > 0
  49. ma11_valid = ma11_p > 0
  50.  
  51.  
  52. ma(x,y) => use_ema ? ema(x,y) : sma(x,y)
  53.  
  54. ma1 = ma1_valid ? ma(src, ma1_p) : na
  55. ma2 = ma2_valid ? ma(src, ma2_p) : na
  56. ma3 = ma3_valid ? ma(src, ma3_p) : na
  57. ma4 = ma4_valid ? ma(src, ma4_p) : na
  58. ma5 = ma5_valid ? ma(src, ma5_p) : na
  59. ma6 = ma6_valid ? ma(src, ma6_p) : na
  60. ma7 = ma7_valid ? ma(src, ma7_p) : na
  61. ma8 = ma8_valid ? ma(src, ma8_p) : na
  62. ma9 = ma9_valid ? ma(src, ma9_p) : na
  63. ma10 = ma10_valid ? ma(src, ma10_p) : na
  64. ma11 = ma11_valid ? ma(src, ma11_p) : na
  65.  
  66. ma1_cross= ma1_valid ? cross(ma1, ma2) or cross(ma1, ma3) or cross(ma1, ma4) or cross(ma1, ma5) or cross(ma1, ma6) or cross(ma1, ma7) or cross(ma1, ma8) or cross(ma1, ma9) or cross(ma1, ma10) or cross(ma1, ma11) : na
  67. ma2_cross= ma2_valid ? cross(ma2, ma3) or cross(ma2, ma4) or cross(ma2, ma5) or cross(ma2, ma6) or cross(ma2, ma7) or cross(ma2, ma8) or cross(ma2, ma9) or cross(ma2, ma10) or cross(ma2, ma11): na
  68. ma3_cross= ma3_valid ? cross(ma3, ma4) or cross(ma3, ma5) or cross(ma3, ma6) or cross(ma3, ma7) or cross(ma3, ma8) or cross(ma3, ma9) or cross(ma3, ma10) or cross(ma3, ma11): na
  69. ma4_cross= ma4_valid ? cross(ma4, ma5) or cross(ma4, ma6) or cross(ma4, ma7) or cross(ma4, ma8) or cross(ma4, ma9) or cross(ma4, ma10) or cross(ma4, ma11): na
  70. ma5_cross= ma5_valid ? cross(ma5, ma6) or cross(ma5, ma7) or cross(ma5, ma8) or cross(ma5, ma9) or cross(ma5, ma10) or cross(ma5, ma11): na
  71. ma6_cross= ma6_valid ? cross(ma6, ma7) or cross(ma6, ma8) or cross(ma6, ma9) or cross(ma6, ma10) or cross(ma6, ma11): na
  72. ma7_cross= ma7_valid ? cross(ma7, ma8) or cross(ma7, ma9) or cross(ma7, ma10) or cross(ma7, ma11): na
  73. ma8_cross= ma8_valid ? cross(ma8, ma9) or cross(ma8, ma10) or cross(ma8, ma11): na
  74. ma9_cross= ma9_valid ? cross(ma9, ma10) or cross(ma9, ma11): na
  75. ma10_cross= ma10_valid ? cross(ma10, ma11): na
  76.  
  77.  
  78. // Plot the EMAs
  79. l_ma1=plot(ma1_valid ? ma1 : na, color = ma1_color, linewidth = 2)
  80. l_ma2=plot(ma2_valid ? ma2 : na, color = ma2_color, linewidth = 2)
  81. l_ma3=plot(ma3_valid ? ma3 : na, color = ma3_color, linewidth = 2)
  82. l_ma4=plot(ma4_valid ? ma4 : na, color = ma4_color, linewidth = 2)
  83. l_ma5=plot(ma5_valid ? ma5 : na, color = ma5_color, linewidth = 2)
  84. l_ma6=plot(ma6_valid ? ma6 : na, color = ma6_color, linewidth = 2)
  85. l_ma7=plot(ma7_valid ? ma7 : na, color = ma7_color, linewidth = 2)
  86. l_ma8=plot(ma8_valid ? ma8 : na, color = ma8_color, linewidth = 2)
  87. l_ma9=plot(ma9_valid ? ma9 : na, color = ma9_color, linewidth = 2)
  88. l_ma10=plot(ma10_valid ? ma10 : na, color = ma10_color, linewidth = 2)
  89. l_ma11=plot(ma11_valid ? ma11 : na, color = ma11_color, linewidth = 2)
  90. fill(l_ma1, l_ma2, ma1_color)
  91. fill(l_ma2, l_ma3, ma2_color)
  92. fill(l_ma3, l_ma4, ma3_color)
  93. fill(l_ma4, l_ma5, ma4_color)
  94. fill(l_ma5, l_ma6, ma5_color)
  95. fill(l_ma6, l_ma7, ma6_color)
  96. fill(l_ma7, l_ma8, ma7_color)
  97. fill(l_ma8, l_ma9, ma8_color)
  98. fill(l_ma9, l_ma10, ma9_color)
  99. fill(l_ma10, l_ma11, ma10_color)
  100.  
  101. // Plot any crossings
  102. plot(not na(ma1_cross) and draw_cross and ma1_cross ? ma1 : na, style = circles, linewidth = 4 , color = ma1_color)
  103. plot(not na(ma2_cross) and draw_cross and ma2_cross ? ma2 : na, style = circles, linewidth = 4 , color = ma2_color)
  104. plot(not na(ma3_cross) and draw_cross and ma3_cross ? ma3 : na, style = circles, linewidth = 4 , color = ma3_color)
  105. plot(not na(ma4_cross) and draw_cross and ma4_cross ? ma4 : na, style = circles, linewidth = 4 , color = ma4_color)
  106. plot(not na(ma5_cross) and draw_cross and ma5_cross ? ma5 : na, style = circles, linewidth = 4 , color = ma5_color)
  107. plot(not na(ma6_cross) and draw_cross and ma6_cross ? ma6 : na, style = circles, linewidth = 4 , color = ma6_color)
  108. plot(not na(ma7_cross) and draw_cross and ma7_cross ? ma7 : na, style = circles, linewidth = 4 , color = ma7_color)
  109. plot(not na(ma8_cross) and draw_cross and ma8_cross ? ma8 : na, style = circles, linewidth = 4 , color = ma8_color)
  110. plot(not na(ma9_cross) and draw_cross and ma9_cross ? ma9 : na, style = circles, linewidth = 4 , color = ma9_color)
  111. plot(not na(ma10_cross) and draw_cross and ma10_cross ? ma10 : na, style = circles, linewidth = 4 , color = ma10_color)
Advertisement
Comments
Add Comment
Please, Sign In to add comment
Advertisement