SPY SPX ES Price Converter For ThinkOrSwim

bulliebreed

New member
VIP
Author states:
A must have tool for SPY SPX ES traders~!!!

Description
The SPY SPX ES Price Converter is a powerful and easy-to-use tool that allows traders to view corresponding price levels for linked instruments in real-time. This includes SPY, SPX, ES, and SPX500USD. Although these instruments often move in sync, differences in price movements, volume, and trading hours can create unique key levels and support/resistance areas for each. By mapping these levels on the same chart, traders can more easily spot trading opportunities and improve their chances of success.

ZLKD2qj.png


can any one convert this to think or swim its a conversion tool for spx spy and es levels
https://www.tradingview.com/script/rWSx5jIz-SPY-SPX-ES-Price-Converter-Pt/
 
Last edited by a moderator:

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

can any one convert this to think or swim its a conversion tool for spx spy and es levels
https://www.tradingview.com/script/rWSx5jIz-SPY-SPX-ES-Price-Converter-Pt/

//@version=5
indicator("SPY SPX ES Price Converter [Pt]", shorttitle = 'SPY SPX ES Price[Pt]', overlay = true, max_labels_count = 500, max_lines_count = 500)

group_table = 'Price Table'

// inputs
update_freq = input.string("Every tick", 'Conversion Frequency', ['Every tick', 'Per Candle Close'])

spy = input.bool(true, 'SPY', inline = 'spy')
multi1 = input.float(1, '| Multiplier',minval = 0.1, step = 0.5, inline = 'spy')
col1 = input.color(color.fuchsia, '', inline = 'spy')
spybase = input.int(1, 'Base', minval = 1, inline = 'spy' )
offset1 = input.int(50, '    └ Offset', step = 10, inline = 'spy2')
line_style1 = input.string('Dashed', '| Line style', options = ['Solid', 'Dashed', 'Dotted'], inline = 'spy2')

spx = input.bool(false, 'SPX', inline = 'spx')
multi2 = input.float(10, '| Multiplier', minval = 0.1, step = 5, inline = 'spx')
col2 = input.color(color.yellow, '', inline = 'spx')
offset2 = input.int(100, '    └ Offset', step = 10, inline = 'spx2')
line_style2 = input.string('Dashed', '| Line style', options = ['Solid', 'Dashed', 'Dotted'], inline = 'spx2')

es = input.bool(false, 'ES', inline = 'es')
multi3 = input.float(10, '| Multiplier', minval = 0.25, step = 5, inline = 'es')
col3 = input.color(color.orange, '', inline = 'es')
offset3 = input.int(150, '    └ Offset', step = 10, inline = 'es2')
line_style3 = input.string('Dashed', '| Line style', options = ['Solid', 'Dashed', 'Dotted'], inline = 'es2')

spxusd = input.bool(false, '', inline = 'spxusd')
ticker_input = input.symbol('SPX500USD', '', inline = 'spxusd')
multi4 = input.float(10, '| Multiplier', minval = 0.1, step = 5, inline = 'spxusd')
col4 = input.color(color.aqua, '', inline = 'spxusd')
offset4 = input.int(200, '    └ Offset', step = 10, inline = 'spxusd2')
line_style4 = input.string('Dashed', '| Line style', options = ['Solid', 'Dashed', 'Dotted'], inline = 'spxusd2')

levels = input.int(10, '# of levels +/-') * 2 + 1

in_text_size = input.string('Normal', 'Text size', options = ['Auto', 'Large', 'Normal', 'Small', 'Tiny'])

text_size = switch in_text_size
'Auto' => size.auto
'Large' => size.large
'Normal' => size.normal
'Small' => size.small
'Tiny' => size.tiny

show_last = input.bool(true, 'Show last closing price', inline = 'showlast')

show_table = input.bool(true,"Show Prices", group= group_table, inline="Table")
tableLocation = input.string(defval='Top right', options=['Top left', 'Top center', 'Top right', 'Bottom left', 'Bottom center', 'Bottom right'], title='| Location', group= group_table, inline="Table")
tablePosition = tableLocation == 'Top left' ? position.top_left : tableLocation == 'Top center' ? position.top_center : tableLocation == 'Top right' ? position.top_right : tableLocation == 'Bottom left' ? position.bottom_left : tableLocation == 'Bottom center' ? position.bottom_center : position.bottom_right
table_font_size = input.string('Normal', "    └ Font Size", options = ['Auto', 'Tiny', 'Small', 'Normal', 'Large'], group= group_table, inline = 'font')
show_chg = input.bool(true, 'Show Price Change', group = group_table)

// linestyles
f_lineStyle(_styleStr) =>
_out = switch _styleStr
'Solid' => line.style_solid
'Dashed' => line.style_dashed
'Dotted' => line.style_dotted

line_style1 := f_lineStyle(line_style1)
line_style2 := f_lineStyle(line_style2)
line_style3 := f_lineStyle(line_style3)
line_style4 := f_lineStyle(line_style4)

// Variables and data
t1 = time(timeframe.period, "0930-1600:23456", "America/New_York")

ticker = syminfo.ticker

day = dayofweek

SPY_price = request.security('SPY', timeframe.period, math.round_to_mintick(close))
SPX_price = request.security('SPX', timeframe.period, math.round_to_mintick(close))
[ES_price, ES_last_close] = request.security('ES1!', timeframe.period, [math.round_to_mintick(close), ta.valuewhen(t1[1] and not t1,open,0)])
ticker_price = request.security(ticker_input, timeframe.period, math.round_to_mintick(close))
ticker_last_close = request.security(ticker_input, '1D', math.round_to_mintick(close[1]))

var spy_levels = array.new_line()
var spx_levels = array.new_line()
var es_levels = array.new_line()
var spxusd_levels = array.new_line()
var spy_lbls = array.new_label()
var spx_lbls = array.new_label()
var es_lbls = array.new_label()
var spxusd_lbls = array.new_label()

// closest base price
SPYp0 = math.floor(SPY_price/spybase)*spybase
SPXp0 = math.floor(SPX_price/10)*10
ESp0 = math.floor(ES_price/10)*10
SPXUSDp0 = math.floor(ticker_price)

// closing price during regular hours
close_price = close
regular_close = ta.valuewhen(t1, close, 0)

// Price change / change %
ES_chg = ES_price - ES_last_close
ES_chg_pct = ES_chg / ES_last_close * 100

ticker_chg = ticker_price - ticker_last_close
ticker_chg_pct = ticker_chg / ticker_last_close * 100

// Functions
f_setLevels(_alt, _lineArray, _lblArray, _basePrice, _altPrice, _multiplier, _offset, _color, _linestyle) =>
_price = close_price
if _alt == 'SPY' or _alt == 'SPX'
_price := regular_close
base = _basePrice * (_price / _altPrice)
array.push(_lineArray, line.new(bar_index, base, bar_index + 1, base, xloc.bar_index, extend.both, _color, _linestyle, 1))
array.push(_lblArray, label.new(bar_index+_offset, base, _alt + ' ' + str.tostring(_basePrice), xloc = xloc.bar_index, color = color.new(chart.bg_color,50), style = label.style_label_left, textcolor = _color, size = text_size, textalign = text.align_left))

