RSI Dashboard Monitor [Skiploss]
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Skiploss

//@version=5

//indicator(title = "RSI Dashboard [Skiploss]", shorttitle = "RSID v0.77", overlay = true)  // Overlay ON
indicator(title = "RSI Dashboard Monitor [Skiploss]", shorttitle = "RSID M v0.77")                // Overlay OFF

// Input Symbol 01-04
input_symbol_ticker_01     =   input(true, "", inline = "1", group = "Symbol")
input_symbol_01            =   input.symbol("PEPPERSTONE:US30", "", inline = "1", group = "Symbol")

input_symbol_ticker_02     =   input(false, "", inline = "2", group = "Symbol")
input_symbol_02            =   input.symbol("PEPPERSTONE:GER40", "", inline = "2", group = "Symbol")

input_symbol_ticker_03     =   input(false, "", inline = "3", group = "Symbol")
input_symbol_03            =   input.symbol("PEPPERSTONE:XAUUSD", "", inline = "3", group = "Symbol")

input_symbol_ticker_04     =   input(false, "", inline = "4", group = "Symbol")
input_symbol_04            =   input.symbol("PEPPERSTONE:SPOTCRUDE", "", inline = "4", group = "Symbol")


// Relative Strength Index Setting
relative_strength_index_length      =   input.int(title = "RSI Length", defval = 14, minval = 2,    maxval = 365,   group = 'RSI Setting')

relative_strength_index_overbought_max  =   input.int(title = "Overbought Max", defval = 75, minval = 51,   maxval = 100,   group = 'RSI Setting')
relative_strength_index_overbought_med  =   input.int(title = "Overbought Med", defval = 65, minval = 51,   maxval = 100,   group = 'RSI Setting')
relative_strength_index_overbought_min  =   input.int(title = "Overbought Min", defval = 55, minval = 51,   maxval = 100,   group = 'RSI Setting')

relative_strength_index_oversold_max    =   input.int(title = "Oversold Max",   defval = 25, minval = 0,    maxval = 50,    group = 'RSI Setting')
relative_strength_index_oversold_med    =   input.int(title = "Oversold Med",   defval = 35, minval = 0,    maxval = 50,    group = 'RSI Setting')
relative_strength_index_oversold_min    =   input.int(title = "Oversold Min",   defval = 45, minval = 0,    maxval = 50,    group = 'RSI Setting')

relative_strength_index                 =   ta.rsi(close, relative_strength_index_length)

// Style Setting
dashboard_location  =   input.session("Bottom Left",  "Dashboard Location",   options = ["Top Right","Bottom Right","Top Left","Bottom Left", "Middle Right","Bottom Center"], group = 'Style Settings')
dashboard_text_size =   input.session(     'Normal',      "Dashboard Size",   options = ["Tiny","Small","Normal","Large"], group = 'Style Settings')

