0% found this document useful (0 votes)
18 views

Key Level

Uploaded by

erbakici
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)
18 views

Key Level

Uploaded by

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

//@version=4

//@mrSebastienC thank you for doing the base code


//Added additional levels for convienience sake.
study("Key Levels SpacemanBTC IDWM", shorttitle = " Key Level", overlay = true)

[daily_time, daily_open] = security(syminfo.tickerid, 'D', [time, open], lookahead


= barmerge.lookahead_on)
[dailyh_time, dailyh_open] = security(syminfo.tickerid, 'D', [time[1], high[1]],
lookahead = barmerge.lookahead_on)
[dailyl_time, dailyl_open] = security(syminfo.tickerid, 'D', [time[1], low[1]],
lookahead = barmerge.lookahead_on)

[weekly_time, weekly_open] = security(syminfo.tickerid, 'W', [time, open],


lookahead = barmerge.lookahead_on)
[weeklyl_time, weeklyh_open] = security(syminfo.tickerid, 'W', [time, high[1]],
lookahead = barmerge.lookahead_on)
[weeklyh_time, weeklyl_open] = security(syminfo.tickerid, 'W', [time, low[1]],
lookahead = barmerge.lookahead_on)

[monthly_time, monthly_open] = security(syminfo.tickerid, 'M', [time, open],


lookahead = barmerge.lookahead_on)

[intra_time, intra_open] = security(syminfo.tickerid, '240', [time, open],


lookahead = barmerge.lookahead_on)
[intrah_time, intrah_open] = security(syminfo.tickerid, '240', [time[1], high[1]],
lookahead = barmerge.lookahead_on)
[intral_time, intral_open] = security(syminfo.tickerid, '240', [time[1], low[1]],
lookahead = barmerge.lookahead_on)
//------------------------------ Inputs -------------------------------

var is_daily_enabled = input(defval = true, title = "Daily Open", type =


input.bool)
var is_dailyh_enabled = input(defval = true, title = "Previous Daily High", type =
input.bool)
var is_dailyl_enabled = input(defval = true, title = "Previous Daily Low", type =
input.bool)
var is_dailym_enabled = input(defval = false, title = "Previous Daily Mid", type =
input.bool)

var is_weekly_enabled = input(defval = true, title = "Weeky Open", type =


input.bool)
var is_weeklyh_enabled = input(defval = true, title = "Weeky High", type =
input.bool)
var is_weeklyl_enabled = input(defval = true, title = "Weeky Low", type =
input.bool)

var is_monthly_enabled = input(defval = true, title = "Monthly Open", type =


input.bool)

var is_intra_enabled = input(defval = true, title = "Previous Intra Open", type =


input.bool)
var is_intrah_enabled = input(defval = false, title = "Previous Intra High", type =
input.bool)
var is_intral_enabled = input(defval = false, title = "Previous Intra Low", type =
input.bool)
var is_intram_enabled = input(defval = false, title = "Previous Intra Mid", type =
input.bool)

var show_tails = input(defval = false, title = "Show Tails", type = input.bool)


var color_input = input(defval = "Gray",
title = "Color",
options = ["Aqua", "Black", "Blue", "Fuchsia", "Gray", "Green", "Lime",
"Maroon", "Navy", "Olive", "Purple", "Red", "Silver", "Teal", "White", "Yellow",
"Custom Orange"],
type = input.string)

//------------------------------ Styling ------------------------------