for x = 1 to (levels-1)/2
price = (_basePrice + x*_multiplier) * (_price / _altPrice)
alt_price = (_basePrice + x*_multiplier)
array.push(_lineArray, line.new(bar_index, price, bar_index + 1, price, xloc.bar_index, extend.both, _color, _linestyle, 1))
array.push(_lblArray, label.new(bar_index+_offset, price, _alt + ' ' + str.tostring(alt_price), xloc = xloc.bar_index, color = color.new(chart.bg_color,50), style = label.style_label_left, textcolor = _color, size = text_size, textalign = text.align_left))
for x = (levels-1)/2 + 1 to levels - 1
y = (levels-1)/2 - x
price = (_basePrice + y*_multiplier) * (_price / _altPrice)
alt_price = (_basePrice + y*_multiplier)
array.push(_lineArray, line.new(bar_index, price, bar_index + 1, price, xloc.bar_index, extend.both, _color, _linestyle, 1))
array.push(_lblArray, label.new(bar_index+_offset, price, _alt + ' ' + str.tostring(alt_price), xloc = xloc.bar_index, color = color.new(chart.bg_color,50), style = label.style_label_left, textcolor = _color, size = text_size, textalign = text.align_left))


f_drawLabelX(_x, _y, _text, _xloc, _yloc, _color, _style, _textcolor, _size, _textalign, _tooltip) =>
var id = label.new(_x, _y, _text, _xloc, _yloc, _color, _style, _textcolor, _size, _textalign, _tooltip)
label.set_xy(id, _x, _y)
label.set_text(id, _text)
label.set_tooltip(id, _tooltip)
label.set_textcolor(id, _textcolor)
id

f_clearLines(_array) =>
if array.size(_array) > 0
for i = 0 to array.size(_array) - 1
line.delete(array.shift(_array))

f_clearLabels(_array) =>
if array.size(_array) > 0
for i = 0 to array.size(_array) - 1
label.delete(array.shift(_array))

// Last price display texts
text_spy = spy or ticker == 'SPY' ? 'SPY ' + str.tostring(SPY_price) + '\n' : ''
text_spx = spx or ticker == 'SPX' ? 'SPX ' + str.tostring(SPX_price) + '\n' : ''
text_es = es or ticker == 'ES1!' ? 'ES1! ' + str.tostring(ES_price) + '\n' : ''
text_spxusd = spxusd or ticker == ticker_input ? array.get(str.split(ticker_input, ':'), 1) + ' ' + str.tostring(ticker_price) + '\n' : ''

price_text = ''

if ticker == 'SPY'
price_text := text_spy + text_spx + text_es + text_spxusd
else if ticker == 'SPX'
price_text := text_spx + text_spy + text_es + text_spxusd
else if ticker == 'ES1!' or ticker == 'MES1!'
price_text := text_es + text_spy + text_spx + text_spxusd
else if ticker == ticker_input
price_text := text_spxusd + text_spy + text_spy + text_es

// Main
if update_freq == "Per Candle Close" ? barstate.isconfirmed : barstate.islast

if spy
f_clearLines(spy_levels)
f_clearLabels(spy_lbls)
if spx
f_clearLines(spx_levels)
f_clearLabels(spx_lbls)
if es
f_clearLines(es_levels)
f_clearLabels(es_lbls)
if spxusd
f_clearLines(spxusd_levels)
f_clearLabels(spxusd_lbls)

if show_last
f_drawLabelX(bar_index, close, price_text, xloc.bar_index, yloc.price, color.new(chart.bg_color,70), label.style_label_left, chart.fg_color, size.normal, text.align_left, '' )

if spy
f_setLevels('SPY', spy_levels, spy_lbls, SPYp0, SPY_price, multi1, offset1, col1, line_style1)
if spx
f_setLevels('SPX', spx_levels, spx_lbls, SPXp0, SPX_price, multi2, offset2, col2, line_style2)
if es
f_setLevels('ES1!', es_levels, es_lbls, ESp0, ES_price, multi3, offset3, col3 ,line_style3)
if spxusd
f_setLevels(array.get(str.split(ticker_input, ':'), 1), spxusd_levels, spxusd_lbls, SPXUSDp0, ticker_price, multi4, offset4, col4, line_style4)

// Table --------------------------------------------------------------------------------------------------------------

var displayTable = table.new(tablePosition, 4, 4, border_width=1)

f_fillCell(_row, _column,series string _cellText) =>
switch table_font_size
"Auto" => table.cell(displayTable, _column, _row, _cellText, bgcolor=color.new(chart.bg_color,50), text_color=color.white, text_halign = text.align_left, text_valign = text.align_center, text_size = size.auto)
"Tiny" => table.cell(displayTable, _column, _row, _cellText, bgcolor=color.new(chart.bg_color,50), text_color=color.white, text_halign = text.align_left, text_valign = text.align_center, text_size = size.tiny)
"Small" => table.cell(displayTable, _column, _row, _cellText, bgcolor=color.new(chart.bg_color,50), text_color=color.white, text_halign = text.align_left, text_valign = text.align_center, text_size = size.small)
"Normal" => table.cell(displayTable, _column, _row, _cellText, bgcolor=color.new(chart.bg_color,50), text_color=color.white, text_halign = text.align_left, text_valign = text.align_center, text_size = size.normal)
"Large" => table.cell(displayTable, _column, _row, _cellText, bgcolor=color.new(chart.bg_color,50), text_color=color.white, text_halign = text.align_left, text_valign = text.align_center, text_size = size.large)

if barstate.islast and show_table
f_fillCell(0, 0, 'SPY')
f_fillCell(1, 0, 'SPX')
f_fillCell(2, 0, 'ES1!')
f_fillCell(3, 0, array.get(str.split(ticker_input, ':'), 1))

f_fillCell(0, 1, str.tostring(SPY_price))
f_fillCell(1, 1, str.tostring(SPX_price))
f_fillCell(2, 1, str.tostring(ES_price))
f_fillCell(3, 1, str.tostring(ticker_price))

if show_chg
f_fillCell(0, 2, math.sign(ES_chg) >= 0 ? "+" + str.tostring(ES_chg_pct,'#.##') + "%" : str.tostring(ES_chg_pct,'#.##') + "%")
table.cell_set_text_color(displayTable, 2, 0, math.sign(ES_chg) >= 0 ? color.green : color.red )
table.merge_cells(displayTable,2, 0, 2, 2)

f_fillCell(3, 2, math.sign(ticker_chg) >= 0 ? "+" + str.tostring(ticker_chg_pct,'#.##') + "%" : str.tostring(ticker_chg_pct,'#.##') + "%")
table.cell_set_text_color(displayTable, 2, 3, math.sign(ticker_chg) >= 0 ? color.green : color.red )
check the below. May need further testing.

