0% found this document useful (0 votes)
43 views14 pages

Macro

This document contains a Pine Script code for a trading indicator named 'Macro Trading (1/2) @TorioTrades'. It includes various functionalities such as displaying macro events on a chart, controlling the visibility of these events based on user inputs, and managing memory for lines and labels. The script is designed to work with specific time intervals and allows customization of visual elements like colors and labels.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views14 pages

Macro

This document contains a Pine Script code for a trading indicator named 'Macro Trading (1/2) @TorioTrades'. It includes various functionalities such as displaying macro events on a chart, controlling the visibility of these events based on user inputs, and managing memory for lines and labels. The script is designed to work with specific time intervals and allows customization of visual elements like colors and labels.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 14

// This source code is subject to the terms of the Mozilla Public License 2.

0 at
https://mozilla.org/MPL/2.0/
// @ ONESAURAVV
// @ TorioTrades

//@version=5
indicator("Macro Trading (1/2) @TorioTrades", "Macro Trading (1/2) @TorioTrades",
true, max_labels_count = 500, max_lines_count = 500, max_boxes_count = 500)

//#region[GLOBAL]
var line[] EXT = array.new_line()
var label[] LBL = array.new_label()
oneDayMS = 86400000
oneBarMS = time_close - time
noColor = color.new(#000000, 100)
one = ta.highest(timeframe.in_seconds("61") /
timeframe.in_seconds(timeframe.period)) + syminfo.mintick * 10
y_btm_Line1 = one
y_top_Line1 = one + syminfo.mintick * 2400
//#endregion

//#region[INPUTS]
_macroC = input.color(color.new(#000000, 0), title="Macro Color", inline='main')
showOnlyToday = input.bool(true, "Only Show Today's Data", inline = "pd",
tooltip="When enabled, only display macros for today's data (after the daily candle
open until its close).")
_mode = input.string("On Chart", title="", inline='pd', options=["On Chart", "New
Pane"])
_extt = input.bool(false, title="", inline='pd')

_showL = input.bool(true, title="Macro Label?", inline='main')


_mTxt = input.bool(true, title="Show Time?", inline='main')
_bgm = input.color(color.new(#000000, 100), title="", inline='pd',
tooltip='Visible only in "New Pane" mode.')

// New option: only show today's data (from candle open till candle close)

// Compute if the current bar is from today


isToday = (year(time) == year(timenow)) and (month(time) == month(timenow)) and
(dayofmonth(time) == dayofmonth(timenow))
//#endregion

//#region[FUNCTIONS]
time_isMacro(int H_start, int M_start, int H_end, int M_end) =>
h = hour(time, "America/New_York")
m = minute(time, "America/New_York")
h == H_start ? (H_start != H_end ? m >= M_start : m >= M_start and m < M_end) :
(h > H_start ? (h == H_end ? m < M_end : h < H_end) : false)

_controlMacroLine(line[] _lines, label[] _lbl, bool _time) =>


if _time
_lbl.last().set_x(math.round(math.avg(_lines.get(_lines.size()-2).get_x1(),
time)))
if high > _lines.last().get_y2() - syminfo.mintick * 10
_lines.get(_lines.size()-2).set_y2(high + (syminfo.mintick * 10))
_lines.last().set_y1(high + (syminfo.mintick * 10))
_lines.last().set_y2(high + (syminfo.mintick * 10))
LBL.last().set_y(high + (syminfo.mintick * 10))
if na or _lines.last().get_x2() == time
_lines.last().set_x2(time + oneBarMS)

_controlMacroBox(box[] _boxes, bool _time, bool _friday) =>


dly = _friday ? oneDayMS * 3 : oneDayMS
if na or _time
_boxes.last().set_right(time + dly)

method memoryCleanLine(line[] A) =>


if A.size() > 300
for i = 0 to 3
A.shift().delete()

method memoryCleanLabel(label[] A) =>


if A.size() > 100
A.shift().delete()

macroOC(line[] LINES, bool _time, string _kzTime, bool _friday) =>


// Only draw if not showing exclusively today's data or if the bar is today
if showOnlyToday and not isToday
na
else
dly = _friday ? oneDayMS * 3 : oneDayMS
_txt = _mTxt?"MACRO"+"\n"+_kzTime:"MACRO"
_tt = "MACRO\n"+_kzTime

// Overlay False
if not _time[1] and _time
_vline1 = line.new(time, y_btm_Line1, time, y_top_Line1,
xloc=xloc.bar_time, color=_bgm, style=line.style_dotted)
LINES.push(_vline1)
_hline = line.new(time, y_top_Line1, time + oneBarMS, y_top_Line1,
xloc=xloc.bar_time, color=_macroC)
LINES.push(_hline)
if _extt
EXT.push(line.new(time, high, time, _vline1.get_y2(),
xloc=xloc.bar_time, color=_macroC, style=line.style_solid))

if _mode == "On Chart"


LBL.push(label.new(time, LINES.get(LINES.size()-2).get_y2(), _showL
? _txt : "", tooltip=_tt, xloc=xloc.bar_time, style=label.style_label_down,
color=noColor, textcolor=_macroC, size=size.small))

if _time[1] and not _time and LINES.size() > 0 and LBL.size() > 0
_vline2 = line.new(time, y_btm_Line1, time, y_top_Line1,
xloc=xloc.bar_time, color=_bgm, style=line.style_dotted)
LBL.last().set_x(math.round(math.avg(LINES.get(LINES.size()-
2).get_x1(), time)))
if y_top_Line1 > LINES.get(LINES.size()-2).get_y2()
LINES.get(LINES.size()-2).set_y2(y_top_Line1)
LINES.last().set_y1(y_top_Line1)
LINES.last().set_y2(y_top_Line1)
LBL.last().set_y(y_top_Line1)
else if y_top_Line1 < LINES.get(LINES.size()-2).get_y2()
_vline2.set_y2(LINES.get(LINES.size()-2).get_y2())
if _extt
EXT.push(line.new(time, high, time, _vline2.get_y2(),
xloc=xloc.bar_time, color=_macroC, style=line.style_solid))

LINES.push(_vline2)

if LINES.size() > 0 and LBL.size() > 0


_controlMacroLine(LINES, LBL, _time)

macroNP(box[] BOXES, bool _time, string _kzTime, bool _friday) =>


// Only draw if not showing exclusively today's data or if the bar is today
if showOnlyToday and not isToday
na
else
dly = _friday ? oneDayMS * 3 : oneDayMS
_col = _bgm
_tt = "MACRO\n" + _kzTime
end = not _time and _time[1]

// Overlay False
var _plotNP = false
if not _time[1] and _time
_macro = box.new(time + dly, 2, time + dly, 0, _macroC,
xloc=xloc.bar_time, bgcolor=_col)
BOXES.push(_macro)
_plotNP := true

if _time[1] and not _time and BOXES.size() > 0


_controlMacroBox(BOXES, true, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
_plotNP := false
macroL = label.new(math.round(math.avg(BOXES.last().get_left(),
BOXES.last().get_right())), 1, xloc=xloc.bar_time, style=label.style_label_center,
color=noColor, tooltip=_tt, text='ⓘ\n\n\n\n\n\n', textcolor=_macroC,
size=size.small)

if _time and _plotNP


_controlMacroBox(BOXES, _time, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
//#endregion

//#region[LOGIC]
show1 = input.bool(true, title="08:20 - 08:40", inline = "AM1", group="AM
Macro's . . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES1 = array.new_line()
var box[] _BOXES1 = array.new_box()
time1 = time_isMacro(8, 20, 8, 40)
lbl1 = "08:20 - 08:40"

show8 = input.bool(true, title="08:50 - 09:10", inline = "AM2", group="AM


Macro's . . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES8 = array.new_line()
var box[] _BOXES8 = array.new_box()
time8 = time_isMacro(8, 50, 9, 10)
lbl8 = "08:50 - 09:10"

show2 = input.bool(true, title="09:20 - 09:40", inline = "AM3", group="AM


Macro's . . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES2 = array.new_line()
var box[] _BOXES2 = array.new_box()
time2 = time_isMacro(9, 20, 9, 40)
lbl2 = "09:20 - 09:40"

show9 = input.bool(true, title="09:50 - 10:10", inline = "AM4", group="AM


Macro's . . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES9 = array.new_line()
var box[] _BOXES9 = array.new_box()
time9 = time_isMacro(9, 50, 10, 10)
lbl9 = "09:50 - 10:10"

show3 = input.bool(true, title="10:20 - 10:40", inline = "AM5", group="AM


Macro's . . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES3 = array.new_line()
var box[] _BOXES3 = array.new_box()
time3 = time_isMacro(10, 20, 10, 40)
lbl3 = "10:20 - 10:40"

show10 = input.bool(true, title="10:50 - 11:10", inline = "AM6", group="AM


Macro's . . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES10 = array.new_line()
var box[] _BOXES10 = array.new_box()
time10 = time_isMacro(10, 50, 11, 10)
lbl10 = "10:50 - 11:10"

show4 = input.bool(true, title="11:20 - 11:40", inline = "AM7", group="AM


Macro's . . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES4 = array.new_line()
var box[] _BOXES4 = array.new_box()
time4 = time_isMacro(11, 20, 11, 40)
lbl4 = "11:20 - 11:40"

show19 = input.bool(false, title="11:50 - 12:10", inline = "AM8", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES19 = array.new_line()
var box[] _BOXES19 = array.new_box()
time19 = time_isMacro(11, 50, 12, 10)
lbl19 = "11:50 - 12:10"

show17 = input.bool(false, title="12:20 - 12:40", inline = "AM1", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES17 = array.new_line()
var box[] _BOXES17 = array.new_box()
time17 = time_isMacro(12, 20, 12, 40)
lbl17 = "12:20 - 12:40"

show12 = input.bool(false, title="12:50 - 13:10", inline = "AM2", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES12 = array.new_line()
var box[] _BOXES12 = array.new_box()
time12 = time_isMacro(12, 50, 13, 10)
lbl12 = "12:50 - 13:10"

show5 = input.bool(false, title="13:20 - 13:40", inline = "AM3", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES5 = array.new_line()
var box[] _BOXES5 = array.new_box()
time5 = time_isMacro(13, 20, 13, 40)
lbl5 = "13:20 - 13:40"
show13 = input.bool(false, title="13:50 - 14:10", inline = "AM4", group="AM Macro's
. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES13 = array.new_line()
var box[] _BOXES13 = array.new_box()
time13 = time_isMacro(13, 50, 14, 10)
lbl13 = "13:50 - 14:10"

show6 = input.bool(false, title="14:20 - 14:40", inline = "AM5", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES6 = array.new_line()
var box[] _BOXES6 = array.new_box()
time6 = time_isMacro(14, 20, 14, 40)
lbl6 = "14:20 - 14:40"

show14 = input.bool(false, title="14:50 - 15:10", inline = "AM6", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES14 = array.new_line()
var box[] _BOXES14 = array.new_box()
time14 = time_isMacro(14, 50, 15, 10)
lbl14 = "14:50 - 15:10"

show7 = input.bool(false, title="15:20 - 15:40", inline = "AM7", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES7 = array.new_line()
var box[] _BOXES7 = array.new_box()
time7 = time_isMacro(15, 20, 15, 40)
lbl7 = "15:20 - 15:40"

show18 = input.bool(false, title="15:50 - 16:10", inline = "AM8", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES18 = array.new_line()
var box[] _BOXES18 = array.new_box()
time18 = time_isMacro(15, 50, 16, 10)
lbl18 = "15:50 - 16:10"

show27 = input.bool(false, title="02:20 - 02:40", inline = "AM1", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES27 = array.new_line()
var box[] _BOXES27 = array.new_box()
time27 = time_isMacro(02, 20, 02, 40)
lbl27 = "02:20 - 02:40"

show20 = input.bool(false, title="02:50 - 03:10", inline = "AM2", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES20 = array.new_line()
var box[] _BOXES20 = array.new_box()
time20 = time_isMacro(02, 50, 03, 10)
lbl20 = "02:50 - 03:10"

show21 = input.bool(false, title="03:20 - 03:40", inline = "AM3", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES21 = array.new_line()
var box[] _BOXES21 = array.new_box()
time21 = time_isMacro(03, 20, 03, 40)
lbl21 = "03:20 - 03:40"

show22 = input.bool(false, title="03:50 - 04:10", inline = "AM4", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES22 = array.new_line()
var box[] _BOXES22 = array.new_box()
time22 = time_isMacro(03, 50, 04, 10)
lbl22 = "03:50 - 04:10"

show23 = input.bool(false, title="04:20 - 04:40", inline = "AM5", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES23 = array.new_line()
var box[] _BOXES23 = array.new_box()
time23 = time_isMacro(04, 20, 04, 40)
lbl23 = "04:20 - 04:40"

show24 = input.bool(false, title="04:50 - 05:10", inline = "AM6", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES24 = array.new_line()
var box[] _BOXES24 = array.new_box()
time24 = time_isMacro(04, 50, 05, 10)
lbl24 = "04:50 - 05:10"

show25 = input.bool(false, title="05:20 - 05:40", inline = "AM7", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES25 = array.new_line()
var box[] _BOXES25 = array.new_box()
time25 = time_isMacro(05, 20, 05, 40)
lbl25 = "05:20 - 05:40"

show26 = input.bool(false, title="05:50 - 06:10", inline = "AM8", group="AM Macro's


. . . . . . . . PM Macro's . . . . . . . . London Macro's")
var line[] _LINES26 = array.new_line()
var box[] _BOXES26 = array.new_box()
time26 = time_isMacro(05, 50, 06, 10)
lbl26 = "05:50 - 06:10"
//#endregion

// ---------------------------------------- Constant Functions


--------------------------------------------------
get_line_type(_style) =>
result = switch _style
'Solid' => line.style_solid
'Dotted' => line.style_dotted
'Dashed' => line.style_dashed
result

get_size(x) =>
result = switch x
'Auto' => size.auto
'Tiny' => size.tiny
'Small' => size.small
'Normal' => size.normal
'Large' => size.large
'Huge' => size.huge

get_table_pos(pos) =>
result = switch pos
"Bottom Center" => position.bottom_center
"Bottom Left" => position.bottom_left
"Bottom Right" => position.bottom_right
"Middle Center" => position.middle_center
"Middle Left" => position.middle_left
"Middle Right" => position.middle_right
"Top Center" => position.top_center
"Top Left" => position.top_left
"Top Right" => position.top_right
// ---------------------------------------- Constant Functions
--------------------------------------------------

// ---------------------------------------- Inputs
--------------------------------------------------
var g_SETTINGS = "SETTINGS" // Still used if you group other inputs elsewhere

// Hardcoded settings
max_days = 1 // Limit to 1 session of drawings
tf_limit = "60" // Drawings hidden on timeframes >= 60
minutes
lbl_size = get_size('Normal') // Fixed label size as 'Normal'
txt_color = color.new(#2a2e39, 0) // Fixed label/table text color

//TimeZone
gmt_tz = 'America/New_York' // Fixed timezone
timezone_tooltip = "Note: GMT is not adjusted to reflect Daylight Saving Time
changes"
use_cutoff = false
cutoff_tooltip = "When enabled, all pivots and open price lines will stop extending
at this time"
cutoff = "1800-1801"
var g_LABELS = "Killzone Pivots"

// Pivot Settings
show_pivots = false // Always hide pivots
use_alerts = false // Alerts for broken pivots disabled
show_midpoints = false // Always hide pivot midpoints
show_labels = false // Always hide pivot labels
label_price = false // Price labels are not displayed
label_right = false // Labels not displayed on the right-hand side
ext_pivots = "Until Mitigated" // Pivots extend until mitigated
ext_which = "Most Recent" // Pivots extend from the most recent sessions

// Hardcoded Pivot and Midpoint Style Settings


kzp_style = get_line_type('Solid') // Pivot Style (options: Solid, Dotted,
Dashed)
kzp_width = 1 // Pivot Line Width

kzm_style = get_line_type('Dotted') // Midpoint Style (options: Solid, Dotted,


Dashed)
kzm_width = 1 // Midpoint Line Width

// Hardcoded Killzone Range Settings


show_range = false // Killzone range visibility
show_range_avg = false // Killzone average range visibility
range_avg = 5 // Number of sessions used to calculate the average
range_pos = get_table_pos('Top Right') // Table position
range_size = get_size('Normal') // Table size
// Hardcoded Day of Week Labels Settings
dow_labels = false // Day of Week labels visibility
dow_yloc = 'Bottom' // Day of Week label vertical location (Top or
Bottom)
dow_xloc = 'Midnight' // Day of Week label horizontal location (Midnight
or Midday)
dow_hide_wknd = true // Hide weekend labels

// Hardcoded Session & Alerts Settings


sep_unlimited = false // Unlimited session lines visibility
alert_HL = false // High/Low break alert visibility

// Hardcoded Month-related Settings


show_m_open = false // Show M Open visibility
mhl = false // High/Low visibility for month-related
ms = false // Separators visibility (Mark new month)
m_color = #3e3f43 // Month-related color

// ---------------------------------------- Inputs
--------------------------------------------------

// ---------------------------------------- Variables & Constants


--------------------------------------------------
type kz
string _title

box[] _box

line[] _hi_line
line[] _md_line
line[] _lo_line

label[] _hi_label
label[] _lo_label

bool[] _hi_valid
bool[] _md_valid
bool[] _lo_valid

float[] _range_store
float _range_current

type hz
line[] LN
label[] LB
bool[] CO

type dwm_hl
line[] hi_line
line[] lo_line
label[] hi_label
label[] lo_label
bool hit_high = false
bool hit_low = false

type dwm_info
string tf
float o = na
float h = na
float l = na
float ph = na
float pl = na

var transparent = #ffffff00


var ext_current = ext_which == 'Most Recent'
var ext_past = ext_pivots == 'Past Mitigation'

del_kz(kz k) =>
if k._box.size() > max_days
k._box.pop().delete()
if k._hi_line.size() > max_days
k._hi_line.pop().delete()
k._lo_line.pop().delete()
k._hi_valid.pop()
k._lo_valid.pop()
if show_midpoints
k._md_line.pop().delete()
k._md_valid.pop()
if k._hi_label.size() > max_days
k._hi_label.pop().delete()
k._lo_label.pop().delete()

update_price_string(label L, float P) =>


S = L.get_text()
pre = str.substring(S, 0, str.pos(S, " "))
str.trim(pre)
L.set_text(str.format("{0} ({1})", pre, P))

adjust_in_kz(kz kz, bool t) =>


if t
kz._box.get(0).set_right(time)
kz._box.get(0).set_top(math.max(kz._box.get(0).get_top(), high))
kz._box.get(0).set_bottom(math.min(kz._box.get(0).get_bottom(), low))

kz._range_current := kz._box.get(0).get_top() - kz._box.get(0).get_bottom()

if show_pivots and kz._hi_line.size() > 0


if high > kz._hi_line.get(0).get_y1()
kz._hi_line.get(0).set_xy1(time, high)
kz._hi_line.get(0).set_xy2(time, high)

if low < kz._lo_line.get(0).get_y1()


kz._lo_line.get(0).set_xy1(time, low)
kz._lo_line.get(0).set_xy2(time, low)

if show_midpoints
kz._md_line.get(0).set_xy1(time,
math.avg(kz._hi_line.get(0).get_y2(), kz._lo_line.get(0).get_y2()))
kz._md_line.get(0).set_xy2(time,
math.avg(kz._hi_line.get(0).get_y2(), kz._lo_line.get(0).get_y2()))

if show_labels and kz._hi_label.size() > 0


if label_right
kz._hi_label.get(0).set_x(time)
kz._lo_label.get(0).set_x(time)
if high > kz._hi_label.get(0).get_y()
kz._hi_label.get(0).set_xy(time, high)
if label_price
update_price_string(kz._hi_label.get(0), high)
if low < kz._lo_label.get(0).get_y()
kz._lo_label.get(0).set_xy(time, low)
if label_price
update_price_string(kz._lo_label.get(0), low)

new_dow_time = dow_xloc == 'Midday' ? time - timeframe.in_seconds("D") / 2 * 1000 :


time
new_day = dayofweek(new_dow_time, gmt_tz) != dayofweek(new_dow_time, gmt_tz)[1]

var dow_top = dow_yloc == 'Top'

var saturday = "SATURDAY"


var sunday = "SUNDAY"
var monday = "MONDAY"
var tuesday = "TUESDAY"
var wednesday = "WEDNESDAY"
var thursday = "THURSDAY"
var friday = "FRIDAY"

plotchar(dow_labels and timeframe.isintraday and dayofweek(new_dow_time, gmt_tz) ==


1 and new_day and not dow_hide_wknd, location = dow_top ? location.top :
location.bottom, char = "", textcolor = txt_color, text = sunday)
plotchar(dow_labels and timeframe.isintraday and dayofweek(new_dow_time, gmt_tz) ==
2 and new_day, location = dow_top ? location.top : location.bottom, char = "",
textcolor = txt_color, text = monday)
plotchar(dow_labels and timeframe.isintraday and dayofweek(new_dow_time, gmt_tz) ==
3 and new_day, location = dow_top ? location.top : location.bottom, char = "",
textcolor = txt_color, text = tuesday)
plotchar(dow_labels and timeframe.isintraday and dayofweek(new_dow_time, gmt_tz) ==
4 and new_day, location = dow_top ? location.top : location.bottom, char = "",
textcolor = txt_color, text = wednesday)
plotchar(dow_labels and timeframe.isintraday and dayofweek(new_dow_time, gmt_tz) ==
5 and new_day, location = dow_top ? location.top : location.bottom, char = "",
textcolor = txt_color, text = thursday)
plotchar(dow_labels and timeframe.isintraday and dayofweek(new_dow_time, gmt_tz) ==
6 and new_day, location = dow_top ? location.top : location.bottom, char = "",
textcolor = txt_color, text = friday)
plotchar(dow_labels and timeframe.isintraday and dayofweek(new_dow_time, gmt_tz) ==
7 and new_day and not dow_hide_wknd, location = dow_top ? location.top :
location.bottom, char = "", textcolor = txt_color, text = saturday)

//#region[PLOT]
if _mode == "On Chart"
if not showOnlyToday or isToday
if show1
macroOC(_LINES1, time1, lbl1, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show2
macroOC(_LINES2, time2, lbl2, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show3
macroOC(_LINES3, time3, lbl3, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show4
macroOC(_LINES4, time4, lbl4, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show5
macroOC(_LINES5, time5, lbl5, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show6
macroOC(_LINES6, time6, lbl6, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show7
macroOC(_LINES7, time7, lbl7, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show8
macroOC(_LINES8, time8, lbl8, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show9
macroOC(_LINES9, time9, lbl9, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show10
macroOC(_LINES10, time10, lbl10, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show12
macroOC(_LINES12, time12, lbl12, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show13
macroOC(_LINES13, time13, lbl13, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show14
macroOC(_LINES14, time14, lbl14, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show17
macroOC(_LINES17, time17, lbl17, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show18
macroOC(_LINES18, time18, lbl18, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show19
macroOC(_LINES19, time19, lbl19, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show20
macroOC(_LINES20, time20, lbl20, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show21
macroOC(_LINES21, time21, lbl21, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show22
macroOC(_LINES22, time22, lbl22, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show23
macroOC(_LINES23, time23, lbl23, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show24
macroOC(_LINES24, time24, lbl24, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show24
macroOC(_LINES25, time25, lbl25, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show26
macroOC(_LINES26, time26, lbl26, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show27
macroOC(_LINES27, time27, lbl27, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')

else
if not showOnlyToday or isToday
if show1
macroNP(_BOXES1, time1, lbl1, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show2
macroNP(_BOXES2, time2, lbl2, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show3
macroNP(_BOXES3, time3, lbl3, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show4
macroNP(_BOXES4, time4, lbl4, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show5
macroNP(_BOXES5, time5, lbl5, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show6
macroNP(_BOXES6, time6, lbl6, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show7
macroNP(_BOXES7, time7, lbl7, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show8
macroNP(_BOXES8, time8, lbl8, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show9
macroNP(_BOXES9, time9, lbl9, dayofweek(time) == dayofweek.friday and
syminfo.type != 'crypto')
if show10
macroNP(_BOXES10, time10, lbl10, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show12
macroNP(_BOXES12, time12, lbl12, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show13
macroNP(_BOXES13, time13, lbl13, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show14
macroNP(_BOXES14, time14, lbl14, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show17
macroNP(_BOXES17, time17, lbl17, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show18
macroNP(_BOXES18, time18, lbl18, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show19
macroNP(_BOXES19, time19, lbl19, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show20
macroOC(_LINES20, time20, lbl20, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show21
macroOC(_LINES21, time21, lbl21, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show22
macroOC(_LINES22, time22, lbl22, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show23
macroOC(_LINES23, time23, lbl23, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show24
macroOC(_LINES24, time24, lbl24, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show24
macroOC(_LINES25, time25, lbl25, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show26
macroOC(_LINES26, time26, lbl26, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
if show27
macroOC(_LINES27, time27, lbl27, dayofweek(time) == dayofweek.friday
and syminfo.type != 'crypto')
//#endregion

//#region[MEMORY CLEAN UP]


if show1
_LINES1.memoryCleanLine()
if show2
_LINES2.memoryCleanLine()
if show3
_LINES3.memoryCleanLine()
if show4
_LINES4.memoryCleanLine()
if show5
_LINES5.memoryCleanLine()
if show6
_LINES6.memoryCleanLine()
if show7
_LINES7.memoryCleanLine()
if show8
_LINES8.memoryCleanLine()
if show9
_LINES9.memoryCleanLine()
if show10
_LINES10.memoryCleanLine()
if show12
_LINES12.memoryCleanLine()
if show13
_LINES13.memoryCleanLine()
if show14
_LINES14.memoryCleanLine()
if show17
_LINES17.memoryCleanLine()
if show18
_LINES18.memoryCleanLine()
if show19
_LINES19.memoryCleanLine()
if show20
_LINES20.memoryCleanLine()
if show21
_LINES21.memoryCleanLine()
if show22
_LINES22.memoryCleanLine()
if show23
_LINES23.memoryCleanLine()
if show24
_LINES24.memoryCleanLine()
if show25
_LINES25.memoryCleanLine()
if show26
_LINES26.memoryCleanLine()
if show27
_LINES27.memoryCleanLine()

EXT.memoryCleanLine()
LBL.memoryCleanLabel()
//#endregion

You might also like