// 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