CSS:
#// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
#// © PtGambler
#indicator("SPY SPX ES Price Converter [Pt]", shorttitle = 'SPY SPX ES Price[Pt]'
# Converted by Sam4Cok@Samer800    - 05/2024

input extendLinesToRight = {"Full Length",Default "Custom Length"};
input customRightLength = 20;
input extendLinesToLeft = {"Full Length",Default "Custom Length"};
input customLeftLength = 200;
input labelOptions = {"Show Prices Only", "Show Price Change Only", Default "Show Price & Change", "Don't Show Labels"};
input noOfLevels  = 10;       # '# of levels +/-')
input showSpyLines = yes;     # 'SPY'
input spyMultiplier  = 1.0;   # '| Multiplier'
input spyBase = 1;            # 'Base'
input showSpxLines = no;      # 'SPX'
input spxMultiplier  = 10.0;  # '| Multiplier'
input spxBase = 10;           # 'Base'
input showEsLines = no;       # 'ES'
input esMultiplier  = 10.0;   # '| Multiplier'
input esBase = 10;            # 'Base'
input showInputTickerLines  = no;
input inputTicker = "SPX";
input inputTickerMultiplier  = 10.0;     # Multiplier'
input inputTickerBase = 1;               # 'Base'

def na = Double.NaN;
def last = IsNaN(close);
def levels = Min(noOfLevels, Max(noOfLevels, 0));
def multi1 = spyMultiplier;
def multi2 = spxMultiplier;
def multi3 = esMultiplier;
def multi4 = inputTickerMultiplier;
def prc; def chg;def lab;
Switch (labelOptions) {
Case "Show Prices Only" :
    lab = yes;
    prc = yes;
    chg = no;
Case "Show Price Change Only" :
    lab = yes;
    prc = no;
    chg = yes;
Case "Don't Show Labels" :
    lab = no;
    prc = no;
    chg = no;
Default :
    lab = yes;
    prc = yes;
    chg = yes;
}
def right = if extendLinesToRight==extendLinesToRight."Custom Length" then no else yes;;
def left = if extendLinesToLeft==extendLinesToLeft."Custom Length" then no else yes;
def lbr = customRightLength;
def lbl = customLeftLength;
def time = GetTime();
def t1 = time >= RegularTradingStart(GetYYYYMMDD()) and time <= RegularTradingEnd(GetYYYYMMDD());
Script fixNaN {
    input src = close;
    def fixNaN = if !isNaN(src) then src else fixNaN[1];
    plot out = fixNaN;
}
def spyClose = fixNaN(close(Symbol = "SPY"));
def spyDay   = fixNaN(close(Symbol = "SPY", Period = "DAY")[1]);
def spxClose = fixNaN(close(Symbol = "SPX"));
def spxDay   = fixNaN(close(Symbol = "SPX", Period = "DAY")[1]);
def esClose  = fixNaN(close(Symbol = "/ES"));
def esDay    = fixNaN(close(Symbol = "/ES", Period = "DAY")[1]);
def tickClose = fixNaN(close(Symbol = inputTicker));
def tickDay   = fixNaN(close(Symbol = inputTicker, Period = "DAY")[1]);
def SPY_price = Round(spyClose, 2);
def SPY_DAY   = Round(spyDay, 2);
def SPX_price = Round(spxClose, 2);
def SPX_DAY   = Round(spxDay, 2);
def ES_price  = Round(esClose, 2);
def ES_DAY    = Round(esDay, 2);
def tick_price = Round(tickClose, 2);
def tick_DAY = Round(tickDay, 2);
#// closest base price
def SPYp0 = Floor(SPY_price / spybase) * spybase;
def SPXp0 = Floor(SPX_price / spxBase) * spxBase;
def ESp0  = Floor(ES_price / esBase) * esBase;
def cust  = Floor(tick_price / inputTickerBase) * inputTickerBase;
#// Price change / change %
def SPY_chg = SPY_price - SPY_DAY;
def SPY_pct = Round(SPY_chg / SPY_DAY * 100, 2);
def SPX_chg = SPX_price - SPX_DAY;
def SPX_pct = Round(SPX_chg / SPX_DAY * 100, 2);
def ES_chg = ES_price - ES_DAY;
def ES_pct = Round(ES_chg / ES_DAY * 100, 2);
def tick_chg = tick_price - tick_DAY;
def tick_pct = Round(tick_chg / tick_DAY * 100, 2);
#-- Labels
AddLabel(lab, "SPY(" + if prc then "$" + SPY_price + if chg then "/" + SPY_pct + "%)" else ")" else SPY_pct + "%)",
              if sign(SPY_chg) >= 0 then Color.GREEN else Color.RED);
AddLabel(lab, "SPX(" + if prc then "$" + SPX_price + if chg then "/" + SPX_pct + "%)" else ")" else SPX_pct + "%)",
              if sign(SPX_chg) >= 0 then Color.GREEN else Color.RED);
AddLabel(lab, "/ES(" + if prc then "$" + ES_price + if chg then "/" + ES_pct + "%)" else ")" else ES_pct + "%)",
              if sign(ES_chg) >= 0 then Color.GREEN else Color.RED);
AddLabel(lab, inputTicker + "(" + if prc then "$" + tick_price + if chg then "/" + tick_pct + "%)" else ")" else tick_pct + "%)",
              if sign(tick_chg) >= 0 then Color.GREEN else Color.RED);
