Selamat Hari Raya
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RozaniGhani-RG

//@version=5
indicator('Selamat Hari Raya')
// 0. Inputs
// 1. Arrays
// 2. Variable
// 3. Custom function
// 4. Construct
// ————————————————————————————————————————————————————————————————————————————— 0. Inputs {
i_color  = input.color( color.green,     'Color')
i_s_Y    = input.string(   'middle', 'Position ', inline = 'Position', options = ['top',  'middle', 'bottom'])
i_s_X    = input.string(   'center', '',          inline = 'Position', options = ['left', 'center', 'right'])
i_s_font = input.string(   'normal', 'Font Size', inline = 'Font',     options = ['tiny', 'small',  'normal', 'large', 'huge'])
// }
// ————————————————————————————————————————————————————————————————————————————— 1. Arrays {
row_0  = array.from('0','0','0',' ','0','0','0',' ','0',' ',' ',' ',' ','0',' ',' ','0',' ',' ',' ','0',' ',' ','0',' ',' ','0','0','0',' ',' ','0',' ','0',' ',' ','0',' ',' ','0','0',' ',' ','0',' ',' ','0','0',' ',' ',' ','0',' ',' ','0',' ','0',' ',' ','0',' ')
row_1  = array.from('0',' ',' ',' ','0',' ',' ',' ','0',' ',' ',' ','0',' ','0',' ','0','0',' ','0','0',' ','0',' ','0',' ',' ','0',' ',' ',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ','0',' ','0',' ','0',' ','0',' ','0','0','0',' ','0',' ','0')
row_2  = array.from('0','0','0',' ','0','0','0',' ','0',' ',' ',' ','0','0','0',' ','0',' ','0',' ','0',' ','0','0','0',' ',' ','0',' ',' ',' ','0','0','0',' ','0','0','0',' ','0','0',' ',' ','0',' ',' ','0','0',' ',' ','0','0','0',' ',' ','0',' ',' ','0','0','0')
row_3  = array.from(' ',' ','0',' ','0',' ',' ',' ','0',' ',' ',' ','0',' ','0',' ','0',' ',' ',' ','0',' ','0',' ','0',' ',' ','0',' ',' ',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ','0',' ','0',' ','0',' ','0',' ',' ','0',' ',' ','0',' ','0')
row_4  = array.from('0','0','0',' ','0','0','0',' ','0','0','0',' ','0',' ','0',' ','0',' ',' ',' ','0',' ','0',' ','0',' ',' ','0',' ',' ',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ','0',' ','0',' ','0',' ','0',' ',' ','0',' ',' ','0',' ','0')
row_5  = array.from(' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ')
row_6  = array.from('0',' ',' ',' ','0',' ',' ','0',' ',' ',' ','0',' ',' ','0','0','0',' ',' ',' ',' ',' ','0','0','0',' ',' ','0',' ',' ','0',' ','0',' ','0',' ','0','0',' ',' ',' ',' ',' ','0','0',' ',' ',' ','0',' ',' ','0','0','0',' ','0',' ','0',' ',' ','0')
row_7  = array.from('0','0',' ','0','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ',' ',' ',' ',' ',' ',' ',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ',' ',' ','0',' ','0',' ','0',' ','0',' ',' ','0',' ',' ','0',' ','0','0',' ','0')
row_8  = array.from('0',' ','0',' ','0',' ','0','0','0',' ','0','0','0',' ','0','0','0',' ',' ',' ',' ',' ',' ','0',' ',' ','0','0','0',' ','0','0','0',' ','0',' ','0','0',' ',' ',' ',' ',' ','0','0',' ',' ','0','0','0',' ',' ','0',' ',' ','0',' ','0',' ','0','0')
row_9  = array.from('0',' ',' ',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ',' ',' ',' ',' ',' ','0',' ',' ',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ',' ',' ','0',' ','0',' ','0',' ','0',' ',' ','0',' ',' ','0',' ','0',' ',' ','0')
row_10 = array.from('0',' ',' ',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ',' ',' ',' ',' ',' ','0','0','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ','0',' ',' ',' ',' ','0','0',' ',' ','0',' ','0',' ',' ','0',' ',' ','0',' ','0',' ',' ','0')
// }
// ————————————————————————————————————————————————————————————————————————————— 2. Variable {
var raya = table.new(i_s_Y + '_' + i_s_X, columns = 61, rows = 11, border_width = 1)
// }
// ————————————————————————————————————————————————————————————————————————————— 3. Custom function {
f_cell(_id, int x, int y) =>
    table.cell(raya, x, y, array.get(_id, x), text_size = i_s_font)
    table.cell_set_bgcolor(   raya, x, y, array.get(_id, x) == '0' ? color.new(i_color,   0) : color.new(i_color, 100))
    table.cell_set_text_color(raya, x, y, array.get(_id, x) == ' ' ? color.new(i_color, 100) : color.new(i_color,   0))
// }
// ————————————————————————————————————————————————————————————————————————————— 4. Construct {
if barstate.islast
    for x = 0 to 60
        f_cell(row_0,  x,  0)   
        f_cell(row_1,  x,  1)   
        f_cell(row_2,  x,  2)   
        f_cell(row_3,  x,  3)   
        f_cell(row_4,  x,  4)   
        f_cell(row_5,  x,  5)   
        f_cell(row_6,  x,  6)   
        f_cell(row_7,  x,  7)   
        f_cell(row_8,  x,  8)   
        f_cell(row_9,  x,  9)   
        f_cell(row_10, x, 10)
// }