- Platform
-
- Thinkorswim
- TradingView
This is from TV. Can anyone convert this into ToS? thank you! @barbaros
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Violent
//@version=4
study("Moving Average Ribbon", shorttitle="MAR", overlay=true)
source = input(close, "Source")
ma = input(title="Type", options=["SMA", "EMA", "WMA"], defval="SMA")
Theme = input(title="Theme", options=["Theme 1", "Theme 2", "Theme 3"], defval="Theme 2")
length = input(defval=1, minval=1, title="Length", type=input.integer)
start = input(defval=5, minval=1, title="Start", type=input.integer)
maNumber = input(defval=32, minval=1, maxval=32, title="No. of MAs", type=input.integer)
colourFrom=input(defval=false, title="Colour option", type=input.bool)
colour1 = color.new(color.green, 25)
colour2 = color.new(color.red, 25)
colour3 = color.new(color.teal, 25)
colour4 = color.new(color.purple, 25)
colour5 = color.new(color.silver, 50)
colour6 = color.new(#353535, 25)
c1 = Theme == "Theme 1" ? colour1 : Theme == "Theme 2" ? colour3 : Theme == "Theme 3" ? colour5 : na
c2 = Theme == "Theme 1" ? colour2 : Theme == "Theme 2" ? colour4 : Theme == "Theme 3" ? colour6 : na
count = length * start
getMa(c)=>
l = count + (length * c)
if(ma == "SMA")
sma(source, l)
else
if(ma == "EMA")
ema(source, l)
else
if(ma == "WMA")
wma(source, l)
sma1 = maNumber >= 1 ? getMa(0 ) : na
sma2 = maNumber >= 2 ? getMa(1 ) : na
sma3 = maNumber >= 3 ? getMa(2 ) : na
sma4 = maNumber >= 4 ? getMa(3 ) : na
sma5 = maNumber >= 5 ? getMa(4 ) : na
sma6 = maNumber >= 6 ? getMa(5 ) : na
sma7 = maNumber >= 7 ? getMa(6 ) : na
sma8 = maNumber >= 8 ? getMa(7 ) : na
sma9 = maNumber >= 9 ? getMa(8 ) : na
sma10 = maNumber >= 10 ? getMa(9 ) : na
sma11 = maNumber >= 11 ? getMa(10) : na
sma12 = maNumber >= 12 ? getMa(11) : na
sma13 = maNumber >= 13 ? getMa(12) : na
sma14 = maNumber >= 14 ? getMa(13) : na
sma15 = maNumber >= 15 ? getMa(14) : na
sma16 = maNumber >= 16 ? getMa(15) : na
sma17 = maNumber >= 17 ? getMa(16) : na
sma18 = maNumber >= 18 ? getMa(17) : na
sma19 = maNumber >= 19 ? getMa(18) : na
sma20 = maNumber >= 20 ? getMa(19) : na
sma21 = maNumber >= 21 ? getMa(20) : na
sma22 = maNumber >= 22 ? getMa(21) : na
sma23 = maNumber >= 23 ? getMa(22) : na
sma24 = maNumber >= 24 ? getMa(23) : na
sma25 = maNumber >= 25 ? getMa(24) : na
sma26 = maNumber >= 26 ? getMa(25) : na
sma27 = maNumber >= 27 ? getMa(26) : na
sma28 = maNumber >= 28 ? getMa(27) : na
sma29 = maNumber >= 29 ? getMa(28) : na
sma30 = maNumber >= 30 ? getMa(29) : na
sma31 = maNumber >= 31 ? getMa(30) : na
sma32 = maNumber >= 32 ? getMa(31) : na
plot(sma32, color=(not colourFrom and sma32 <= source) or (colourFrom and sma32 <= sma31) ? c1 : c2, title="plot 32", linewidth=1, style=plot.style_line, transp=0)
plot(sma31, color=(not colourFrom and sma31 <= source) or (colourFrom and sma31 <= sma30) ? c1 : c2, title="plot 31", linewidth=1, style=plot.style_line, transp=0)
plot(sma30, color=(not colourFrom and sma30 <= source) or (colourFrom and sma30 <= sma29) ? c1 : c2, title="plot 30", linewidth=1, style=plot.style_line, transp=0)
plot(sma29, color=(not colourFrom and sma29 <= source) or (colourFrom and sma29 <= sma28) ? c1 : c2, title="plot 29", linewidth=1, style=plot.style_line, transp=0)
plot(sma28, color=(not colourFrom and sma28 <= source) or (colourFrom and sma28 <= sma27) ? c1 : c2, title="plot 28", linewidth=1, style=plot.style_line, transp=0)
plot(sma27, color=(not colourFrom and sma27 <= source) or (colourFrom and sma27 <= sma26) ? c1 : c2, title="plot 27", linewidth=1, style=plot.style_line, transp=0)
plot(sma26, color=(not colourFrom and sma26 <= source) or (colourFrom and sma26 <= sma25) ? c1 : c2, title="plot 26", linewidth=1, style=plot.style_line, transp=0)
plot(sma25, color=(not colourFrom and sma25 <= source) or (colourFrom and sma25 <= sma24) ? c1 : c2, title="plot 25", linewidth=1, style=plot.style_line, transp=0)
plot(sma24, color=(not colourFrom and sma24 <= source) or (colourFrom and sma24 <= sma23) ? c1 : c2, title="plot 24", linewidth=1, style=plot.style_line, transp=0)
plot(sma23, color=(not colourFrom and sma23 <= source) or (colourFrom and sma23 <= sma22) ? c1 : c2, title="plot 23", linewidth=1, style=plot.style_line, transp=0)
plot(sma22, color=(not colourFrom and sma22 <= source) or (colourFrom and sma22 <= sma21) ? c1 : c2, title="plot 22", linewidth=1, style=plot.style_line, transp=0)
plot(sma21, color=(not colourFrom and sma21 <= source) or (colourFrom and sma21 <= sma20) ? c1 : c2, title="plot 21", linewidth=1, style=plot.style_line, transp=0)
plot(sma20, color=(not colourFrom and sma20 <= source) or (colourFrom and sma20 <= sma19) ? c1 : c2, title="plot 20", linewidth=1, style=plot.style_line, transp=0)
plot(sma19, color=(not colourFrom and sma19 <= source) or (colourFrom and sma19 <= sma18) ? c1 : c2, title="plot 19", linewidth=1, style=plot.style_line, transp=0)
plot(sma18, color=(not colourFrom and sma18 <= source) or (colourFrom and sma18 <= sma17) ? c1 : c2, title="plot 18", linewidth=1, style=plot.style_line, transp=0)
plot(sma17, color=(not colourFrom and sma17 <= source) or (colourFrom and sma17 <= sma16) ? c1 : c2, title="plot 17", linewidth=1, style=plot.style_line, transp=0)
plot(sma16, color=(not colourFrom and sma16 <= source) or (colourFrom and sma16 <= sma15) ? c1 : c2, title="plot 16", linewidth=1, style=plot.style_line, transp=0)
plot(sma15, color=(not colourFrom and sma15 <= source) or (colourFrom and sma15 <= sma14) ? c1 : c2, title="plot 15", linewidth=1, style=plot.style_line, transp=0)
plot(sma14, color=(not colourFrom and sma14 <= source) or (colourFrom and sma14 <= sma13) ? c1 : c2, title="plot 14", linewidth=1, style=plot.style_line, transp=0)
plot(sma13, color=(not colourFrom and sma13 <= source) or (colourFrom and sma13 <= sma12) ? c1 : c2, title="plot 13", linewidth=1, style=plot.style_line, transp=0)
plot(sma12, color=(not colourFrom and sma12 <= source) or (colourFrom and sma12 <= sma11) ? c1 : c2, title="plot 12", linewidth=1, style=plot.style_line, transp=0)
plot(sma11, color=(not colourFrom and sma11 <= source) or (colourFrom and sma11 <= sma10) ? c1 : c2, title="plot 11", linewidth=1, style=plot.style_line, transp=0)
plot(sma10, color=(not colourFrom and sma10 <= source) or (colourFrom and sma10 <= sma9) ? c1 : c2, title="plot 10", linewidth=1, style=plot.style_line, transp=0)
plot(sma9 , color=(not colourFrom and sma9 <= source) or (colourFrom and sma9 <= sma8) ? c1 : c2, title="plot 9", linewidth=1, style=plot.style_line, transp=0)
plot(sma8 , color=(not colourFrom and sma8 <= source) or (colourFrom and sma8 <= sma7) ? c1 : c2, title="plot 8", linewidth=1, style=plot.style_line, transp=0)
plot(sma7 , color=(not colourFrom and sma7 <= source) or (colourFrom and sma7 <= sma6) ? c1 : c2, title="plot 7", linewidth=1, style=plot.style_line, transp=0)
plot(sma6 , color=(not colourFrom and sma6 <= source) or (colourFrom and sma6 <= sma5) ? c1 : c2, title="plot 6", linewidth=1, style=plot.style_line, transp=0)
plot(sma5 , color=(not colourFrom and sma5 <= source) or (colourFrom and sma5 <= sma4) ? c1 : c2, title="plot 5", linewidth=1, style=plot.style_line, transp=0)
plot(sma4 , color=(not colourFrom and sma4 <= source) or (colourFrom and sma4 <= sma3) ? c1 : c2, title="plot 4", linewidth=1, style=plot.style_line, transp=0)
plot(sma3 , color=(not colourFrom and sma3 <= source) or (colourFrom and sma3 <= sma2) ? c1 : c2, title="plot 3", linewidth=1, style=plot.style_line, transp=0)
plot(sma2 , color=(not colourFrom and sma2 <= source) or (colourFrom and sma2 <= sma1) ? c1 : c2, title="plot 2", linewidth=1, style=plot.style_line, transp=0)
plot(sma1 , color=(not colourFrom and sma1 <= source) or (colourFrom and sma1 <= source)? c1 : c2, title="plot 1", linewidth=1, style=plot.style_line, transp=0)
// -->
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Violent
//@version=4
study("Moving Average Ribbon", shorttitle="MAR", overlay=true)
source = input(close, "Source")
ma = input(title="Type", options=["SMA", "EMA", "WMA"], defval="SMA")
Theme = input(title="Theme", options=["Theme 1", "Theme 2", "Theme 3"], defval="Theme 2")
length = input(defval=1, minval=1, title="Length", type=input.integer)
start = input(defval=5, minval=1, title="Start", type=input.integer)
maNumber = input(defval=32, minval=1, maxval=32, title="No. of MAs", type=input.integer)
colourFrom=input(defval=false, title="Colour option", type=input.bool)
colour1 = color.new(color.green, 25)
colour2 = color.new(color.red, 25)
colour3 = color.new(color.teal, 25)
colour4 = color.new(color.purple, 25)
colour5 = color.new(color.silver, 50)
colour6 = color.new(#353535, 25)
c1 = Theme == "Theme 1" ? colour1 : Theme == "Theme 2" ? colour3 : Theme == "Theme 3" ? colour5 : na
c2 = Theme == "Theme 1" ? colour2 : Theme == "Theme 2" ? colour4 : Theme == "Theme 3" ? colour6 : na
count = length * start
getMa(c)=>
l = count + (length * c)
if(ma == "SMA")
sma(source, l)
else
if(ma == "EMA")
ema(source, l)
else
if(ma == "WMA")
wma(source, l)
sma1 = maNumber >= 1 ? getMa(0 ) : na
sma2 = maNumber >= 2 ? getMa(1 ) : na
sma3 = maNumber >= 3 ? getMa(2 ) : na
sma4 = maNumber >= 4 ? getMa(3 ) : na
sma5 = maNumber >= 5 ? getMa(4 ) : na
sma6 = maNumber >= 6 ? getMa(5 ) : na
sma7 = maNumber >= 7 ? getMa(6 ) : na
sma8 = maNumber >= 8 ? getMa(7 ) : na
sma9 = maNumber >= 9 ? getMa(8 ) : na
sma10 = maNumber >= 10 ? getMa(9 ) : na
sma11 = maNumber >= 11 ? getMa(10) : na
sma12 = maNumber >= 12 ? getMa(11) : na
sma13 = maNumber >= 13 ? getMa(12) : na
sma14 = maNumber >= 14 ? getMa(13) : na
sma15 = maNumber >= 15 ? getMa(14) : na
sma16 = maNumber >= 16 ? getMa(15) : na
sma17 = maNumber >= 17 ? getMa(16) : na
sma18 = maNumber >= 18 ? getMa(17) : na
sma19 = maNumber >= 19 ? getMa(18) : na
sma20 = maNumber >= 20 ? getMa(19) : na
sma21 = maNumber >= 21 ? getMa(20) : na
sma22 = maNumber >= 22 ? getMa(21) : na
sma23 = maNumber >= 23 ? getMa(22) : na
sma24 = maNumber >= 24 ? getMa(23) : na
sma25 = maNumber >= 25 ? getMa(24) : na
sma26 = maNumber >= 26 ? getMa(25) : na
sma27 = maNumber >= 27 ? getMa(26) : na
sma28 = maNumber >= 28 ? getMa(27) : na
sma29 = maNumber >= 29 ? getMa(28) : na
sma30 = maNumber >= 30 ? getMa(29) : na
sma31 = maNumber >= 31 ? getMa(30) : na
sma32 = maNumber >= 32 ? getMa(31) : na
plot(sma32, color=(not colourFrom and sma32 <= source) or (colourFrom and sma32 <= sma31) ? c1 : c2, title="plot 32", linewidth=1, style=plot.style_line, transp=0)
plot(sma31, color=(not colourFrom and sma31 <= source) or (colourFrom and sma31 <= sma30) ? c1 : c2, title="plot 31", linewidth=1, style=plot.style_line, transp=0)
plot(sma30, color=(not colourFrom and sma30 <= source) or (colourFrom and sma30 <= sma29) ? c1 : c2, title="plot 30", linewidth=1, style=plot.style_line, transp=0)
plot(sma29, color=(not colourFrom and sma29 <= source) or (colourFrom and sma29 <= sma28) ? c1 : c2, title="plot 29", linewidth=1, style=plot.style_line, transp=0)
plot(sma28, color=(not colourFrom and sma28 <= source) or (colourFrom and sma28 <= sma27) ? c1 : c2, title="plot 28", linewidth=1, style=plot.style_line, transp=0)
plot(sma27, color=(not colourFrom and sma27 <= source) or (colourFrom and sma27 <= sma26) ? c1 : c2, title="plot 27", linewidth=1, style=plot.style_line, transp=0)
plot(sma26, color=(not colourFrom and sma26 <= source) or (colourFrom and sma26 <= sma25) ? c1 : c2, title="plot 26", linewidth=1, style=plot.style_line, transp=0)
plot(sma25, color=(not colourFrom and sma25 <= source) or (colourFrom and sma25 <= sma24) ? c1 : c2, title="plot 25", linewidth=1, style=plot.style_line, transp=0)
plot(sma24, color=(not colourFrom and sma24 <= source) or (colourFrom and sma24 <= sma23) ? c1 : c2, title="plot 24", linewidth=1, style=plot.style_line, transp=0)
plot(sma23, color=(not colourFrom and sma23 <= source) or (colourFrom and sma23 <= sma22) ? c1 : c2, title="plot 23", linewidth=1, style=plot.style_line, transp=0)
plot(sma22, color=(not colourFrom and sma22 <= source) or (colourFrom and sma22 <= sma21) ? c1 : c2, title="plot 22", linewidth=1, style=plot.style_line, transp=0)
plot(sma21, color=(not colourFrom and sma21 <= source) or (colourFrom and sma21 <= sma20) ? c1 : c2, title="plot 21", linewidth=1, style=plot.style_line, transp=0)
plot(sma20, color=(not colourFrom and sma20 <= source) or (colourFrom and sma20 <= sma19) ? c1 : c2, title="plot 20", linewidth=1, style=plot.style_line, transp=0)
plot(sma19, color=(not colourFrom and sma19 <= source) or (colourFrom and sma19 <= sma18) ? c1 : c2, title="plot 19", linewidth=1, style=plot.style_line, transp=0)
plot(sma18, color=(not colourFrom and sma18 <= source) or (colourFrom and sma18 <= sma17) ? c1 : c2, title="plot 18", linewidth=1, style=plot.style_line, transp=0)
plot(sma17, color=(not colourFrom and sma17 <= source) or (colourFrom and sma17 <= sma16) ? c1 : c2, title="plot 17", linewidth=1, style=plot.style_line, transp=0)
plot(sma16, color=(not colourFrom and sma16 <= source) or (colourFrom and sma16 <= sma15) ? c1 : c2, title="plot 16", linewidth=1, style=plot.style_line, transp=0)
plot(sma15, color=(not colourFrom and sma15 <= source) or (colourFrom and sma15 <= sma14) ? c1 : c2, title="plot 15", linewidth=1, style=plot.style_line, transp=0)
plot(sma14, color=(not colourFrom and sma14 <= source) or (colourFrom and sma14 <= sma13) ? c1 : c2, title="plot 14", linewidth=1, style=plot.style_line, transp=0)
plot(sma13, color=(not colourFrom and sma13 <= source) or (colourFrom and sma13 <= sma12) ? c1 : c2, title="plot 13", linewidth=1, style=plot.style_line, transp=0)
plot(sma12, color=(not colourFrom and sma12 <= source) or (colourFrom and sma12 <= sma11) ? c1 : c2, title="plot 12", linewidth=1, style=plot.style_line, transp=0)
plot(sma11, color=(not colourFrom and sma11 <= source) or (colourFrom and sma11 <= sma10) ? c1 : c2, title="plot 11", linewidth=1, style=plot.style_line, transp=0)
plot(sma10, color=(not colourFrom and sma10 <= source) or (colourFrom and sma10 <= sma9) ? c1 : c2, title="plot 10", linewidth=1, style=plot.style_line, transp=0)
plot(sma9 , color=(not colourFrom and sma9 <= source) or (colourFrom and sma9 <= sma8) ? c1 : c2, title="plot 9", linewidth=1, style=plot.style_line, transp=0)
plot(sma8 , color=(not colourFrom and sma8 <= source) or (colourFrom and sma8 <= sma7) ? c1 : c2, title="plot 8", linewidth=1, style=plot.style_line, transp=0)
plot(sma7 , color=(not colourFrom and sma7 <= source) or (colourFrom and sma7 <= sma6) ? c1 : c2, title="plot 7", linewidth=1, style=plot.style_line, transp=0)
plot(sma6 , color=(not colourFrom and sma6 <= source) or (colourFrom and sma6 <= sma5) ? c1 : c2, title="plot 6", linewidth=1, style=plot.style_line, transp=0)
plot(sma5 , color=(not colourFrom and sma5 <= source) or (colourFrom and sma5 <= sma4) ? c1 : c2, title="plot 5", linewidth=1, style=plot.style_line, transp=0)
plot(sma4 , color=(not colourFrom and sma4 <= source) or (colourFrom and sma4 <= sma3) ? c1 : c2, title="plot 4", linewidth=1, style=plot.style_line, transp=0)
plot(sma3 , color=(not colourFrom and sma3 <= source) or (colourFrom and sma3 <= sma2) ? c1 : c2, title="plot 3", linewidth=1, style=plot.style_line, transp=0)
plot(sma2 , color=(not colourFrom and sma2 <= source) or (colourFrom and sma2 <= sma1) ? c1 : c2, title="plot 2", linewidth=1, style=plot.style_line, transp=0)
plot(sma1 , color=(not colourFrom and sma1 <= source) or (colourFrom and sma1 <= source)? c1 : c2, title="plot 1", linewidth=1, style=plot.style_line, transp=0)
// -->