#// Functions
Script f_setLevels {
    input _alt = "SPY";
    input timeCond = yes;
    input _basePrice = close;
    input _altPrice = close;
    input _multiplier = 1;
    input counter = 1;
    input level = 10;
    input lbr = 5;
    input lbl = 200;
    input right = no;
    input left = no;
    input display = yes;
    def na = Double.NaN;
    def last = isNaN(close);
    def regular_close = if timeCond then close else regular_close[1];
    def _price = if _alt == "SPY" or _alt == "SPX" then regular_close else close;
    def lvlLine = (_basePrice + counter *_multiplier) * (_price / _altPrice);
    def ibtLvl = if !display then na else if level >= AbsValue(counter) then highestAll(InertiaAll(lvlLine, 2)) else na;
    def hiLvL = if !display then na else if (if right then no else last[lbr]) then na else
                InertiaAll(ibtLvl, lbl, extendToLeft = left, extendToRight = yes);
    plot lvl = hiLvL ;
}
#-- SPY
plot Bspy0 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 0, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy1 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 1, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy2 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 2, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy3 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 3, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy4 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 4, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy5 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 5, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy6 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 6, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy7 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 7, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy8 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 8, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy9 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 9, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy10 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 10, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy1 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -1, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy2 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -2, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy3 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -3, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy4 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -4, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy5 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -5, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy6 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -6, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy7 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -7, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy8 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -8, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy9 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -9, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy10 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -10, levels, lbr, lbl, right, left, showSpyLines);
#-- SPX
plot Bspx0 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 0, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx1 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 1, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx2 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 2, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx3 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 3, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx4 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 4, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx5 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 5, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx6 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 6, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx7 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 7, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx8 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 8, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx9 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 9, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx10 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 10, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx1 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -1, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx2 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -2, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx3 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -3, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx4 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -4, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx5 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -5, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx6 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -6, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx7 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -7, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx8 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -8, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx9 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -9, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx10 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -10, levels, lbr, lbl, right, left, showSpxLines);
#-- ES
plot Bes0 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 0, levels, lbr, lbl, right, left, showEsLines);
plot Pes1 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 1, levels, lbr, lbl, right, left, showEsLines);
plot Pes2 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 2, levels, lbr, lbl, right, left, showEsLines);
plot Pes3 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 3, levels, lbr, lbl, right, left, showEsLines);
plot Pes4 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 4, levels, lbr, lbl, right, left, showEsLines);
plot Pes5 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 5, levels, lbr, lbl, right, left, showEsLines);
plot Pes6 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 6, levels, lbr, lbl, right, left, showEsLines);
plot Pes7 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 7, levels, lbr, lbl, right, left, showEsLines);
plot Pes8 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 8, levels, lbr, lbl, right, left, showEsLines);
plot Pes9 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 9, levels, lbr, lbl, right, left, showEsLines);
plot Pes10 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 10, levels, lbr, lbl, right, left, showEsLines);
plot Nes1 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -1, levels, lbr, lbl, right, left, showEsLines);
plot Nes2 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -2, levels, lbr, lbl, right, left, showEsLines);
plot Nes3 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -3, levels, lbr, lbl, right, left, showEsLines);
plot Nes4 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -4, levels, lbr, lbl, right, left, showEsLines);
plot Nes5 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -5, levels, lbr, lbl, right, left, showEsLines);
plot Nes6 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -6, levels, lbr, lbl, right, left, showEsLines);
plot Nes7 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -7, levels, lbr, lbl, right, left, showEsLines);
plot Nes8 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -8, levels, lbr, lbl, right, left, showEsLines);
plot Nes9 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -9, levels, lbr, lbl, right, left, showEsLines);
plot Nes10 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -10, levels, lbr, lbl, right, left, showEsLines);
#-- Ticker
plot Btic0 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 0, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic1 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 1, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic2 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 2, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic3 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 3, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic4 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 4, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic5 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 5, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic6 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 6, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic7 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 7, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic8 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 8, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic9 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 9, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic10 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 10, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic1 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -1, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic2 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -2, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic3 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -3, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic4 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -4, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic5 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -5, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic6 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -6, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic7 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -7, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic8 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -8, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic9 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -9, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic10 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -10, levels, lbr, lbl, right, left, showInputTickerLines);

