Professional Documents
Culture Documents
Key Levels With Prices
Key Levels With Prices
transpa = color.new(color.white,80)
transpa2 = color.new(color.white,20)
//------------------------------------------------------
// 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 = 80
get_limit_right(bars) =>
timenow + (time - time[1]) * bars
//////////////////////////////////////////////////////////////////////////////////
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)
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)
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)
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
//////////////////////////////////////////////////////////////////////////////////
////////////////////////DAILY OPEN DAILY OPEN DAILY OPEN DAILY OPEN DAILY OPEN
DAILY OPEN DAILY OPEN
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)
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)
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
//////////////////////////////////////////////////////////////////////////////////
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)
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)
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
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)
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)
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)
//////////////////////////////////////////////////////////////////////////////////
Monthly LOW LOW LOW
if is_monthlyl_enabled
monthlyl_limit_right = get_limit_right(DEFAULT_EXTEND_RIGHT)
if show_tails
var monthlyl_tail = line.new(x1 = time,
x2 = monthlyl_limit_right,
y1 = monthlyl_open,
y2 = monthlyl_open,
color = monthly_tail_color,
style = monthly_tail_style,
width = monthly_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(monthlyl_tail, time)
line.set_x2(monthlyl_tail, monthlyl_limit_right)
line.set_y1(monthlyl_tail, monthlyl_open)
line.set_y2(monthlyl_tail, monthlyl_open)
line.set_x1(monthlyl_line, monthlyl_time)
line.set_x2(monthlyl_line, monthlyl_limit_right)
line.set_y1(monthlyl_line, monthlyl_open)
line.set_y2(monthlyl_line, monthlyl_open)
label.set_x(monthlyl_label, monthlyl_limit_right)
label.set_y(monthlyl_label, monthlyl_open)
//////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////
MONTHLY HIGH HIGH HIGH
if is_monthlyh_enabled
monthlyh_limit_right = get_limit_right(DEFAULT_EXTEND_RIGHT)
if show_tails
var monthlyh_tail = line.new(x1 = time,
x2 = monthlyh_limit_right,
y1 = monthlyh_open,
y2 = monthlyh_open,
color = monthly_tail_color,
style = monthly_tail_style,
width = monthly_tail_width,
extend = extend.left,
xloc = xloc.bar_time)
line.set_x1(monthlyh_tail, time)
line.set_x2(monthlyh_tail, monthlyh_limit_right)
line.set_y1(monthlyh_tail, monthlyh_open)
line.set_y2(monthlyh_tail, monthlyh_open)
line.set_x1(monthlyh_line, monthlyl_time)
line.set_x2(monthlyh_line, monthlyh_limit_right)
line.set_y1(monthlyh_line, monthlyh_open)
line.set_y2(monthlyh_line, monthlyh_open)
label.set_x(monthlyh_label, monthlyh_limit_right)
label.set_y(monthlyh_label, monthlyh_open)
//////////////////////////////////////////////////////////////////////////////////
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)
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 "+
tostring(monthly_open))
if is_weekly_open
if can_show_weekly
label.set_text(monthlyLabel, "WO / MO "+
tostring(monthly_open))
if can_show_daily and can_show_weekly
label.set_text(monthlyLabel, "DO / WO / MO "+
tostring(monthly_open))
// 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]))