OPEN-SOURCE SCRIPT

Mean reversion threshold levels

//version=5
indicator("Mean reversion threshold levels", overlay=true)

txt = input.string("", title="Input SPX reversion levels:", confirm=true)

color0 = input.color(defval=color.rgb(224, 10, 110))
color1 = input.color(defval=color.rgb(224, 10, 110))
color2 = input.color(defval=color.rgb(224, 10, 110))
color3 = input.color(defval=color.rgb(224, 10, 110))
color4 = input.color(defval=color.rgb(224, 10, 110))
color5 = input.color(defval=color.rgb(224, 10, 110))
color6 = input.color(defval=color.rgb(224, 10, 110))
color7 = input.color(defval=color.rgb(224, 10, 110))
color8 = input.color(defval=color.rgb(224, 10, 110))
color9 = input.color(defval=color.rgb(224, 10, 110))
color10 = input.color(defval=color.rgb(224, 10, 110))

TxtToArray(string origin, string divider) =>
Arr = array.new_string()
Arr := str.split(origin, divider)
Arr

Dividedstrings = TxtToArray(txt, ",")
color temporarycolor = na

plot(array.size(Dividedstrings) >= 2 ? str.tonumber(array.get(Dividedstrings, 1)) : na, title="first line", color=color0, display=display.price_scale)
plot(array.size(Dividedstrings) >= 4 ? str.tonumber(array.get(Dividedstrings, 3)) : na, title="second line", color=color1, display=display.price_scale)
plot(array.size(Dividedstrings) >= 6 ? str.tonumber(array.get(Dividedstrings, 5)) : na, title="third line", color=color2, display=display.price_scale)
plot(array.size(Dividedstrings) >= 8 ? str.tonumber(array.get(Dividedstrings, 7)) : na, title="fourth line", color=color3, display=display.price_scale)
plot(array.size(Dividedstrings) >= 10 ? str.tonumber(array.get(Dividedstrings, 9)) : na, title="fifth line", color=color4, display=display.price_scale)
plot(array.size(Dividedstrings) >= 12 ? str.tonumber(array.get(Dividedstrings, 11)) : na, title="sixth line", color=color5, display=display.price_scale)
plot(array.size(Dividedstrings) >= 14 ? str.tonumber(array.get(Dividedstrings, 13)) : na, title="seventh line", color=color6, display=display.price_scale)
plot(array.size(Dividedstrings) >= 16 ? str.tonumber(array.get(Dividedstrings, 15)) : na, title="eighth line", color=color7, display=display.price_scale)
plot(array.size(Dividedstrings) >= 18 ? str.tonumber(array.get(Dividedstrings, 17)) : na, title="ninth line", color=color8, display=display.price_scale)
plot(array.size(Dividedstrings) >= 20 ? str.tonumber(array.get(Dividedstrings, 19)) : na, title="tenth line", color=color9, display=display.price_scale)

nb_bars = ta.barssince(time == chart.right_visible_bar_time)

if barstate.islastconfirmedhistory and array.size(Dividedstrings) != 0
for i = 0 to array.size(Dividedstrings) - 1
if i % 2 == 0

if i == 0 or i == 1
temporarycolor := color0
if i == 2 or i == 3
temporarycolor := color1
if i == 4 or i == 5
temporarycolor := color2
if i == 6 or i == 7
temporarycolor := color3
if i == 8 or i == 9
temporarycolor := color4
if i == 10 or i == 11
temporarycolor := color5
if i == 12 or i == 13
temporarycolor := color6
if i == 14 or i == 15
temporarycolor := color7
if i == 16 or i == 17
temporarycolor := color8
if i == 18 or i == 19
temporarycolor := color9

if i % 2 == 0
if array.size(Dividedstrings) > i + 1
label.new(bar_index, str.tonumber(array.get(Dividedstrings, i + 1)), array.get(Dividedstrings, i), xloc=xloc.bar_index, color=color.new(color.white, 10), size=size.large, style=label.style_none, textcolor=temporarycolor, textalign=text.align_right)
if i % 2 != 0
if array.size(Dividedstrings) > i
line.new(bar_index, str.tonumber(array.get(Dividedstrings, i)), bar_index + 1, str.tonumber(array.get(Dividedstrings, i)), extend=extend.both, color=temporarycolor)
//Alma

Feragatname