#-- STYLE
#-SPY
Bspy0.SetStyle(Curve.MEDIUM_DASH);
Pspy1.SetStyle(Curve.SHORT_DASH);
Pspy2.SetStyle(Curve.SHORT_DASH);
Pspy3.SetStyle(Curve.SHORT_DASH);
Pspy4.SetStyle(Curve.SHORT_DASH);
Pspy5.SetStyle(Curve.SHORT_DASH);
Pspy6.SetStyle(Curve.SHORT_DASH);
Pspy7.SetStyle(Curve.SHORT_DASH);
Pspy8.SetStyle(Curve.SHORT_DASH);
Pspy9.SetStyle(Curve.SHORT_DASH);
Pspy10.SetStyle(Curve.SHORT_DASH);
Nspy1.SetStyle(Curve.SHORT_DASH);
Nspy2.SetStyle(Curve.SHORT_DASH);
Nspy3.SetStyle(Curve.SHORT_DASH);
Nspy4.SetStyle(Curve.SHORT_DASH);
Nspy5.SetStyle(Curve.SHORT_DASH);
Nspy6.SetStyle(Curve.SHORT_DASH);
Nspy7.SetStyle(Curve.SHORT_DASH);
Nspy8.SetStyle(Curve.SHORT_DASH);
Nspy9.SetStyle(Curve.SHORT_DASH);
Nspy10.SetStyle(Curve.SHORT_DASH);
Bspy0.SetDefaultColor(Color.CYAN);
Pspy1.SetDefaultColor(Color.CYAN);
Pspy2.SetDefaultColor(Color.CYAN);
Pspy3.SetDefaultColor(Color.CYAN);
Pspy4.SetDefaultColor(Color.CYAN);
Pspy5.SetDefaultColor(Color.CYAN);
Pspy6.SetDefaultColor(Color.CYAN);
Pspy7.SetDefaultColor(Color.CYAN);
Pspy8.SetDefaultColor(Color.CYAN);
Pspy9.SetDefaultColor(Color.CYAN);
Pspy10.SetDefaultColor(Color.CYAN);
Nspy1.SetDefaultColor(Color.CYAN);
Nspy2.SetDefaultColor(Color.CYAN);
Nspy3.SetDefaultColor(Color.CYAN);
Nspy4.SetDefaultColor(Color.CYAN);
Nspy5.SetDefaultColor(Color.CYAN);
Nspy6.SetDefaultColor(Color.CYAN);
Nspy7.SetDefaultColor(Color.CYAN);
Nspy8.SetDefaultColor(Color.CYAN);
Nspy9.SetDefaultColor(Color.CYAN);
Nspy10.SetDefaultColor(Color.CYAN);
#Spx
Bspx0.SetStyle(Curve.MEDIUM_DASH);
Pspx1.SetStyle(Curve.SHORT_DASH);
Pspx2.SetStyle(Curve.SHORT_DASH);
Pspx3.SetStyle(Curve.SHORT_DASH);
Pspx4.SetStyle(Curve.SHORT_DASH);
Pspx5.SetStyle(Curve.SHORT_DASH);
Pspx6.SetStyle(Curve.SHORT_DASH);
Pspx7.SetStyle(Curve.SHORT_DASH);
Pspx8.SetStyle(Curve.SHORT_DASH);
Pspx9.SetStyle(Curve.SHORT_DASH);
Pspx10.SetStyle(Curve.SHORT_DASH);
Nspx1.SetStyle(Curve.SHORT_DASH);
Nspx2.SetStyle(Curve.SHORT_DASH);
Nspx3.SetStyle(Curve.SHORT_DASH);
Nspx4.SetStyle(Curve.SHORT_DASH);
Nspx5.SetStyle(Curve.SHORT_DASH);
Nspx6.SetStyle(Curve.SHORT_DASH);
Nspx7.SetStyle(Curve.SHORT_DASH);
Nspx8.SetStyle(Curve.SHORT_DASH);
Nspx9.SetStyle(Curve.SHORT_DASH);
Nspx10.SetStyle(Curve.SHORT_DASH);
Bspx0.SetDefaultColor(Color.MAGENTA);
Pspx1.SetDefaultColor(Color.MAGENTA);
Pspx2.SetDefaultColor(Color.MAGENTA);
Pspx3.SetDefaultColor(Color.MAGENTA);
Pspx4.SetDefaultColor(Color.MAGENTA);
Pspx5.SetDefaultColor(Color.MAGENTA);
Pspx6.SetDefaultColor(Color.MAGENTA);
Pspx7.SetDefaultColor(Color.MAGENTA);
Pspx8.SetDefaultColor(Color.MAGENTA);
Pspx9.SetDefaultColor(Color.MAGENTA);
Pspx10.SetDefaultColor(Color.MAGENTA);
Nspx1.SetDefaultColor(Color.MAGENTA);
Nspx2.SetDefaultColor(Color.MAGENTA);
Nspx3.SetDefaultColor(Color.MAGENTA);
Nspx4.SetDefaultColor(Color.MAGENTA);
Nspx5.SetDefaultColor(Color.MAGENTA);
Nspx6.SetDefaultColor(Color.MAGENTA);
Nspx7.SetDefaultColor(Color.MAGENTA);
Nspx8.SetDefaultColor(Color.MAGENTA);
Nspx9.SetDefaultColor(Color.MAGENTA);
Nspx10.SetDefaultColor(Color.MAGENTA);
#-- ES
Bes0.SetStyle(Curve.MEDIUM_DASH);
Pes1.SetStyle(Curve.SHORT_DASH);
Pes2.SetStyle(Curve.SHORT_DASH);
Pes3.SetStyle(Curve.SHORT_DASH);
Pes4.SetStyle(Curve.SHORT_DASH);
Pes5.SetStyle(Curve.SHORT_DASH);
Pes6.SetStyle(Curve.SHORT_DASH);
Pes7.SetStyle(Curve.SHORT_DASH);
Pes8.SetStyle(Curve.SHORT_DASH);
Pes9.SetStyle(Curve.SHORT_DASH);
Pes10.SetStyle(Curve.SHORT_DASH);
Nes1.SetStyle(Curve.SHORT_DASH);
Nes2.SetStyle(Curve.SHORT_DASH);
Nes3.SetStyle(Curve.SHORT_DASH);
Nes4.SetStyle(Curve.SHORT_DASH);
Nes5.SetStyle(Curve.SHORT_DASH);
Nes6.SetStyle(Curve.SHORT_DASH);
Nes7.SetStyle(Curve.SHORT_DASH);
Nes8.SetStyle(Curve.SHORT_DASH);
Nes9.SetStyle(Curve.SHORT_DASH);
Nes10.SetStyle(Curve.SHORT_DASH);
Bes0.SetDefaultColor(Color.YELLOW);
Pes1.SetDefaultColor(Color.YELLOW);
Pes2.SetDefaultColor(Color.YELLOW);
Pes3.SetDefaultColor(Color.YELLOW);
Pes4.SetDefaultColor(Color.YELLOW);
Pes5.SetDefaultColor(Color.YELLOW);
Pes6.SetDefaultColor(Color.YELLOW);
Pes7.SetDefaultColor(Color.YELLOW);
Pes8.SetDefaultColor(Color.YELLOW);
Pes9.SetDefaultColor(Color.YELLOW);
Pes10.SetDefaultColor(Color.YELLOW);
Nes1.SetDefaultColor(Color.YELLOW);
Nes2.SetDefaultColor(Color.YELLOW);
Nes3.SetDefaultColor(Color.YELLOW);
Nes4.SetDefaultColor(Color.YELLOW);
Nes5.SetDefaultColor(Color.YELLOW);
Nes6.SetDefaultColor(Color.YELLOW);
Nes7.SetDefaultColor(Color.YELLOW);
Nes8.SetDefaultColor(Color.YELLOW);
Nes9.SetDefaultColor(Color.YELLOW);
Nes10.SetDefaultColor(Color.YELLOW);
#-- Ticker
Btic0.SetStyle(Curve.MEDIUM_DASH);
Ptic1.SetStyle(Curve.SHORT_DASH);
Ptic2.SetStyle(Curve.SHORT_DASH);
Ptic3.SetStyle(Curve.SHORT_DASH);
Ptic4.SetStyle(Curve.SHORT_DASH);
Ptic5.SetStyle(Curve.SHORT_DASH);
Ptic6.SetStyle(Curve.SHORT_DASH);
Ptic7.SetStyle(Curve.SHORT_DASH);
Ptic8.SetStyle(Curve.SHORT_DASH);
Ptic9.SetStyle(Curve.SHORT_DASH);
Ptic10.SetStyle(Curve.SHORT_DASH);
Ntic1.SetStyle(Curve.SHORT_DASH);
Ntic2.SetStyle(Curve.SHORT_DASH);
Ntic3.SetStyle(Curve.SHORT_DASH);
Ntic4.SetStyle(Curve.SHORT_DASH);
Ntic5.SetStyle(Curve.SHORT_DASH);
Ntic6.SetStyle(Curve.SHORT_DASH);
Ntic7.SetStyle(Curve.SHORT_DASH);
Ntic8.SetStyle(Curve.SHORT_DASH);
Ntic9.SetStyle(Curve.SHORT_DASH);
Ntic10.SetStyle(Curve.SHORT_DASH);
Btic0.SetDefaultColor(Color.WHITE);
Ptic1.SetDefaultColor(Color.WHITE);
Ptic2.SetDefaultColor(Color.WHITE);
Ptic3.SetDefaultColor(Color.WHITE);
Ptic4.SetDefaultColor(Color.WHITE);
Ptic5.SetDefaultColor(Color.WHITE);
Ptic6.SetDefaultColor(Color.WHITE);
Ptic7.SetDefaultColor(Color.WHITE);
Ptic8.SetDefaultColor(Color.WHITE);
Ptic9.SetDefaultColor(Color.WHITE);
Ptic10.SetDefaultColor(Color.WHITE);
Ntic1.SetDefaultColor(Color.WHITE);
Ntic2.SetDefaultColor(Color.WHITE);
Ntic3.SetDefaultColor(Color.WHITE);
Ntic4.SetDefaultColor(Color.WHITE);
Ntic5.SetDefaultColor(Color.WHITE);
Ntic6.SetDefaultColor(Color.WHITE);
Ntic7.SetDefaultColor(Color.WHITE);
Ntic8.SetDefaultColor(Color.WHITE);
Ntic9.SetDefaultColor(Color.WHITE);
Ntic10.SetDefaultColor(Color.WHITE);
#-- END of CODE
 
check the below. May need further testing.

CSS:
#// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
#// © PtGambler
#indicator("SPY SPX ES Price Converter [Pt]", shorttitle = 'SPY SPX ES Price[Pt]'
# Converted by Sam4Cok@Samer800    - 05/2024