//------------------------------------------------------
var user_color = color_input == "Aqua" ? color.aqua :
color_input == "Black" ? color.black :
color_input == "Blue" ? color.blue :
color_input == "Fuchsia" ? color.fuchsia :
color_input == "Green" ? color.green :
color_input == "Lime" ? color.lime :
color_input == "Maroon" ? color.maroon :
color_input == "Navy" ? color.navy :
color_input == "Olive" ? color.olive :
color_input == "Purple" ? color.purple :
color_input == "Red" ? color.red :
color_input == "Silver" ? color.silver :
color_input == "Teal" ? color.teal :
color_input == "White" ? color.white :
color_input == "Yellow" ? color.yellow :
color_input == "Custom Orange" ? #ffb347:
#ffb347
//
var DEFAULT_LINE_WIDTH = 1
var DEFAULT_TAIL_WIDTH = 1
var DEFAULT_LINE_COLOR = user_color
var DEFAULT_LABEL_COLOR = user_color
var DEFAULT_TAIL_COLOR = user_color
var DEFAULT_LABEL_SIZE = size.small
var DEFAULT_LABEL_STYLE = label.style_none
var DEFAULT_TAIL_STYLE = line.style_dotted
var DEFAULT_EXTEND_RIGHT = 20

var daily_line_color = color.blue


var daily_line_width = DEFAULT_LINE_WIDTH
var daily_label_color = color.blue
var daily_label_size = DEFAULT_LABEL_SIZE
var daily_label_style = DEFAULT_LABEL_STYLE
var daily_tail_width = DEFAULT_LINE_WIDTH
var daily_tail_color = color.blue
var daily_tail_style = DEFAULT_TAIL_STYLE
var daily_extend_right = DEFAULT_EXTEND_RIGHT

var dailyh_line_color = color.red


var dailyh_line_width = DEFAULT_LINE_WIDTH
var dailyh_label_color = color.red
var dailyh_label_size = DEFAULT_LABEL_SIZE
var dailyh_label_style = DEFAULT_LABEL_STYLE
var dailyh_tail_width = DEFAULT_LINE_WIDTH
var dailyh_tail_color = color.red
var dailyh_tail_style = DEFAULT_TAIL_STYLE
var dailyh_extend_right = DEFAULT_EXTEND_RIGHT
var dailyl_line_color = color.red
var dailyl_line_width = DEFAULT_LINE_WIDTH
var dailyl_label_color = color.red
var dailyl_label_size = DEFAULT_LABEL_SIZE
var dailyl_label_style = DEFAULT_LABEL_STYLE
var dailyl_tail_width = DEFAULT_LINE_WIDTH
var dailyl_tail_color = color.red
var dailyl_tail_style = DEFAULT_TAIL_STYLE
var dailyl_extend_right = DEFAULT_EXTEND_RIGHT

var weekly_line_color = DEFAULT_LINE_COLOR


var weekly_line_width = DEFAULT_LINE_WIDTH
var weekly_label_color = DEFAULT_LABEL_COLOR
var weekly_label_size = DEFAULT_LABEL_SIZE
var weekly_label_style = DEFAULT_LABEL_STYLE
var weekly_tail_width = DEFAULT_LINE_WIDTH
var weekly_tail_color = DEFAULT_TAIL_COLOR
var weekly_tail_style = DEFAULT_TAIL_STYLE
var weekly_extend_right = DEFAULT_EXTEND_RIGHT

var monthly_line_color = DEFAULT_LINE_COLOR


var monthly_line_width = DEFAULT_LINE_WIDTH
var monthly_label_color = DEFAULT_LABEL_COLOR
var monthly_label_size = DEFAULT_LABEL_SIZE
var monthly_label_style = DEFAULT_LABEL_STYLE
var monthly_tail_width = DEFAULT_LINE_WIDTH
var monthly_tail_color = DEFAULT_TAIL_COLOR
var monthly_tail_style = DEFAULT_TAIL_STYLE
var monthly_extend_right = DEFAULT_EXTEND_RIGHT

var intra_line_color = color.lime


var intra_line_width = DEFAULT_LINE_WIDTH
var intra_label_color = color.lime
var intra_label_size = DEFAULT_LABEL_SIZE
var intra_label_style = DEFAULT_LABEL_STYLE
var intra_tail_width = DEFAULT_LINE_WIDTH
var intra_tail_color = color.lime
var intra_tail_style = DEFAULT_TAIL_STYLE
var intra_extend_right = DEFAULT_EXTEND_RIGHT