color_status_overbought_max   =   input(#8ebbff,  'Overbought Color Max', group = 'Style Setting')
color_status_overbought_med   =   input(#b0cfff,  'Overbought Color Med', group = 'Style Setting')
color_status_overbought_min   =   input(#c7ddff,  'Overbought Color Min', group = 'Style Setting')

color_status_oversold_max     =   input(#ff8e8e,    'Oversold Color Max', group = 'Style Setting')
color_status_oversold_med     =   input(#ffb0b0,    'Oversold Color Med', group = 'Style Setting')
color_status_oversold_min     =   input(#ffc7c7,    'Oversold Color Min', group = 'Style Setting')

color_status_neutral  =   input(#ffffff, 'Neutral Color', group = 'Style Setting')
color_text            =   input(#141823,    'Text Color', group = 'Style Setting')
transparency          =   input.int(35, 'Transparency', minval = 0, maxval = 100, group = 'Style Setting')

// Timeframes

timeframe_01    =   input.timeframe(  "1",  title =  "1st", group = "Resolution")
timeframe_02    =   input.timeframe(  "5",  title =  "2nd", group = "Resolution")
timeframe_03    =   input.timeframe( "15",  title =  "3rd", group = "Resolution")
timeframe_04    =   input.timeframe( "30",  title =  "4th", group = "Resolution")
timeframe_05    =   input.timeframe( "60",  title =  "5th", group = "Resolution")
timeframe_06    =   input.timeframe("120",  title =  "6th", group = "Resolution")
timeframe_07    =   input.timeframe("240",  title =  "7th", group = "Resolution")
timeframe_08    =   input.timeframe("480",  title =  "8th", group = "Resolution")
timeframe_09    =   input.timeframe(  "D",  title =  "9th", group = "Resolution")
timeframe_10    =   input.timeframe(  "W",  title = "10th", group = "Resolution")

// Relative Strength Index Values

// Symbol 01
symbol_01_value_01  =   request.security(input_symbol_01, timeframe_01, ta.rsi(close,relative_strength_index_length))
symbol_01_value_02  =   request.security(input_symbol_01, timeframe_02, ta.rsi(close,relative_strength_index_length))
symbol_01_value_03  =   request.security(input_symbol_01, timeframe_03, ta.rsi(close,relative_strength_index_length))
symbol_01_value_04  =   request.security(input_symbol_01, timeframe_04, ta.rsi(close,relative_strength_index_length))
symbol_01_value_05  =   request.security(input_symbol_01, timeframe_05, ta.rsi(close,relative_strength_index_length))
symbol_01_value_06  =   request.security(input_symbol_01, timeframe_06, ta.rsi(close,relative_strength_index_length))
symbol_01_value_07  =   request.security(input_symbol_01, timeframe_07, ta.rsi(close,relative_strength_index_length))
symbol_01_value_08  =   request.security(input_symbol_01, timeframe_08, ta.rsi(close,relative_strength_index_length))
symbol_01_value_09  =   request.security(input_symbol_01, timeframe_09, ta.rsi(close,relative_strength_index_length))
symbol_01_value_10  =   request.security(input_symbol_01, timeframe_10, ta.rsi(close,relative_strength_index_length))

// Symbol 02
symbol_02_value_01  =   request.security(input_symbol_02, timeframe_01, ta.rsi(close,relative_strength_index_length))
symbol_02_value_02  =   request.security(input_symbol_02, timeframe_02, ta.rsi(close,relative_strength_index_length))
symbol_02_value_03  =   request.security(input_symbol_02, timeframe_03, ta.rsi(close,relative_strength_index_length))
symbol_02_value_04  =   request.security(input_symbol_02, timeframe_04, ta.rsi(close,relative_strength_index_length))
symbol_02_value_05  =   request.security(input_symbol_02, timeframe_05, ta.rsi(close,relative_strength_index_length))
symbol_02_value_06  =   request.security(input_symbol_02, timeframe_06, ta.rsi(close,relative_strength_index_length))
symbol_02_value_07  =   request.security(input_symbol_02, timeframe_07, ta.rsi(close,relative_strength_index_length))
symbol_02_value_08  =   request.security(input_symbol_02, timeframe_08, ta.rsi(close,relative_strength_index_length))
symbol_02_value_09  =   request.security(input_symbol_02, timeframe_09, ta.rsi(close,relative_strength_index_length))
symbol_02_value_10  =   request.security(input_symbol_02, timeframe_10, ta.rsi(close,relative_strength_index_length))

// Symbol 03
symbol_03_value_01  =   request.security(input_symbol_03, timeframe_01, ta.rsi(close,relative_strength_index_length))
symbol_03_value_02  =   request.security(input_symbol_03, timeframe_02, ta.rsi(close,relative_strength_index_length))
symbol_03_value_03  =   request.security(input_symbol_03, timeframe_03, ta.rsi(close,relative_strength_index_length))
symbol_03_value_04  =   request.security(input_symbol_03, timeframe_04, ta.rsi(close,relative_strength_index_length))
symbol_03_value_05  =   request.security(input_symbol_03, timeframe_05, ta.rsi(close,relative_strength_index_length))
symbol_03_value_06  =   request.security(input_symbol_03, timeframe_06, ta.rsi(close,relative_strength_index_length))
symbol_03_value_07  =   request.security(input_symbol_03, timeframe_07, ta.rsi(close,relative_strength_index_length))
symbol_03_value_08  =   request.security(input_symbol_03, timeframe_08, ta.rsi(close,relative_strength_index_length))
symbol_03_value_09  =   request.security(input_symbol_03, timeframe_09, ta.rsi(close,relative_strength_index_length))
symbol_03_value_10  =   request.security(input_symbol_03, timeframe_10, ta.rsi(close,relative_strength_index_length))

// Symbol 04
symbol_04_value_01  =   request.security(input_symbol_04, timeframe_01, ta.rsi(close,relative_strength_index_length))
symbol_04_value_02  =   request.security(input_symbol_04, timeframe_02, ta.rsi(close,relative_strength_index_length))
symbol_04_value_03  =   request.security(input_symbol_04, timeframe_03, ta.rsi(close,relative_strength_index_length))
symbol_04_value_04  =   request.security(input_symbol_04, timeframe_04, ta.rsi(close,relative_strength_index_length))
symbol_04_value_05  =   request.security(input_symbol_04, timeframe_05, ta.rsi(close,relative_strength_index_length))
symbol_04_value_06  =   request.security(input_symbol_04, timeframe_06, ta.rsi(close,relative_strength_index_length))
symbol_04_value_07  =   request.security(input_symbol_04, timeframe_07, ta.rsi(close,relative_strength_index_length))
symbol_04_value_08  =   request.security(input_symbol_04, timeframe_08, ta.rsi(close,relative_strength_index_length))
symbol_04_value_09  =   request.security(input_symbol_04, timeframe_09, ta.rsi(close,relative_strength_index_length))
symbol_04_value_10  =   request.security(input_symbol_04, timeframe_10, ta.rsi(close,relative_strength_index_length))


// Table

var table_position  =   dashboard_location  == 'Top Left' ? position.top_left :
  dashboard_location == 'Bottom Left'   ? position.bottom_left :
  dashboard_location == 'Middle Right'  ? position.middle_right :
  dashboard_location == 'Bottom Center' ? position.bottom_center :
  dashboard_location == 'Top Right'     ? position.top_right : position.bottom_right

var table_text_size  = dashboard_text_size == 'Tiny' ? size.tiny :
  dashboard_text_size == 'Small' ? size.small :
  dashboard_text_size == 'Normal' ? size.normal : size.large

var dashboard = table.new(table_position,12,5,
  frame_color = color_text,
  frame_width = 1,
  border_color= color_text,
  border_width= 1)

if (barstate.islast)
  //headings
    table.cell(dashboard,  1, 0,    'Symbols' , width = 12 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard,  2, 0, timeframe_01 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard,  3, 0, timeframe_02 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard,  4, 0, timeframe_03 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard,  5, 0, timeframe_04 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard,  6, 0, timeframe_05 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)  
    table.cell(dashboard,  7, 0, timeframe_06 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard,  8, 0, timeframe_07 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard,  9, 0, timeframe_08 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard, 10, 0, timeframe_09 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black)
    table.cell(dashboard, 11, 0, timeframe_10 , width = 7 ,text_color=color.white,text_size=table_text_size,bgcolor=color.black) 
    // Symbol 01
    if input_symbol_ticker_01
        table.cell(dashboard,  1, 1, str.replace_all(input_symbol_01, syminfo.prefix + ":", ''),text_color=color.white,text_size=table_text_size,bgcolor=color.black)
        table.cell(dashboard,  2, 1, str.tostring(symbol_01_value_01, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_01 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_01 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_01 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_01 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_01 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_01 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  3, 1, str.tostring(symbol_01_value_02, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_02 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_02 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_02 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_02 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_02 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_02 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  4, 1, str.tostring(symbol_01_value_03, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_03 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_03 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_03 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_03 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_03 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_03 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  5, 1, str.tostring(symbol_01_value_04, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_04 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_04 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_04 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_04 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_04 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_04 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  6, 1, str.tostring(symbol_01_value_05, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_05 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_05 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_05 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_05 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_05 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_05 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  7, 1, str.tostring(symbol_01_value_06, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_06 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_06 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_06 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_06 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_06 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_06 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  8, 1, str.tostring(symbol_01_value_07, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_07 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_07 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_07 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_07 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_07 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_07 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  9, 1, str.tostring(symbol_01_value_08, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_08 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_08 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_08 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_08 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_08 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_08 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 10, 1, str.tostring(symbol_01_value_09, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_09 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_09 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_09 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_09 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_09 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_09 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 11, 1, str.tostring(symbol_01_value_10, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_01_value_10 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_01_value_10 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_01_value_10 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_01_value_10 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_01_value_10 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_01_value_10 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
    // Symbol 02
    if input_symbol_ticker_02
        table.cell(dashboard,  1, 2, str.replace_all(input_symbol_02, syminfo.prefix + ":", ''),text_color=color.white,text_size=table_text_size,bgcolor=color.black)
        table.cell(dashboard,  2, 2, str.tostring(symbol_02_value_01, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_01 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_01 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_01 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_01 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_01 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_01 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  3, 2, str.tostring(symbol_02_value_02, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_02 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_02 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_02 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_02 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_02 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_02 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  4, 2, str.tostring(symbol_02_value_03, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_03 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_03 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_03 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_03 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_03 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_03 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  5, 2, str.tostring(symbol_02_value_04, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_04 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_04 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_04 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_04 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_04 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_04 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  6, 2, str.tostring(symbol_02_value_05, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_05 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_05 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_05 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_05 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_05 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_05 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  7, 2, str.tostring(symbol_02_value_06, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_06 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_06 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_06 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_06 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_06 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_06 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  8, 2, str.tostring(symbol_02_value_07, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_07 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_07 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_07 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_07 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_07 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_07 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  9, 2, str.tostring(symbol_02_value_08, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_08 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_08 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_08 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_08 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_08 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_08 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 10, 2, str.tostring(symbol_02_value_09, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_09 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_09 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_09 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_09 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_09 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_09 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 11, 2, str.tostring(symbol_02_value_10, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_02_value_10 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_02_value_10 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_02_value_10 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_02_value_10 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_02_value_10 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_02_value_10 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
    // Symbol 03
    if input_symbol_ticker_03
        table.cell(dashboard,  1, 3, str.replace_all(input_symbol_03, syminfo.prefix + ":", ''),text_color=color.white,text_size=table_text_size,bgcolor=color.black)
        table.cell(dashboard,  2, 3, str.tostring(symbol_03_value_01, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_01 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_01 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_01 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_01 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_01 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_01 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  3, 3, str.tostring(symbol_03_value_02, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_02 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_02 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_02 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_02 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_02 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_02 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  4, 3, str.tostring(symbol_03_value_03, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_03 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_03 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_03 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_03 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_03 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_03 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  5, 3, str.tostring(symbol_03_value_04, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_04 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_04 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_04 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_04 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_04 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_04 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  6, 3, str.tostring(symbol_03_value_05, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_05 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_05 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_05 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_05 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_05 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_05 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  7, 3, str.tostring(symbol_03_value_06, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_06 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_06 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_06 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_06 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_06 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_06 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  8, 3, str.tostring(symbol_03_value_07, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_07 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_07 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_07 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_07 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_07 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_07 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  9, 3, str.tostring(symbol_03_value_08, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_08 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_08 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_08 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_08 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_08 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_08 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 10, 3, str.tostring(symbol_03_value_09, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_09 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_09 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_09 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_09 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_09 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_09 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 11, 3, str.tostring(symbol_03_value_10, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_03_value_10 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_03_value_10 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_03_value_10 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_03_value_10 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_03_value_10 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_03_value_10 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
    // Symbol 04
    if input_symbol_ticker_04
        table.cell(dashboard,  1, 4, str.replace_all(input_symbol_04, syminfo.prefix + ":", ''),text_color=color.white,text_size=table_text_size,bgcolor=color.black)
        table.cell(dashboard,  2, 4, str.tostring(symbol_04_value_01, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_01 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_01 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_01 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_01 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_01 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_01 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  3, 4, str.tostring(symbol_04_value_02, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_02 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_02 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_02 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_02 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_02 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_02 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  4, 4, str.tostring(symbol_04_value_03, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_03 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_03 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_03 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_03 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_03 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_03 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  5, 4, str.tostring(symbol_04_value_04, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_04 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_04 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_04 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_04 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_04 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_04 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  6, 4, str.tostring(symbol_04_value_05, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_05 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_05 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_05 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_05 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_05 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_05 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  7, 4, str.tostring(symbol_04_value_06, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_06 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_06 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_06 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_06 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_06 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_06 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  8, 4, str.tostring(symbol_04_value_07, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_07 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_07 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_07 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_07 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_07 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_07 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard,  9, 4, str.tostring(symbol_04_value_08, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_08 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_08 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_08 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_08 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_08 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_08 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 10, 4, str.tostring(symbol_04_value_09, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_09 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_09 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_09 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_09 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_09 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_09 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))
        table.cell(dashboard, 11, 4, str.tostring(symbol_04_value_10, '#.##'),text_color=color_text,text_size=table_text_size, bgcolor=color.new(symbol_04_value_10 >= relative_strength_index_overbought_max ? color_status_overbought_max : symbol_04_value_10 >= relative_strength_index_overbought_med ? color_status_overbought_med : symbol_04_value_10 >= relative_strength_index_overbought_min ? color_status_overbought_min : symbol_04_value_10 <= relative_strength_index_oversold_max ? color_status_oversold_max : symbol_04_value_10 <= relative_strength_index_oversold_med ? color_status_oversold_med : symbol_04_value_10 <= relative_strength_index_oversold_min ? color_status_oversold_min : color_status_neutral,transparency))