input extendLinesToRight = {"Full Length",Default "Custom Length"};
input customRightLength = 20;
input extendLinesToLeft = {"Full Length",Default "Custom Length"};
input customLeftLength = 200;
input labelOptions = {"Show Prices Only", "Show Price Change Only", Default "Show Price & Change", "Don't Show Labels"};
input noOfLevels  = 10;       # '# of levels +/-')
input showSpyLines = yes;     # 'SPY'
input spyMultiplier  = 1.0;   # '| Multiplier'
input spyBase = 1;            # 'Base'
input showSpxLines = no;      # 'SPX'
input spxMultiplier  = 10.0;  # '| Multiplier'
input spxBase = 10;           # 'Base'
input showEsLines = no;       # 'ES'
input esMultiplier  = 10.0;   # '| Multiplier'
input esBase = 10;            # 'Base'
input showInputTickerLines  = no;
input inputTicker = "SPX";
input inputTickerMultiplier  = 10.0;     # Multiplier'
input inputTickerBase = 1;               # 'Base'

def na = Double.NaN;
def last = IsNaN(close);
def levels = Min(noOfLevels, Max(noOfLevels, 0));
def multi1 = spyMultiplier;
def multi2 = spxMultiplier;
def multi3 = esMultiplier;
def multi4 = inputTickerMultiplier;
def prc; def chg;def lab;
Switch (labelOptions) {
Case "Show Prices Only" :
    lab = yes;
    prc = yes;
    chg = no;
Case "Show Price Change Only" :
    lab = yes;
    prc = no;
    chg = yes;
Case "Don't Show Labels" :
    lab = no;
    prc = no;
    chg = no;
Default :
    lab = yes;
    prc = yes;
    chg = yes;
}
def right = if extendLinesToRight==extendLinesToRight."Custom Length" then no else yes;;
def left = if extendLinesToLeft==extendLinesToLeft."Custom Length" then no else yes;
def lbr = customRightLength;
def lbl = customLeftLength;
def time = GetTime();
def t1 = time >= RegularTradingStart(GetYYYYMMDD()) and time <= RegularTradingEnd(GetYYYYMMDD());
Script fixNaN {
    input src = close;
    def fixNaN = if !isNaN(src) then src else fixNaN[1];
    plot out = fixNaN;
}
def spyClose = fixNaN(close(Symbol = "SPY"));
def spyDay   = fixNaN(close(Symbol = "SPY", Period = "DAY")[1]);
def spxClose = fixNaN(close(Symbol = "SPX"));
def spxDay   = fixNaN(close(Symbol = "SPX", Period = "DAY")[1]);
def esClose  = fixNaN(close(Symbol = "/ES"));
def esDay    = fixNaN(close(Symbol = "/ES", Period = "DAY")[1]);
def tickClose = fixNaN(close(Symbol = inputTicker));
def tickDay   = fixNaN(close(Symbol = inputTicker, Period = "DAY")[1]);
def SPY_price = Round(spyClose, 2);
def SPY_DAY   = Round(spyDay, 2);
def SPX_price = Round(spxClose, 2);
def SPX_DAY   = Round(spxDay, 2);
def ES_price  = Round(esClose, 2);
def ES_DAY    = Round(esDay, 2);
def tick_price = Round(tickClose, 2);
def tick_DAY = Round(tickDay, 2);
#// closest base price
def SPYp0 = Floor(SPY_price / spybase) * spybase;
def SPXp0 = Floor(SPX_price / spxBase) * spxBase;
def ESp0  = Floor(ES_price / esBase) * esBase;
def cust  = Floor(tick_price / inputTickerBase) * inputTickerBase;
#// Price change / change %
def SPY_chg = SPY_price - SPY_DAY;
def SPY_pct = Round(SPY_chg / SPY_DAY * 100, 2);
def SPX_chg = SPX_price - SPX_DAY;
def SPX_pct = Round(SPX_chg / SPX_DAY * 100, 2);
def ES_chg = ES_price - ES_DAY;
def ES_pct = Round(ES_chg / ES_DAY * 100, 2);
def tick_chg = tick_price - tick_DAY;
def tick_pct = Round(tick_chg / tick_DAY * 100, 2);
#-- Labels
AddLabel(lab, "SPY(" + if prc then "$" + SPY_price + if chg then "/" + SPY_pct + "%)" else ")" else SPY_pct + "%)",
              if sign(SPY_chg) >= 0 then Color.GREEN else Color.RED);
AddLabel(lab, "SPX(" + if prc then "$" + SPX_price + if chg then "/" + SPX_pct + "%)" else ")" else SPX_pct + "%)",
              if sign(SPX_chg) >= 0 then Color.GREEN else Color.RED);
AddLabel(lab, "/ES(" + if prc then "$" + ES_price + if chg then "/" + ES_pct + "%)" else ")" else ES_pct + "%)",
              if sign(ES_chg) >= 0 then Color.GREEN else Color.RED);
AddLabel(lab, inputTicker + "(" + if prc then "$" + tick_price + if chg then "/" + tick_pct + "%)" else ")" else tick_pct + "%)",
              if sign(tick_chg) >= 0 then Color.GREEN else Color.RED);
#// Functions
Script f_setLevels {
    input _alt = "SPY";
    input timeCond = yes;
    input _basePrice = close;
    input _altPrice = close;
    input _multiplier = 1;
    input counter = 1;
    input level = 10;
    input lbr = 5;
    input lbl = 200;
    input right = no;
    input left = no;
    input display = yes;
    def na = Double.NaN;
    def last = isNaN(close);
    def regular_close = if timeCond then close else regular_close[1];
    def _price = if _alt == "SPY" or _alt == "SPX" then regular_close else close;
    def lvlLine = (_basePrice + counter *_multiplier) * (_price / _altPrice);
    def ibtLvl = if !display then na else if level >= AbsValue(counter) then highestAll(InertiaAll(lvlLine, 2)) else na;
    def hiLvL = if !display then na else if (if right then no else last[lbr]) then na else
                InertiaAll(ibtLvl, lbl, extendToLeft = left, extendToRight = yes);
    plot lvl = hiLvL ;
}
#-- SPY
plot Bspy0 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 0, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy1 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 1, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy2 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 2, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy3 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 3, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy4 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 4, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy5 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 5, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy6 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 6, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy7 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 7, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy8 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 8, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy9 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 9, levels, lbr, lbl, right, left, showSpyLines);
plot Pspy10 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, 10, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy1 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -1, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy2 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -2, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy3 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -3, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy4 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -4, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy5 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -5, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy6 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -6, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy7 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -7, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy8 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -8, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy9 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -9, levels, lbr, lbl, right, left, showSpyLines);
plot Nspy10 = f_setLevels("SPY", t1, SPYp0, SPY_price, multi1, -10, levels, lbr, lbl, right, left, showSpyLines);
#-- SPX
plot Bspx0 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 0, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx1 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 1, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx2 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 2, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx3 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 3, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx4 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 4, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx5 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 5, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx6 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 6, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx7 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 7, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx8 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 8, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx9 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 9, levels, lbr, lbl, right, left, showSpxLines);
plot Pspx10 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, 10, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx1 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -1, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx2 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -2, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx3 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -3, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx4 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -4, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx5 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -5, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx6 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -6, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx7 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -7, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx8 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -8, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx9 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -9, levels, lbr, lbl, right, left, showSpxLines);
plot Nspx10 = f_setLevels("SPX", t1, SPXp0, SPX_price, multi2, -10, levels, lbr, lbl, right, left, showSpxLines);
#-- ES
plot Bes0 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 0, levels, lbr, lbl, right, left, showEsLines);
plot Pes1 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 1, levels, lbr, lbl, right, left, showEsLines);
plot Pes2 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 2, levels, lbr, lbl, right, left, showEsLines);
plot Pes3 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 3, levels, lbr, lbl, right, left, showEsLines);
plot Pes4 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 4, levels, lbr, lbl, right, left, showEsLines);
plot Pes5 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 5, levels, lbr, lbl, right, left, showEsLines);
plot Pes6 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 6, levels, lbr, lbl, right, left, showEsLines);
plot Pes7 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 7, levels, lbr, lbl, right, left, showEsLines);
plot Pes8 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 8, levels, lbr, lbl, right, left, showEsLines);
plot Pes9 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 9, levels, lbr, lbl, right, left, showEsLines);
plot Pes10 = f_setLevels("ES", t1, ESp0, ES_price, multi3, 10, levels, lbr, lbl, right, left, showEsLines);
plot Nes1 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -1, levels, lbr, lbl, right, left, showEsLines);
plot Nes2 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -2, levels, lbr, lbl, right, left, showEsLines);
plot Nes3 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -3, levels, lbr, lbl, right, left, showEsLines);
plot Nes4 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -4, levels, lbr, lbl, right, left, showEsLines);
plot Nes5 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -5, levels, lbr, lbl, right, left, showEsLines);
plot Nes6 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -6, levels, lbr, lbl, right, left, showEsLines);
plot Nes7 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -7, levels, lbr, lbl, right, left, showEsLines);
plot Nes8 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -8, levels, lbr, lbl, right, left, showEsLines);
plot Nes9 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -9, levels, lbr, lbl, right, left, showEsLines);
plot Nes10 = f_setLevels("ES", t1, ESp0, ES_price, multi3, -10, levels, lbr, lbl, right, left, showEsLines);
#-- Ticker
plot Btic0 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 0, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic1 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 1, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic2 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 2, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic3 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 3, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic4 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 4, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic5 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 5, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic6 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 6, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic7 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 7, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic8 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 8, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic9 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 9, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ptic10 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, 10, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic1 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -1, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic2 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -2, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic3 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -3, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic4 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -4, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic5 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -5, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic6 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -6, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic7 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -7, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic8 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -8, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic9 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -9, levels, lbr, lbl, right, left, showInputTickerLines);
plot Ntic10 = f_setLevels(inputTicker, t1, cust, tick_price, multi4, -10, levels, lbr, lbl, right, left, showInputTickerLines);