var intrah_line_color = color.lime


var intrah_line_width = DEFAULT_LINE_WIDTH
var intrah_label_color = color.lime
var intrah_label_size = DEFAULT_LABEL_SIZE
var intrah_label_style = DEFAULT_LABEL_STYLE
var intrah_tail_width = DEFAULT_LINE_WIDTH
var intrah_tail_color = color.lime
var intrah_tail_style = DEFAULT_TAIL_STYLE
var intrah_extend_right = DEFAULT_EXTEND_RIGHT

var intral_line_color = color.lime


var intral_line_width = DEFAULT_LINE_WIDTH
var intral_label_color = color.lime
var intral_label_size = DEFAULT_LABEL_SIZE
var intral_label_style = DEFAULT_LABEL_STYLE
var intral_tail_width = DEFAULT_LINE_WIDTH
var intral_tail_color = color.lime
var intral_tail_style = DEFAULT_TAIL_STYLE
var intral_extend_right = DEFAULT_EXTEND_RIGHT
var intram_extend_right = DEFAULT_EXTEND_RIGHT

//------------------------------ Plotting ------------------------------

var can_show_daily = is_daily_enabled and timeframe.isintraday


var can_show_weekly = is_weekly_enabled and not timeframe.isweekly and not
timeframe.ismonthly
var can_show_monthly = is_monthly_enabled and not timeframe.ismonthly

get_limit_right(bars) =>
timenow + (time - time[1]) * bars

// the following code doesn't need to be processed on every candle


if barstate.islast
is_weekly_open = dayofweek == dayofweek.monday
is_monthly_open = dayofmonth == 1
can_draw_daily = (is_weekly_enabled ? not is_weekly_open : true) and
(is_monthly_enabled ? not is_monthly_open : true)
can_draw_weekly = is_monthly_enabled ? not (is_monthly_open and
is_weekly_open) : true
can_draw_intra = is_intra_enabled
can_draw_intrah = is_intrah_enabled
can_draw_intral = is_intral_enabled
can_draw_intram = is_intram_enabled

//////////////////////////////////////////////////////////////////////////////////
if can_draw_intra
intra_limit_right = get_limit_right(intra_extend_right)