#-- STYLE
#-SPY
Bspy0.SetStyle(Curve.MEDIUM_DASH);
Pspy1.SetStyle(Curve.SHORT_DASH);
Pspy2.SetStyle(Curve.SHORT_DASH);
Pspy3.SetStyle(Curve.SHORT_DASH);
Pspy4.SetStyle(Curve.SHORT_DASH);
Pspy5.SetStyle(Curve.SHORT_DASH);
Pspy6.SetStyle(Curve.SHORT_DASH);
Pspy7.SetStyle(Curve.SHORT_DASH);
Pspy8.SetStyle(Curve.SHORT_DASH);
Pspy9.SetStyle(Curve.SHORT_DASH);
Pspy10.SetStyle(Curve.SHORT_DASH);
Nspy1.SetStyle(Curve.SHORT_DASH);
Nspy2.SetStyle(Curve.SHORT_DASH);
Nspy3.SetStyle(Curve.SHORT_DASH);
Nspy4.SetStyle(Curve.SHORT_DASH);
Nspy5.SetStyle(Curve.SHORT_DASH);
Nspy6.SetStyle(Curve.SHORT_DASH);
Nspy7.SetStyle(Curve.SHORT_DASH);
Nspy8.SetStyle(Curve.SHORT_DASH);
Nspy9.SetStyle(Curve.SHORT_DASH);
Nspy10.SetStyle(Curve.SHORT_DASH);
Bspy0.SetDefaultColor(Color.CYAN);
Pspy1.SetDefaultColor(Color.CYAN);
Pspy2.SetDefaultColor(Color.CYAN);
Pspy3.SetDefaultColor(Color.CYAN);
Pspy4.SetDefaultColor(Color.CYAN);
Pspy5.SetDefaultColor(Color.CYAN);
Pspy6.SetDefaultColor(Color.CYAN);
Pspy7.SetDefaultColor(Color.CYAN);
Pspy8.SetDefaultColor(Color.CYAN);
Pspy9.SetDefaultColor(Color.CYAN);
Pspy10.SetDefaultColor(Color.CYAN);
Nspy1.SetDefaultColor(Color.CYAN);
Nspy2.SetDefaultColor(Color.CYAN);
Nspy3.SetDefaultColor(Color.CYAN);
Nspy4.SetDefaultColor(Color.CYAN);
Nspy5.SetDefaultColor(Color.CYAN);
Nspy6.SetDefaultColor(Color.CYAN);
Nspy7.SetDefaultColor(Color.CYAN);
Nspy8.SetDefaultColor(Color.CYAN);
Nspy9.SetDefaultColor(Color.CYAN);
Nspy10.SetDefaultColor(Color.CYAN);
#Spx
Bspx0.SetStyle(Curve.MEDIUM_DASH);
Pspx1.SetStyle(Curve.SHORT_DASH);
Pspx2.SetStyle(Curve.SHORT_DASH);
Pspx3.SetStyle(Curve.SHORT_DASH);
Pspx4.SetStyle(Curve.SHORT_DASH);
Pspx5.SetStyle(Curve.SHORT_DASH);
Pspx6.SetStyle(Curve.SHORT_DASH);
Pspx7.SetStyle(Curve.SHORT_DASH);
Pspx8.SetStyle(Curve.SHORT_DASH);
Pspx9.SetStyle(Curve.SHORT_DASH);
Pspx10.SetStyle(Curve.SHORT_DASH);
Nspx1.SetStyle(Curve.SHORT_DASH);
Nspx2.SetStyle(Curve.SHORT_DASH);
Nspx3.SetStyle(Curve.SHORT_DASH);
Nspx4.SetStyle(Curve.SHORT_DASH);
Nspx5.SetStyle(Curve.SHORT_DASH);
Nspx6.SetStyle(Curve.SHORT_DASH);
Nspx7.SetStyle(Curve.SHORT_DASH);
Nspx8.SetStyle(Curve.SHORT_DASH);
Nspx9.SetStyle(Curve.SHORT_DASH);
Nspx10.SetStyle(Curve.SHORT_DASH);
Bspx0.SetDefaultColor(Color.MAGENTA);
Pspx1.SetDefaultColor(Color.MAGENTA);
Pspx2.SetDefaultColor(Color.MAGENTA);
Pspx3.SetDefaultColor(Color.MAGENTA);
Pspx4.SetDefaultColor(Color.MAGENTA);
Pspx5.SetDefaultColor(Color.MAGENTA);
Pspx6.SetDefaultColor(Color.MAGENTA);
Pspx7.SetDefaultColor(Color.MAGENTA);
Pspx8.SetDefaultColor(Color.MAGENTA);
Pspx9.SetDefaultColor(Color.MAGENTA);
Pspx10.SetDefaultColor(Color.MAGENTA);
Nspx1.SetDefaultColor(Color.MAGENTA);
Nspx2.SetDefaultColor(Color.MAGENTA);
Nspx3.SetDefaultColor(Color.MAGENTA);
Nspx4.SetDefaultColor(Color.MAGENTA);
Nspx5.SetDefaultColor(Color.MAGENTA);
Nspx6.SetDefaultColor(Color.MAGENTA);
Nspx7.SetDefaultColor(Color.MAGENTA);
Nspx8.SetDefaultColor(Color.MAGENTA);
Nspx9.SetDefaultColor(Color.MAGENTA);
Nspx10.SetDefaultColor(Color.MAGENTA);
#-- ES
Bes0.SetStyle(Curve.MEDIUM_DASH);
Pes1.SetStyle(Curve.SHORT_DASH);
Pes2.SetStyle(Curve.SHORT_DASH);
Pes3.SetStyle(Curve.SHORT_DASH);
Pes4.SetStyle(Curve.SHORT_DASH);
Pes5.SetStyle(Curve.SHORT_DASH);
Pes6.SetStyle(Curve.SHORT_DASH);
Pes7.SetStyle(Curve.SHORT_DASH);
Pes8.SetStyle(Curve.SHORT_DASH);
Pes9.SetStyle(Curve.SHORT_DASH);
Pes10.SetStyle(Curve.SHORT_DASH);
Nes1.SetStyle(Curve.SHORT_DASH);
Nes2.SetStyle(Curve.SHORT_DASH);
Nes3.SetStyle(Curve.SHORT_DASH);
Nes4.SetStyle(Curve.SHORT_DASH);
Nes5.SetStyle(Curve.SHORT_DASH);
Nes6.SetStyle(Curve.SHORT_DASH);
Nes7.SetStyle(Curve.SHORT_DASH);
Nes8.SetStyle(Curve.SHORT_DASH);
Nes9.SetStyle(Curve.SHORT_DASH);
Nes10.SetStyle(Curve.SHORT_DASH);
Bes0.SetDefaultColor(Color.YELLOW);
Pes1.SetDefaultColor(Color.YELLOW);
Pes2.SetDefaultColor(Color.YELLOW);
Pes3.SetDefaultColor(Color.YELLOW);
Pes4.SetDefaultColor(Color.YELLOW);
Pes5.SetDefaultColor(Color.YELLOW);
Pes6.SetDefaultColor(Color.YELLOW);
Pes7.SetDefaultColor(Color.YELLOW);
Pes8.SetDefaultColor(Color.YELLOW);
Pes9.SetDefaultColor(Color.YELLOW);
Pes10.SetDefaultColor(Color.YELLOW);
Nes1.SetDefaultColor(Color.YELLOW);
Nes2.SetDefaultColor(Color.YELLOW);
Nes3.SetDefaultColor(Color.YELLOW);
Nes4.SetDefaultColor(Color.YELLOW);
Nes5.SetDefaultColor(Color.YELLOW);
Nes6.SetDefaultColor(Color.YELLOW);
Nes7.SetDefaultColor(Color.YELLOW);
Nes8.SetDefaultColor(Color.YELLOW);
Nes9.SetDefaultColor(Color.YELLOW);
Nes10.SetDefaultColor(Color.YELLOW);
#-- Ticker
Btic0.SetStyle(Curve.MEDIUM_DASH);
Ptic1.SetStyle(Curve.SHORT_DASH);
Ptic2.SetStyle(Curve.SHORT_DASH);
Ptic3.SetStyle(Curve.SHORT_DASH);
Ptic4.SetStyle(Curve.SHORT_DASH);
Ptic5.SetStyle(Curve.SHORT_DASH);
Ptic6.SetStyle(Curve.SHORT_DASH);
Ptic7.SetStyle(Curve.SHORT_DASH);
Ptic8.SetStyle(Curve.SHORT_DASH);
Ptic9.SetStyle(Curve.SHORT_DASH);
Ptic10.SetStyle(Curve.SHORT_DASH);
Ntic1.SetStyle(Curve.SHORT_DASH);
Ntic2.SetStyle(Curve.SHORT_DASH);
Ntic3.SetStyle(Curve.SHORT_DASH);
Ntic4.SetStyle(Curve.SHORT_DASH);
Ntic5.SetStyle(Curve.SHORT_DASH);
Ntic6.SetStyle(Curve.SHORT_DASH);
Ntic7.SetStyle(Curve.SHORT_DASH);
Ntic8.SetStyle(Curve.SHORT_DASH);
Ntic9.SetStyle(Curve.SHORT_DASH);
Ntic10.SetStyle(Curve.SHORT_DASH);
Btic0.SetDefaultColor(Color.WHITE);
Ptic1.SetDefaultColor(Color.WHITE);
Ptic2.SetDefaultColor(Color.WHITE);
Ptic3.SetDefaultColor(Color.WHITE);
Ptic4.SetDefaultColor(Color.WHITE);
Ptic5.SetDefaultColor(Color.WHITE);
Ptic6.SetDefaultColor(Color.WHITE);
Ptic7.SetDefaultColor(Color.WHITE);
Ptic8.SetDefaultColor(Color.WHITE);
Ptic9.SetDefaultColor(Color.WHITE);
Ptic10.SetDefaultColor(Color.WHITE);
Ntic1.SetDefaultColor(Color.WHITE);
Ntic2.SetDefaultColor(Color.WHITE);
Ntic3.SetDefaultColor(Color.WHITE);
Ntic4.SetDefaultColor(Color.WHITE);
Ntic5.SetDefaultColor(Color.WHITE);
Ntic6.SetDefaultColor(Color.WHITE);
Ntic7.SetDefaultColor(Color.WHITE);
Ntic8.SetDefaultColor(Color.WHITE);
Ntic9.SetDefaultColor(Color.WHITE);
Ntic10.SetDefaultColor(Color.WHITE);
#-- END of CODE
thank you for the time to convert this i really appreciate it
 

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
527 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top