if show_tails
var intra_tail = line.new(x1 = time,
x2 = intra_limit_right,
y1 = intra_open,
y2 = intra_open,
color = intra_tail_color,
style = intra_tail_style,
width = intra_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(intra_tail, time)
line.set_x2(intra_tail, intra_limit_right)
line.set_y1(intra_tail, intra_open)
line.set_y2(intra_tail, intra_open)

var intra_line = line.new(x1 = intra_time,


x2 = intra_limit_right,
y1 = intra_open,
y2 = intra_open,
color = intra_line_color,
width = intra_line_width,
xloc = xloc.bar_time)
var intra_label = label.new(x = intra_limit_right,
y = intra_open,
text = "4H OPEN",
style = intra_label_style,
textcolor = intra_label_color,
size = intra_label_size,
xloc = xloc.bar_time)

line.set_x1(intra_line, intra_time)
line.set_x2(intra_line, intra_limit_right)
line.set_y1(intra_line, intra_open)
line.set_y2(intra_line, intra_open)
label.set_x(intra_label, intra_limit_right)
label.set_y(intra_label, intra_open)

//////////////////////////////////////////////////////////////////////////////////
//HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH HIGH
if can_draw_intrah
intrah_limit_right = get_limit_right(intrah_extend_right)

if show_tails
var intrah_tail = line.new(x1 = time,
x2 = intrah_limit_right,
y1 = intrah_open,
y2 = intrah_open,
color = intrah_tail_color,
style = intrah_tail_style,
width = intrah_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(intrah_tail, time)
line.set_x2(intrah_tail, intrah_limit_right)
line.set_y1(intrah_tail, intrah_open)
line.set_y2(intrah_tail, intrah_open)

var intrah_line = line.new(x1 = intrah_time,


x2 = intrah_limit_right,
y1 = intrah_open,
y2 = intrah_open,
color = intrah_line_color,
width = intrah_line_width,
xloc = xloc.bar_time)
var intrah_label = label.new(x = intrah_limit_right,
y = intrah_open,
text = "Previous 4H HIGH",
style = intrah_label_style,
textcolor = intrah_label_color,
size = intrah_label_size,
xloc = xloc.bar_time)

line.set_x1(intrah_line, intrah_time)
line.set_x2(intrah_line, intrah_limit_right)
line.set_y1(intrah_line, intrah_open)
line.set_y2(intrah_line, intrah_open)
label.set_x(intrah_label, intrah_limit_right)
label.set_y(intrah_label, intrah_open)
//////////////////////////////////////////////////////////////////////////////////
//LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW LOW
if can_draw_intral
intral_limit_right = get_limit_right(intral_extend_right)

if show_tails
var intral_tail = line.new(x1 = time,
x2 = intral_limit_right,
y1 = intral_open,
y2 = intral_open,
color = intral_tail_color,
style = intral_tail_style,
width = intral_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(intral_tail, time)
line.set_x2(intral_tail, intral_limit_right)
line.set_y1(intral_tail, intral_open)
line.set_y2(intral_tail, intral_open)

var intral_line = line.new(x1 = intral_time,


x2 = intral_limit_right,
y1 = intral_open,
y2 = intral_open,
color = intral_line_color,
width = intral_line_width,
xloc = xloc.bar_time)
var intral_label = label.new(x = intral_limit_right,
y = intral_open,
text = "Previous 4H LOW",
style = intral_label_style,
textcolor = intral_label_color,
size = intral_label_size,
xloc = xloc.bar_time)

line.set_x1(intral_line, intral_time)
line.set_x2(intral_line, intral_limit_right)
line.set_y1(intral_line, intral_open)
line.set_y2(intral_line, intral_open)
label.set_x(intral_label, intral_limit_right)
label.set_y(intral_label, intral_open)

///////////////////////////////////////////////////////////////////////////////

if can_draw_intram
intram_limit_right = get_limit_right(intram_extend_right)
intram_time = intrah_time
intram_open = (intral_open + intrah_open ) / 2

var intram_line = line.new(x1 = intram_time,


x2 = intram_limit_right,
y1 = intram_open,
y2 = intram_open,
color = intral_line_color,
width = intral_line_width,
xloc = xloc.bar_time)
var intram_label = label.new(x = intram_limit_right,
y = intram_open,
text = "Previous 4H MID",
style = intral_label_style,
textcolor = intral_label_color,
size = intral_label_size,
xloc = xloc.bar_time)
line.set_x1(intram_line, intram_time)
line.set_x2(intram_line, intram_limit_right)
line.set_y1(intram_line, intram_open)
line.set_y2(intram_line, intram_open)
label.set_x(intram_label, intram_limit_right)
label.set_y(intram_label, intram_open)
//

//////////////////////////////////////////////////////////////////////////////////
////////////////////////DAILY OPEN DAILY OPEN DAILY OPEN DAILY OPEN DAILY OPEN
DAILY OPEN DAILY OPEN

if can_show_daily and can_draw_daily


daily_limit_right = get_limit_right(daily_extend_right)

// draw tails before lines for better visual


if show_tails
var daily_tail = line.new(x1 = time,
x2 = daily_limit_right,
y1 = daily_open,
y2 = daily_open,
color = daily_tail_color,
style = daily_tail_style,
width = daily_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(daily_tail, time)
line.set_x2(daily_tail, daily_limit_right)
line.set_y1(daily_tail, daily_open)
line.set_y2(daily_tail, daily_open)

var daily_line = line.new(x1 = daily_time,


x2 = daily_limit_right,
y1 = daily_open,
y2 = daily_open,
color = daily_line_color,
width = daily_line_width,
xloc = xloc.bar_time)
var daily_label = label.new(x = daily_limit_right,
y = daily_open,
text = "Daily Open",
style = daily_label_style,
textcolor = daily_label_color,
size = daily_label_size,
xloc = xloc.bar_time)

line.set_x1(daily_line, daily_time)
line.set_x2(daily_line, daily_limit_right)
line.set_y1(daily_line, daily_open)
line.set_y2(daily_line, daily_open)
label.set_x(daily_label, daily_limit_right)
label.set_y(daily_label, daily_open)
//////////////////////////////////////////////////////////////////////////////////
//////////////////DAILY HIGH DAILY HIGH DAILY HIGH DAILY HIGH DAILY HIGH DAILY HIGH
DAILY HIGH

if is_dailyh_enabled
dailyh_limit_right = get_limit_right(dailyh_extend_right)

// draw tails before lines for better visual


if show_tails
var dailyh_tail = line.new(x1 = time,
x2 = dailyh_limit_right,
y1 = dailyh_open,
y2 = dailyh_open,
color = dailyh_tail_color,
style = dailyh_tail_style,
width = dailyh_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(dailyh_tail, time)
line.set_x2(dailyh_tail, dailyh_limit_right)
line.set_y1(dailyh_tail, dailyh_open)
line.set_y2(dailyh_tail, dailyh_open)

var dailyh_line = line.new(x1 = dailyh_time,


x2 = dailyh_limit_right,
y1 = dailyh_open,
y2 = dailyh_open,
color = dailyh_line_color,
width = dailyh_line_width,
xloc = xloc.bar_time)
var dailyh_label = label.new(x = dailyh_limit_right,
y = dailyh_open,
text = "Previous Daily High",
style = dailyh_label_style,
textcolor = dailyh_label_color,
size = dailyh_label_size,
xloc = xloc.bar_time)

line.set_x1(dailyh_line, dailyh_time)
line.set_x2(dailyh_line, dailyh_limit_right)
line.set_y1(dailyh_line, dailyh_open)
line.set_y2(dailyh_line, dailyh_open)
label.set_x(dailyh_label, dailyh_limit_right)
label.set_y(dailyh_label, dailyh_open)

//////////////////////////////////////////////////////////////////////////////////
//////////////////DAILY LOW DAILY LOW DAILY LOW DAILY LOW DAILY LOW DAILY LOW DAILY
LOW DAILY LOW

if is_dailyl_enabled
dailyl_limit_right = get_limit_right(dailyl_extend_right)

// draw tails before lines for better visual


if show_tails
var dailyl_tail = line.new(x1 = time,
x2 = dailyl_limit_right,
y1 = dailyl_open,
y2 = dailyl_open,
color = dailyl_tail_color,
style = dailyl_tail_style,
width = dailyl_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(dailyl_tail, time)
line.set_x2(dailyl_tail, dailyl_limit_right)
line.set_y1(dailyl_tail, dailyl_open)
line.set_y2(dailyl_tail, dailyl_open)

var dailyl_line = line.new(x1 = dailyl_time,


x2 = dailyl_limit_right,
y1 = dailyl_open,
y2 = dailyl_open,
color = dailyl_line_color,
width = dailyl_line_width,
xloc = xloc.bar_time)
var dailyl_label = label.new(x = dailyl_limit_right,
y = dailyl_open,
text = "Previous Daily Low",
style = dailyl_label_style,
textcolor = dailyl_label_color,
size = dailyl_label_size,
xloc = xloc.bar_time)

line.set_x1(dailyl_line, dailyl_time)
line.set_x2(dailyl_line, dailyl_limit_right)
line.set_y1(dailyl_line, dailyl_open)
line.set_y2(dailyl_line, dailyl_open)
label.set_x(dailyl_label, dailyl_limit_right)
label.set_y(dailyl_label, dailyl_open)

////////////////////////////////////////////////////////////////////////////////

if is_dailym_enabled
dailym_limit_right = get_limit_right(DEFAULT_EXTEND_RIGHT)
dailym_time = dailyh_time
dailym_open = (dailyl_open + dailyh_open ) / 2

var dailym_line = line.new(x1 = dailym_time,


x2 = dailym_limit_right,
y1 = dailym_open,
y2 = dailym_open,
color = dailyl_line_color,
width = dailyl_line_width,
xloc = xloc.bar_time)
var dailym_label = label.new(x = dailym_limit_right,
y = dailym_open,
text = "Previous Day MID",
style = dailyl_label_style,
textcolor = dailyl_label_color,
size = dailyl_label_size,
xloc = xloc.bar_time)
line.set_x1(dailym_line, dailym_time)
line.set_x2(dailym_line, dailym_limit_right)
line.set_y1(dailym_line, dailym_open)
line.set_y2(dailym_line, dailym_open)
label.set_x(dailym_label, dailym_limit_right)
label.set_y(dailym_label, dailym_open)
//

//////////////////////////////////////////////////////////////////////////////////

if can_show_weekly and can_draw_weekly


weekly_limit_right = get_limit_right(weekly_extend_right)

if show_tails
var weekly_tail = line.new(x1 = time,
x2 = weekly_limit_right,
y1 = weekly_open,
y2 = weekly_open,
color = weekly_tail_color,
style = weekly_tail_style,
width = weekly_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(weekly_tail, time)
line.set_x2(weekly_tail, weekly_limit_right)
line.set_y1(weekly_tail, weekly_open)
line.set_y2(weekly_tail, weekly_open)

var weekly_line = line.new(x1 = weekly_time,


x2 = weekly_limit_right,
y1 = weekly_open,
y2 = weekly_open,
color = weekly_line_color,
width = weekly_line_width,
xloc = xloc.bar_time)
var weekly_label = label.new(x = weekly_limit_right,
y = weekly_open,
text = "Weekly Open",
style = weekly_label_style,
textcolor = weekly_label_color,
size = monthly_label_size,
xloc = xloc.bar_time)

line.set_x1(weekly_line, weekly_time)
line.set_x2(weekly_line, weekly_limit_right)
line.set_y1(weekly_line, weekly_open)
line.set_y2(weekly_line, weekly_open)
label.set_x(weekly_label, weekly_limit_right)
label.set_y(weekly_label, weekly_open)

// the weekly open can be the daily open too (monday)


// only the weekly will be draw, in these case we update its label
if is_weekly_open and can_show_daily
label.set_text(weekly_label, "DO / WO ")

//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
WEEKLY HIGH WEEKLY HIGH WEEKLY HIGH
if is_weeklyh_enabled
weeklyh_limit_right = get_limit_right(DEFAULT_EXTEND_RIGHT)

if show_tails
var weeklyh_tail = line.new(x1 = time,
x2 = weeklyh_limit_right,
y1 = weeklyh_open,
y2 = weeklyh_open,
color = weekly_tail_color,
style = weekly_tail_style,
width = weekly_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(weeklyh_tail, time)
line.set_x2(weeklyh_tail, weeklyh_limit_right)
line.set_y1(weeklyh_tail, weeklyh_open)
line.set_y2(weeklyh_tail, weeklyh_open)

var weeklyh_line = line.new(x1 = weeklyh_time,


x2 = weeklyh_limit_right,
y1 = weeklyh_open,
y2 = weeklyh_open,
color = weekly_line_color,
width = weekly_line_width,
xloc = xloc.bar_time)
var weeklyh_label = label.new(x = weeklyh_limit_right,
y = weeklyh_open,
text = "Weekly High",
style = weekly_label_style,
textcolor = weekly_label_color,
size = weekly_label_size,
xloc = xloc.bar_time)

line.set_x1(weeklyh_line, weeklyh_time)
line.set_x2(weeklyh_line, weeklyh_limit_right)
line.set_y1(weeklyh_line, weeklyh_open)
line.set_y2(weeklyh_line, weeklyh_open)
label.set_x(weeklyh_label, weeklyh_limit_right)
label.set_y(weeklyh_label, weeklyh_open)

//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
WEEKLY LOW WEEKLY LOW WEEKLY LOW

if is_weeklyl_enabled
weeklyl_limit_right = get_limit_right(DEFAULT_EXTEND_RIGHT)

if show_tails
var weeklyl_tail = line.new(x1 = time,
x2 = weeklyl_limit_right,
y1 = weeklyl_open,
y2 = weeklyl_open,
color = weekly_tail_color,
style = weekly_tail_style,
width = weekly_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(weeklyl_tail, time)
line.set_x2(weeklyl_tail, weeklyl_limit_right)
line.set_y1(weeklyl_tail, weeklyl_open)
line.set_y2(weeklyl_tail, weeklyl_open)

var weeklyl_line = line.new(x1 = weekly_time,


x2 = weeklyl_limit_right,
y1 = weekly_open,
y2 = weekly_open,
color = weekly_line_color,
width = weekly_line_width,
xloc = xloc.bar_time)
var weeklyl_label = label.new(x = weeklyl_limit_right,
y = weeklyl_open,
text = "Weekly Low",
style = weekly_label_style,
textcolor = weekly_label_color,
size = weekly_label_size,
xloc = xloc.bar_time)

line.set_x1(weeklyl_line, weeklyl_time)
line.set_x2(weeklyl_line, weeklyl_limit_right)
line.set_y1(weeklyl_line, weeklyl_open)
line.set_y2(weeklyl_line, weeklyl_open)
label.set_x(weeklyl_label, weeklyl_limit_right)
label.set_y(weeklyl_label, weeklyl_open)

// the weekly open can be the daily open too (monday)


// only the weekly will be draw, in these case we update its label

//////////////////////////////////////////////////////////////////////////////////

if can_show_monthly
monthly_limit_right = get_limit_right(monthly_extend_right)

if show_tails
var monthly_tail = line.new(x1 = time,
x2 = monthly_limit_right,
y1 = monthly_open,
y2 = monthly_open,
color = monthly_tail_color,
style = monthly_tail_style,
width = monthly_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(monthly_tail, time)
line.set_x2(monthly_tail, monthly_limit_right)
line.set_y1(monthly_tail, monthly_open)
line.set_y2(monthly_tail, monthly_open)

var monthlyLine = line.new(x1 = monthly_time,


x2 = monthly_limit_right,
y1 = monthly_open,
y2 = monthly_open,
color = monthly_line_color,
width = monthly_line_width,
xloc = xloc.bar_time)
var monthlyLabel = label.new(x = monthly_limit_right,
y = monthly_open, text = "MO ",
style = monthly_label_style,
textcolor = monthly_label_color,
size = monthly_label_size,
xloc = xloc.bar_time)

line.set_x1(monthlyLine, monthly_time)
line.set_x2(monthlyLine, monthly_limit_right)
line.set_y1(monthlyLine, monthly_open)
line.set_y2(monthlyLine, monthly_open)
label.set_x(monthlyLabel, monthly_limit_right)
label.set_y(monthlyLabel, monthly_open)

// the monthly open can be the weekly open (monday 1st) and/or daily open
too
// only the monthly will be draw, in these case we update its label
if is_monthly_open
if can_show_daily
label.set_text(monthlyLabel, "DO / MO ")
if is_weekly_open
if can_show_weekly
label.set_text(monthlyLabel, "WO / MO ")
if can_show_daily and can_show_weekly
label.set_text(monthlyLabel, "DO / WO / MO ")

// the start of the line is drew from the first week of the month
// if the first day of the weekly candle (monday) is the 2nd of the month
// we fix the start of the line position on the previous weekly candle
if timeframe.isweekly and dayofweek(monthly_time) != dayofweek.monday
line.set_x1(monthlyLine, monthly_time - (weekly_time - weekly_time[1]))

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy