Multi-MTF Bollinger No-"Ban"ds

TradingViewでBanされたインジをベースにしています。なので、TVで公開すると"Ban"されると思います。
使い方はご想像におまかせします。

  • 2023年3月14日
    バグ修正や改善等々。

//@version=5
indicator(title='Multi-MTF Bollinger No-Bands', shorttitle='M_MTF_BNB', overlay=true)

show_bb_line = input(false, title='Show BB Lines?')
hide_dw = input(true, title='Hide daily and weekly over daily?')

show_label = input(true, title='Show Labels?')
show_price = input(false, title='Show Prices?(heavy)')
show_crosses = input(true, title='Show Crosses?')

show_5m_basis = input(false, title='Show 5min Basis?')
show_5m_2sigma = input(false, title='Show 5min 2σ?')
show_5m_3sigma = input(false, title='Show 5min 3σ?')
show_15m_basis = input(false, title='Show 15min Basis?')
show_15m_2sigma = input(false, title='Show 15min 2σ?')
show_15m_3sigma = input(false, title='Show 15min 3σ?')
show_1h_basis = input(false, title='Show 1h Basis?')
show_1h_2sigma = input(false, title='Show 1h 2σ?')
show_1h_3sigma = input(false, title='Show 1h 3σ?')

show_5m = show_5m_basis or show_5m_2sigma or show_5m_3sigma ? true : false
show_15m = show_15m_basis or show_15m_2sigma or show_15m_3sigma ? true : false
show_1h = show_1h_basis or show_1h_2sigma or show_1h_3sigma ? true : false

show_4h = input(false, title='Show 4h?')
show_daily = input(true, title='Show Daily?')
show_weekly = input(true, title='Show Weekly?')
show_monthly = input(true, title='Show Monthly?')
show_yearly = input(false, title='Show Yearly?')

show_basis = input(true, title='Show Basis?')
show_1sigma = input(false, title='Show 1σ?')
show_2sigma = input(true, title='Show 2σ?')
show_3sigma = input(true, title='Show 3σ?')


length = input.int(20, minval=1, title='Length')
length_string = str.tostring(length)
src = input(close, title='Source')

basis = ta.sma(src, length)
bb_stdev = ta.stdev(src, length)

is_intraday_hide = hide_dw and not timeframe.isintraday


basis5m = show_5m or timeframe.multiplier < 60 or not is_intraday_hide ? request.security(syminfo.tickerid, '5', basis) : na
stdev5m = show_5m or timeframe.multiplier < 60 or not is_intraday_hide ? request.security(syminfo.tickerid, '5', bb_stdev) : na

basis15m = show_15m or timeframe.multiplier < 60 or not is_intraday_hide ? request.security(syminfo.tickerid, '15', basis) : na
stdev15m = show_15m or timeframe.multiplier < 60 or not is_intraday_hide ? request.security(syminfo.tickerid, '15', bb_stdev) : na

basis1h = show_1h or timeframe.multiplier < 60 or not is_intraday_hide ? request.security(syminfo.tickerid, '60', basis) : na
stdev1h = show_1h or timeframe.multiplier < 60 or not is_intraday_hide ? request.security(syminfo.tickerid, '60', bb_stdev) : na

basis4h = not show_4h or is_intraday_hide ? na : request.security(syminfo.tickerid, '240', basis)
stdev4h = not show_4h or is_intraday_hide ? na : request.security(syminfo.tickerid, '240', bb_stdev)

basisd = not show_daily or is_intraday_hide ? na : request.security(syminfo.tickerid, 'D', basis)
stdevd = not show_daily or is_intraday_hide ? na : request.security(syminfo.tickerid, 'D', bb_stdev)

basisw = not show_weekly or is_intraday_hide ? na : request.security(syminfo.tickerid, 'W', basis)
stdevw = not show_weekly or is_intraday_hide ? na : request.security(syminfo.tickerid, 'W', bb_stdev)

basism = show_monthly ? request.security(syminfo.tickerid, 'M', basis) : na
stdevm = show_monthly ? request.security(syminfo.tickerid, 'M', bb_stdev) : na

basisy = show_yearly ? request.security(syminfo.tickerid, '12M', basis) : na
stdevy = show_yearly ? request.security(syminfo.tickerid, '12M', bb_stdev) : na

//m5sigma1u = show_1sigma ? basis5m + stdev5m : na
//m5sigma1l = show_1sigma ? basis5m - stdev5m : na
m5sigma2u = show_5m_2sigma ? basis5m + 2 * stdev5m : na
m5sigma2l = show_5m_2sigma ? basis5m - 2 * stdev5m : na
m5sigma3u = show_5m_3sigma ? basis5m + 3 * stdev5m : na
m5sigma3l = show_5m_3sigma ? basis5m - 3 * stdev5m : na

//m15sigma1u = show_1sigma ? basis15m + stdev15m : na
//m15sigma1l = show_1sigma ? basis15m - stdev15m : na
m15sigma2u = show_15m_2sigma ? basis15m + 2 * stdev15m : na
m15sigma2l = show_15m_2sigma ? basis15m - 2 * stdev15m : na
m15sigma3u = show_15m_3sigma ? basis15m + 3 * stdev15m : na
m15sigma3l = show_15m_3sigma ? basis15m - 3 * stdev15m : na

//h1sigma1u = show_1sigma ? basis1h + stdev1h : na
//h1sigma1l = show_1sigma ? basis1h - stdev1h : na
h1sigma2u = show_1h_2sigma ? basis1h + 2 * stdev1h : na
h1sigma2l = show_1h_2sigma ? basis1h - 2 * stdev1h : na
h1sigma3u = show_1h_3sigma ? basis1h + 3 * stdev1h : na
h1sigma3l = show_1h_3sigma ? basis1h - 3 * stdev1h : na

h4sigma1u = show_1sigma ? basis4h + stdev4h : na
h4sigma1l = show_1sigma ? basis4h - stdev4h : na
h4sigma2u = show_2sigma ? basis4h + 2 * stdev4h : na
h4sigma2l = show_2sigma ? basis4h - 2 * stdev4h : na
h4sigma3u = show_3sigma ? basis4h + 3 * stdev4h : na
h4sigma3l = show_3sigma ? basis4h - 3 * stdev4h : na

dsigma1u = show_1sigma ? basisd + stdevd : na
dsigma1l = show_1sigma ? basisd - stdevd : na
dsigma2u = show_2sigma ? basisd + 2 * stdevd : na
dsigma2l = show_2sigma ? basisd - 2 * stdevd : na
dsigma3u = show_3sigma ? basisd + 3 * stdevd : na
dsigma3l = show_3sigma ? basisd - 3 * stdevd : na

wsigma1u = show_1sigma ? basisw + stdevw : na
wsigma1l = show_1sigma ? basisw - stdevw : na
wsigma2u = show_2sigma ? basisw + 2 * stdevw : na
wsigma2l = show_2sigma ? basisw - 2 * stdevw : na
wsigma3u = show_3sigma ? basisw + 3 * stdevw : na
wsigma3l = show_3sigma ? basisw - 3 * stdevw : na

msigma1u = show_1sigma ? basism + stdevm : na
msigma1l = show_1sigma ? basism - stdevm : na
msigma2u = show_2sigma ? basism + 2 * stdevm : na
msigma2l = show_2sigma ? basism - 2 * stdevm : na
msigma3u = show_3sigma ? basism + 3 * stdevm : na
msigma3l = show_3sigma ? basism - 3 * stdevm : na

ysigma1u = show_1sigma ? basisy + stdevy : na
ysigma1l = show_1sigma ? basisy - stdevy : na
ysigma2u = show_2sigma ? basisy + 2 * stdevy : na
ysigma2l = show_2sigma ? basisy - 2 * stdevy : na
ysigma3u = show_3sigma ? basisy + 3 * stdevy : na
ysigma3l = show_3sigma ? basisy - 3 * stdevy : na

//minus cut
//dsigma1u := 0 < dsigma1u ? dsigma1u :na
//dsigma1l := 0 < dsigma1l ? dsigma1l :na
//dsigma2u := 0 < dsigma2u ? dsigma2u :na
//dsigma2l := 0 < dsigma2l ? dsigma2l :na
//dsigma3u := 0 < dsigma3u ? dsigma3u :na
//dsigma3l := 0 < dsigma3l ? dsigma3l :na
//
//wsigma1u := 0 < wsigma1u ? wsigma1u :na
//wsigma1l := 0 < wsigma1l ? wsigma1l :na
//wsigma2u := 0 < wsigma2u ? wsigma2u :na
//wsigma2l := 0 < wsigma2l ? wsigma2l :na
//wsigma3u := 0 < wsigma3u ? wsigma3u :na
//wsigma3l := 0 < wsigma3l ? wsigma3l :na
//
//msigma1u := 0 < msigma1u ? msigma1u :na
//msigma1l := 0 < msigma1l ? msigma1l :na
//msigma2u := 0 < msigma2u ? msigma2u :na
//msigma2l := 0 < msigma2l ? msigma2l :na
//msigma3u := 0 < msigma3u ? msigma3u :na
//msigma3l := 0 < msigma3l ? msigma3l :na
//
//ysigma1u := 0 < ysigma1u ? ysigma1u :na
//ysigma1l := 0 < ysigma1l ? ysigma1l :na
//ysigma2u := 0 < ysigma2u ? ysigma2u :na
//ysigma2l := 0 < ysigma2l ? ysigma2l :na
//ysigma3u := 0 < ysigma3u ? ysigma3u :na
//ysigma3l := 0 < ysigma3l ? ysigma3l :na

pre_bar_interval_time = time - time[1]
next_bar_interval_time = time_close - time
minimum_time_interval_between_bars = pre_bar_interval_time < next_bar_interval_time ? pre_bar_interval_time : next_bar_interval_time
label_x_position = time + minimum_time_interval_between_bars * 7

fun_labeltext_color_upper(bb_value) =>
    label_color = close > bb_value ? #FF00FF : close < bb_value ? color.teal : color.teal
    label_color
fun_labeltext_color_lower(bb_value) =>
    label_color = close < bb_value ? #FF00FF : close > bb_value ? color.teal : color.teal
    label_color

////5 Muinites
show_5m_crosses = show_crosses and not is_intraday_hide ? true : false
show_5m_labels = show_label and not is_intraday_hide ? true : false

plot(show_bb_line and show_5m_basis ? basis5m : na, linewidth=1, title='5m Basis', style=plot.style_line, color=color.new(color.red, 30))
basis5m_label = show_5m_basis and show_5m_labels ? label.new(label_x_position, basis5m, na, textcolor=color.red, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basis5m_label, label_x_position, basis5m)
label.set_text(basis5m_label, '↙BB ' + length_string + ' 5Min Basis' + (show_price ? '\n' + str.tostring(basis5m) : ''))  //plotshape(show_5m_crosses and basis5m < high and basis5m > low ? basis5m : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
label.delete(basis5m_label[1])

basis5m_cross = show_5m_basis and show_5m_crosses and basis5m < high and basis5m > low ? label.new(bar_index, basis5m, color=color.red, size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

//plot(show_bb_line ? m5sigma1u : na, linewidth=1, title="5m 1σ Upper", style=plot.style_line, color=color.new(#0000ff, 60))
//plot(show_bb_line ? m5sigma1l : na, linewidth=1, title="5m 1σ Lower", style=plot.style_line, color=color.new(#0000ff, 60))
//m5sigma1u_label = show_5m_labels ? label.new(label_x_position, m5sigma1u, na, textcolor=color.blue, color=color.new(color.white,50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) :na
////label.set_xy(m5sigma1u_label, label_x_position, m5sigma1u)
//label.set_text(m5sigma1u_label, "BB " + length_string + " 5Min 1σ👆" + (show_price ? "\n" + tostring(m5sigma1u) : ""))
//m5sigma1l_label = show_5m_labels ? label.new(label_x_position, m5sigma1l, na, textcolor=color.blue, color=color.new(color.white,50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) :na
////label.set_xy(m5sigma1l_label, label_x_position, m5sigma1l)
//label.set_text(m5sigma1l_label, "BB " + length_string + " 5Min 1σ👇" + (show_price ? "\n" + tostring(m5sigma1l) : ""))
////plotshape(show_5m_crosses and m5sigma1u < high and m5sigma1u > low ? m5sigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
////plotshape(show_5m_crosses and m5sigma1l > low and m5sigma1l < high ? m5sigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//m5sigma1u_cross = show_5m_crosses and m5sigma1u < high and m5sigma1u > low ? label.new(bar_index, m5sigma1u, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) :na
//m5sigma1l_cross = show_5m_crosses and m5sigma1l > low and m5sigma1l < high ? label.new(bar_index, m5sigma1l, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) :na

plot(show_bb_line ? m5sigma2u : na, linewidth=1, title='5m 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? m5sigma2l : na, linewidth=1, title='5m 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
m5sigma2u_label = show_5m_labels ? label.new(label_x_position, m5sigma2u, na, textcolor=fun_labeltext_color_upper(m5sigma2u), color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m5sigma2u_label, label_x_position, m5sigma2u)
label.set_text(m5sigma2u_label, '↙BB ' + length_string + ' 5Min 2σ👆' + (show_price ? '\n' + str.tostring(m5sigma2u) : ''))
label.set_textcolor(m5sigma2u_label, fun_labeltext_color_upper(m5sigma2u))
m5sigma2l_label = show_5m_labels ? label.new(label_x_position, m5sigma2l, na, textcolor=fun_labeltext_color_lower(m5sigma2l), color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m5sigma2l_label, label_x_position, m5sigma2l)
label.set_text(m5sigma2l_label, '↙BB ' + length_string + ' 5Min 2σ👇' + (show_price ? '\n' + str.tostring(m5sigma2l) : ''))
label.set_textcolor(m5sigma2l_label, fun_labeltext_color_lower(m5sigma2l))
label.delete(m5sigma2l_label[1])
//plotshape(show_5m_crosses and m5sigma2u < high and m5sigma2u > low ? m5sigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_5m_crosses and m5sigma2l > low and m5sigma2l < high ? m5sigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
m5sigma2u_cross = show_5m_crosses and m5sigma2u < high and m5sigma2u > low ? label.new(bar_index, m5sigma2u, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
m5sigma2l_cross = show_5m_crosses and m5sigma2l > low and m5sigma2l < high ? label.new(bar_index, m5sigma2l, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? m5sigma3u : na, linewidth=1, title='5m 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? m5sigma3l : na, linewidth=1, title='5m 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
m5sigma3u_label = show_5m_labels ? label.new(label_x_position, m5sigma3u, na, textcolor=fun_labeltext_color_upper(m5sigma2u), color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m5sigma3u_label, label_x_position, m5sigma3u)
label.set_text(m5sigma3u_label, '↙BB ' + length_string + ' 5Min 3σ👆' + (show_price ? '\n' + str.tostring(m5sigma3u) : ''))
label.set_textcolor(m5sigma3u_label, fun_labeltext_color_upper(m5sigma3u))
label.delete(m5sigma3u_label[1])
m5sigma3l_label = show_5m_labels ? label.new(label_x_position, m5sigma3l, na, textcolor=fun_labeltext_color_lower(m5sigma2l), color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m5sigma3l_label, label_x_position, m5sigma3l)
label.set_text(m5sigma3l_label, '↙BB ' + length_string + ' 5Min 3σ👇' + (show_price ? '\n' + str.tostring(m5sigma3l) : ''))
label.set_textcolor(m5sigma3l_label, fun_labeltext_color_lower(m5sigma3l))
label.delete(m5sigma3l_label[1])
//plotshape(show_5m_crosses and m5sigma3u < high and m5sigma3u > low ? m5sigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_5m_crosses and m5sigma3l > low and m5sigma3l < high ? m5sigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
m5sigma3u_cross = show_5m_crosses and m5sigma3u < high and m5sigma3u > low ? label.new(bar_index, m5sigma3u, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
m5sigma3l_cross = show_5m_crosses and m5sigma3l > low and m5sigma3l < high ? label.new(bar_index, m5sigma3l, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na




////15 Muinites
show_15m_crosses = show_crosses and not is_intraday_hide ? true : false
show_15m_labels = show_label and not is_intraday_hide ? true : false

plot(show_bb_line and show_15m_basis ? basis15m : na, linewidth=1, title='15m Basis', style=plot.style_line, color=color.new(color.red, 30))
basis15m_label = show_15m_basis and show_15m_labels ? label.new(label_x_position, basis15m, na, textcolor=color.red, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basis15m_label, label_x_position, basis15m)
label.set_text(basis15m_label, '↙BB ' + length_string + ' 15Min Basis' + (show_price ? '\n' + str.tostring(basis15m) : ''))
label.delete(basis15m_label[1])
//plotshape(show_15m_crosses and basis15m < high and basis15m > low ? basis15m : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
basis15m_cross = show_15m_basis and show_15m_crosses and basis15m < high and basis15m > low ? label.new(bar_index, basis15m, color=color.red, size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

//plot(show_bb_line ? m15sigma1u : na, linewidth=1, title="15m 1σ Upper", style=plot.style_line, color=color.new(#0000ff, 60))
//plot(show_bb_line ? m15sigma1l : na, linewidth=1, title="15m 1σ Lower", style=plot.style_line, color=color.new(#0000ff, 60))
//m15sigma1u_label = show_15m_labels ? label.new(label_x_position, m15sigma1u, na, textcolor=color.blue, color=color.new(color.white,50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) :na
////label.set_xy(m15sigma1u_label, label_x_position, m15sigma1u)
//label.set_text(m15sigma1u_label, "BB " + length_string + " 15Min 1σ👆" + (show_price ? "\n" + tostring(m15sigma1u) : ""))
//m15sigma1l_label = show_15m_labels ? label.new(label_x_position, m15sigma1l, na, textcolor=color.blue, color=color.new(color.white,50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) :na
////label.set_xy(m15sigma1l_label, label_x_position, m15sigma1l)
//label.set_text(m15sigma1l_label, "BB " + length_string + " 15Min 1σ👇" + (show_price ? "\n" + tostring(m15sigma1l) : ""))
////plotshape(show_15m_crosses and m15sigma1u < high and m15sigma1u > low ? m15sigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
////plotshape(show_15m_crosses and m15sigma1l > low and m15sigma1l < high ? m15sigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//m15sigma1u_cross = show_15m_crosses and m15sigma1u < high and m15sigma1u > low ? label.new(bar_index, m15sigma1u, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) :na
//m15sigma1l_cross = show_15m_crosses and m15sigma1l > low and m15sigma1l < high ? label.new(bar_index, m15sigma1l, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) :na

plot(show_bb_line ? m15sigma2u : na, linewidth=1, title='15m 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? m15sigma2l : na, linewidth=1, title='15m 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
m15sigma2u_label = show_15m_labels ? label.new(label_x_position, m15sigma2u, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m15sigma2u_label, label_x_position, m15sigma2u)
label.set_text(m15sigma2u_label, '↙BB ' + length_string + ' 15Min 2σ👆' + (show_price ? '\n' + str.tostring(m15sigma2u) : ''))
label.set_textcolor(m15sigma2u_label, fun_labeltext_color_upper(m15sigma2u))
label.delete(m15sigma2u_label[1])
m15sigma2l_label = show_15m_labels ? label.new(label_x_position, m15sigma2l, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m15sigma2l_label, label_x_position, m15sigma2l)
label.set_text(m15sigma2l_label, '↙BB ' + length_string + ' 15Min 2σ👇' + (show_price ? '\n' + str.tostring(m15sigma2l) : ''))
label.set_textcolor(m15sigma2l_label, fun_labeltext_color_lower(m15sigma2l))
label.delete(m15sigma2l_label[1])
//plotshape(show_15m_crosses and m15sigma2u < high and m15sigma2u > low ? m15sigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_15m_crosses and m15sigma2l > low and m15sigma2l < high ? m15sigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
m15sigma2u_cross = show_15m_crosses and m15sigma2u < high and m15sigma2u > low ? label.new(bar_index, m15sigma2u, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
m15sigma2l_cross = show_15m_crosses and m15sigma2l > low and m15sigma2l < high ? label.new(bar_index, m15sigma2l, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? m15sigma3u : na, linewidth=1, title='15m 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? m15sigma3l : na, linewidth=1, title='15m 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
m15sigma3u_label = show_15m_labels ? label.new(label_x_position, m15sigma3u, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m15sigma3u_label, label_x_position, m15sigma3u)
label.set_text(m15sigma3u_label, '↙BB ' + length_string + ' 15Min 3σ👆' + (show_price ? '\n' + str.tostring(m15sigma3u) : ''))
label.set_textcolor(m15sigma3u_label, fun_labeltext_color_upper(m15sigma3u))
label.delete(m15sigma3u_label[1])
m15sigma3l_label = show_15m_labels ? label.new(label_x_position, m15sigma3l, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(m15sigma3l_label, label_x_position, m15sigma3l)
label.set_text(m15sigma3l_label, '↙BB ' + length_string + ' 15Min 3σ👇' + (show_price ? '\n' + str.tostring(m15sigma3l) : ''))
label.set_textcolor(m15sigma3l_label, fun_labeltext_color_lower(m15sigma3l))
label.delete(m15sigma3l_label[1])
//plotshape(show_15m_crosses and m15sigma3u < high and m15sigma3u > low ? m15sigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_15m_crosses and m15sigma3l > low and m15sigma3l < high ? m15sigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
m15sigma3u_cross = show_15m_crosses and m15sigma3u < high and m15sigma3u > low ? label.new(bar_index, m15sigma3u, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
m15sigma3l_cross = show_15m_crosses and m15sigma3l > low and m15sigma3l < high ? label.new(bar_index, m15sigma3l, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na










////1 Hourly
show_1h_crosses = show_crosses and not is_intraday_hide ? true : false
show_1h_labels = show_label and not is_intraday_hide ? true : false

plot(show_bb_line and show_1h_basis ? basis1h : na, linewidth=1, title='1h Basis', style=plot.style_line, color=color.new(color.red, 30))
basis1h_label = show_1h_basis and show_1h_labels ? label.new(label_x_position, basis1h, na, textcolor=color.red, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basis1h_label, label_x_position, basis1h)
label.set_text(basis1h_label, '↙BB ' + length_string + ' 1H Basis' + (show_price ? '\n' + str.tostring(basis1h) : ''))
label.delete(basis1h_label[1])
//plotshape(show_1h_crosses and basis1h < high and basis1h > low ? basis1h : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
basis1h_cross = show_1h_basis and show_1h_crosses and basis1h < high and basis1h > low ? label.new(bar_index, basis1h, color=color.new(color.red, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

//plot(show_bb_line ? h1sigma1u : na, linewidth=1, title="1h 1σ Upper", style=plot.style_line, color=color.new(#0000ff, 60))
//plot(show_bb_line ? h1sigma1l : na, linewidth=1, title="1h 1σ Lower", style=plot.style_line, color=color.new(#0000ff, 60))
//h1sigma1u_label = show_1h_labels ? label.new(label_x_position, h1sigma1u, na, textcolor=color.teal, color=color.new(color.white,50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) :na
////label.set_xy(h1sigma1u_label, label_x_position, h1sigma1u)
//label.set_text(h1sigma1u_label, "BB 1h)1σ👆" + (show_price ? "\n" + tostring(h1sigma1u) : ""))
//h1sigma1l_label = show_1h_labels ? label.new(label_x_position, h1sigma1l, na, textcolor=color.teal, color=color.new(color.white,50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) :na
////label.set_xy(h1sigma1l_label, label_x_position, h1sigma1l)
//label.set_text(h1sigma1l_label, "BB 1h)1σ??" + (show_price ? "\n" + tostring(h1sigma1l) : ""))
////plotshape(show_1h_crosses and h1sigma1u < high and h1sigma1u > low ? h1sigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
////plotshape(show_1h_crosses and h1sigma1l > low and h1sigma1l < high ? h1sigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//
plot(show_bb_line ? h1sigma2u : na, linewidth=1, title='1h 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? h1sigma2l : na, linewidth=1, title='1h 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
h1sigma2u_label = show_1h_labels ? label.new(label_x_position, h1sigma2u, text='↙BB ' + length_string + ' 1H 2σ👆' + (show_price ? '\n' + str.tostring(h1sigma2u) : ''), textcolor=fun_labeltext_color_upper(h1sigma2u), color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h1sigma2u_label, label_x_position, h1sigma2u)
//label.set_text(h1sigma2u_label, '↙BB ' + length_string + ' 1H 2σ👆' + (show_price ? '\n' + str.tostring(h1sigma2u) : ''))
//label.set_textcolor(h1sigma2u_label, fun_labeltext_color_upper(h1sigma2u))
label.delete(h1sigma2u_label[1])
h1sigma2l_label = show_1h_labels ? label.new(label_x_position, h1sigma2l, '↙BB ' + length_string + ' 1H 2σ👇' + (show_price ? '\n' + str.tostring(h1sigma2l) : ''), textcolor=fun_labeltext_color_lower(h1sigma2l), color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h1sigma2l_label, label_x_position, h1sigma2l)
//label.set_text(h1sigma2l_label, '↙BB ' + length_string + ' 1H 2σ👇' + (show_price ? '\n' + str.tostring(h1sigma2l) : ''))
//label.set_textcolor(h1sigma2l_label, fun_labeltext_color_lower(h1sigma2l))
label.delete(h1sigma2l_label[1])
//plotshape(show_1h_crosses and h1sigma2u < high and h1sigma2u > low ? h1sigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_1h_crosses and h1sigma2l > low and h1sigma2l < high ? h1sigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")

plot(show_bb_line ? h1sigma3u : na, linewidth=1, title='1h 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? h1sigma3l : na, linewidth=1, title='1h 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
h1sigma3u_label = show_1h_labels ? label.new(label_x_position, h1sigma3u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.tiny, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h1sigma3u_label, label_x_position, h1sigma3u)
label.set_text(h1sigma3u_label, '↙BB ' + length_string + ' 1H 3σ👆' + (show_price ? '\n' + str.tostring(h1sigma3u) : ''))
label.set_textcolor(h1sigma3u_label, fun_labeltext_color_upper(h1sigma3u))
label.delete(h1sigma3u_label[1])
h1sigma3l_label = show_1h_labels ? label.new(label_x_position, h1sigma3l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.tiny, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h1sigma3l_label, label_x_position, h1sigma3l)
label.set_text(h1sigma3l_label, '↙BB ' + length_string + ' 1H 3σ👇' + (show_price ? '\n' + str.tostring(h1sigma3l) : ''))
label.set_textcolor(h1sigma3l_label, fun_labeltext_color_lower(h1sigma3l))
label.delete(h1sigma3l_label[1])
//plotshape(show_1h_crosses and h1sigma3u < high and h1sigma3u > low ? h1sigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_1h_crosses and h1sigma3l > low and h1sigma3l < high ? h1sigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
h1sigma3u_cross = show_1h_crosses and h1sigma3u < high and h1sigma3u > low ? label.new(bar_index, h1sigma3u, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
h1sigma3l_cross = show_1h_crosses and h1sigma3l > low and h1sigma3l < high ? label.new(bar_index, h1sigma3l, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na


////4 Hourly
show_4h_crosses = show_crosses and show_4h and not is_intraday_hide ? true : false
show_4h_labels = show_label and show_4h and not is_intraday_hide ? true : false

plot(show_bb_line and show_basis ? basis4h : na, linewidth=2, title='4h Basis', style=plot.style_line, color=color.new(color.red, 30))
basis4h_label = show_basis and show_4h_labels ? label.new(label_x_position, basis4h, na, textcolor=color.red, color=color.new(color.white, 50), size=size.small, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basis4h_label, label_x_position, basis4h)
label.set_text(basis4h_label, '↙BB ' + length_string + ' 4H Basis' + (show_price ? '\n' + str.tostring(basis4h) : ''))
label.delete(basis4h_label[1])
//plotshape(show_4h_crosses and basis4h < high and basis4h > low ? basis4h : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
basis4h_cross = show_basis and show_4h_crosses and basis4h < high and basis4h > low ? label.new(bar_index, basis4h, color=color.red, size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? h4sigma1u : na, linewidth=2, title='4h 1σ Upper', style=plot.style_line, color=color.new(#0000ff, 60))
plot(show_bb_line ? h4sigma1l : na, linewidth=2, title='4h 1σ Lower', style=plot.style_line, color=color.new(#0000ff, 60))
h4sigma1u_label = show_4h_labels ? label.new(label_x_position, h4sigma1u, na, textcolor=color.blue, color=color.new(color.white, 50), size=size.small, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h4sigma1u_label, label_x_position, h4sigma1u)
label.set_text(h4sigma1u_label, '↙BB ' + length_string + ' 4H 1σ👆' + (show_price ? '\n' + str.tostring(h4sigma1u) : ''))
label.set_textcolor(h4sigma1u_label, fun_labeltext_color_upper(h4sigma1u))
label.delete(h4sigma1u_label[1])
h4sigma1l_label = show_4h_labels ? label.new(label_x_position, h4sigma1l, na, textcolor=color.blue, color=color.new(color.white, 50), size=size.small, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h4sigma1l_label, label_x_position, h4sigma1l)
label.set_text(h4sigma1l_label, '↙BB ' + length_string + ' 4H 1σ👇' + (show_price ? '\n' + str.tostring(h4sigma1l) : ''))
label.set_textcolor(h4sigma1l_label, fun_labeltext_color_lower(h4sigma1l))
label.delete(h4sigma1l_label[1])
//plotshape(show_4h_crosses and h4sigma1u < high and h4sigma1u > low ? h4sigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_4h_crosses and h4sigma1l > low and h4sigma1l < high ? h4sigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
h4sigma1u_cross = show_4h_crosses and h4sigma1u < high and h4sigma1u > low ? label.new(bar_index, h4sigma1u, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
h4sigma1l_cross = show_4h_crosses and h4sigma1l > low and h4sigma1l < high ? label.new(bar_index, h4sigma1l, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? h4sigma2u : na, linewidth=2, title='4h 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? h4sigma2l : na, linewidth=2, title='4h 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
h4sigma2u_label = show_4h_labels ? label.new(label_x_position, h4sigma2u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.small, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h4sigma2u_label, label_x_position, h4sigma2u)
label.set_text(h4sigma2u_label, '↙BB ' + length_string + ' 4H 2σ👆' + (show_price ? '\n' + str.tostring(h4sigma2u) : ''))
label.set_textcolor(h4sigma2u_label, fun_labeltext_color_upper(h4sigma2u))
label.delete(h4sigma2u_label[1])
h4sigma2l_label = show_4h_labels ? label.new(label_x_position, h4sigma2l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.small, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h4sigma2l_label, label_x_position, h4sigma2l)
label.set_text(h4sigma2l_label, '↙BB ' + length_string + ' 4H 2σ👇' + (show_price ? '\n' + str.tostring(h4sigma2l) : ''))
label.set_textcolor(h4sigma2l_label, fun_labeltext_color_lower(h4sigma2l))
label.delete(h4sigma2l_label[1])
//plotshape(show_4h_crosses and h4sigma2u < high and h4sigma2u > low ? h4sigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_4h_crosses and h4sigma2l > low and h4sigma2l < high ? h4sigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
h4sigma2u_cross = show_4h_crosses and h4sigma2u < high and h4sigma2u > low ? label.new(bar_index, h4sigma2u, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
h4sigma2l_cross = show_4h_crosses and h4sigma2l > low and h4sigma2l < high ? label.new(bar_index, h4sigma2l, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? h4sigma3u : na, linewidth=2, title='4h 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? h4sigma3l : na, linewidth=2, title='4h 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
h4sigma3u_label = show_4h_labels ? label.new(label_x_position, h4sigma3u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.small, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h4sigma3u_label, label_x_position, h4sigma3u)
label.set_text(h4sigma3u_label, '↙BB ' + length_string + ' 4H 3σ👆' + (show_price ? '\n' + str.tostring(h4sigma3u) : ''))
label.set_textcolor(h4sigma3u_label, fun_labeltext_color_upper(h4sigma3u))
label.delete(h4sigma3u_label[1])
h4sigma3l_label = show_4h_labels ? label.new(label_x_position, h4sigma3l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.small, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(h4sigma3l_label, label_x_position, h4sigma3l)
label.set_text(h4sigma3l_label, '↙BB ' + length_string + ' 4H 3σ👇' + (show_price ? '\n' + str.tostring(h4sigma3l) : ''))
label.set_textcolor(h4sigma3l_label, fun_labeltext_color_lower(h4sigma3l))
label.delete(h4sigma3l_label[1])
//plotshape(show_4h_crosses and h4sigma3u < high and h4sigma3u > low ? h4sigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_4h_crosses and h4sigma3l > low and h4sigma3l < high ? h4sigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
h4sigma3u_cross = show_4h_crosses and h4sigma3u < high and h4sigma3u > low ? label.new(bar_index, h4sigma3u, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
h4sigma3l_cross = show_4h_crosses and h4sigma3l > low and h4sigma3l < high ? label.new(bar_index, h4sigma3l, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

////Daily
show_daily_crosses = show_crosses and show_daily and not is_intraday_hide ? true : false
show_daily_labels = show_label and show_daily and not is_intraday_hide ? true : false

plot(show_bb_line and show_basis ? basisd : na, linewidth=4, title='Daily Basis', style=plot.style_line, color=color.new(color.red, 30))
basisd_label = show_basis and show_daily_labels ? label.new(label_x_position, basisd, na, textcolor=color.red, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basisd_label, label_x_position, basisd)
label.set_text(basisd_label, '↙BB ' + length_string + ' D Basis' + (show_price ? '\n' + str.tostring(basisd) : ''))
label.delete(basisd_label[1])
//plotshape(show_daily_crosses and basisd < high and basisd > low ? basisd : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
basisd_cross = show_basis and show_daily_crosses and basisd < high and basisd > low ? label.new(bar_index, basisd, color=color.new(color.red, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? dsigma1u : na, linewidth=4, title='Daily 1σ Upper', style=plot.style_line, color=color.new(#0000ff, 60))
plot(show_bb_line ? dsigma1l : na, linewidth=4, title='Daily 1σ Lower', style=plot.style_line, color=color.new(#0000ff, 60))
dsigma1u_label = show_daily_labels ? label.new(label_x_position, dsigma1u, na, textcolor=color.blue, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(dsigma1u_label, label_x_position, dsigma1u)
label.set_text(dsigma1u_label, '↙BB ' + length_string + ' D 1σ👆' + (show_price ? '\n' + str.tostring(dsigma1u) : ''))
label.set_textcolor(dsigma1u_label, fun_labeltext_color_upper(dsigma1u))
label.delete(dsigma1u_label[1])
dsigma1l_label = show_daily_labels ? label.new(label_x_position, dsigma1l, na, textcolor=color.blue, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(dsigma1l_label, label_x_position, dsigma1l)
label.set_textcolor(dsigma1l_label, fun_labeltext_color_lower(dsigma1l))
label.delete(dsigma1l_label[1])
label.set_text(dsigma1l_label, '↙BB ' + length_string + ' D 1σ👇' + (show_price ? '\n' + str.tostring(dsigma1l) : ''))
//plotshape(show_daily_crosses and dsigma1u < high and dsigma1u > low ? dsigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_daily_crosses and dsigma1l > low and dsigma1l < high ? dsigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
dsigma1u_cross = show_daily_crosses and dsigma1u < high and dsigma1u > low ? label.new(bar_index, dsigma1u, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
dsigma1l_cross = show_daily_crosses and dsigma1l > low and dsigma1l < high ? label.new(bar_index, dsigma1l, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? dsigma2u : na, linewidth=4, title='Daily 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? dsigma2l : na, linewidth=4, title='Daily 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
dsigma2u_label = show_daily_labels ? label.new(label_x_position, dsigma2u, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(dsigma2u_label, label_x_position, dsigma2u)
label.set_textcolor(dsigma2u_label, fun_labeltext_color_upper(dsigma2u))
label.delete(dsigma2u_label[1])
label.set_text(dsigma2u_label, '↙BB ' + length_string + ' D 2σ👆' + (show_price ? '\n' + str.tostring(dsigma2u) : ''))
dsigma2l_label = show_daily_labels ? label.new(label_x_position, dsigma2l, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(dsigma2l_label, label_x_position, dsigma2l)
label.set_textcolor(dsigma2l_label, fun_labeltext_color_lower(dsigma2l))
label.delete(dsigma2l_label[1])
label.set_text(dsigma2l_label, '↙BB ' + length_string + ' D 2σ👇' + (show_price ? '\n' + str.tostring(dsigma2l) : ''))
//plotshape(show_daily_crosses and dsigma2u < high and dsigma2u > low ? dsigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_daily_crosses and dsigma2l > low and dsigma2l < high ? dsigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
dsigma2u_cross = show_daily_crosses and dsigma2u < high and dsigma2u > low ? label.new(bar_index, dsigma2u, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
dsigma2l_cross = show_daily_crosses and dsigma2l > low and dsigma2l < high ? label.new(bar_index, dsigma2l, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? dsigma3u : na, linewidth=4, title='Daily 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? dsigma3l : na, linewidth=4, title='Daily 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
dsigma3u_label = show_daily_labels ? label.new(label_x_position, dsigma3u, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(dsigma3u_label, label_x_position, dsigma3u)
label.set_textcolor(dsigma3u_label, fun_labeltext_color_upper(dsigma3u))
label.delete(dsigma3u_label[1])
label.set_text(dsigma3u_label, '↙BB ' + length_string + ' D 3σ👆' + (show_price ? '\n' + str.tostring(dsigma3u) : ''))
dsigma3l_label = show_daily_labels ? label.new(label_x_position, dsigma3l, na, textcolor=color.teal, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(dsigma3l_label, label_x_position, dsigma3l)
label.set_textcolor(dsigma3l_label, fun_labeltext_color_lower(dsigma3l))
label.delete(dsigma3l_label[1])
label.set_text(dsigma3l_label, '↙BB ' + length_string + ' D 3σ👇' + (show_price ? '\n' + str.tostring(dsigma3l) : ''))
//plotshape(show_daily_crosses and dsigma3u < high and dsigma3u > low ? dsigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_daily_crosses and dsigma3l > low and dsigma3l < high ? dsigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
dsigma3u_cross = show_daily_crosses and dsigma3u < high and dsigma3u > low ? label.new(bar_index, dsigma3u, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
dsigma3l_cross = show_daily_crosses and dsigma3l > low and dsigma3l < high ? label.new(bar_index, dsigma3l, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

////Weekly
show_weekly_crosses = show_crosses and show_weekly and not is_intraday_hide ? true : false
show_weekly_labels = show_label and show_weekly and not is_intraday_hide ? true : false

plot(show_bb_line and show_basis ? basisw : na, linewidth=6, title='Weekly Basis', style=plot.style_line, color=color.new(color.red, 30))
basisw_label = show_basis and show_weekly_labels ? label.new(label_x_position, basisw, na, textcolor=color.red, color=color.new(color.white, 50), size=size.normal, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basisw_label, label_x_position, basisw)
label.set_text(basisw_label, '↙BB ' + length_string + ' WK Basis' + (show_price ? '\n' + str.tostring(basisw) : ''))
label.delete(basisw_label[1])
//plotshape(show_weekly_crosses and basisw < high and basisw > low ? basisw : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
basisw_cross = show_basis and show_weekly_crosses and basisw < high and basisw > low ? label.new(bar_index, basisw, color=color.new(color.red, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? wsigma1u : na, linewidth=6, title='Weekly 1σ Upper', style=plot.style_line, color=color.new(#0000ff, 60))
plot(show_bb_line ? wsigma1l : na, linewidth=6, title='Weekly 1σ Lower', style=plot.style_line, color=color.new(#0000ff, 60))
wsigma1u_label = show_weekly_labels ? label.new(label_x_position, wsigma1u, na, textcolor=color.blue, color=color.new(color.white, 50), size=size.normal, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(wsigma1u_label, label_x_position, wsigma1u)
label.set_text(wsigma1u_label, '↙BB ' + length_string + ' WK 1σ👆' + (show_price ? '\n' + str.tostring(wsigma1u) : ''))
label.set_textcolor(wsigma1u_label, fun_labeltext_color_upper(wsigma1u))
label.delete(wsigma1u_label[1])
wsigma1l_label = show_weekly_labels ? label.new(label_x_position, wsigma1l, na, textcolor=color.blue, color=color.new(color.white, 50), size=size.normal, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(wsigma1l_label, label_x_position, wsigma1l)
label.set_text(wsigma1l_label, '↙BB ' + length_string + ' WK 1σ👇' + (show_price ? '\n' + str.tostring(wsigma1l) : ''))
label.set_textcolor(wsigma1l_label, fun_labeltext_color_lower(wsigma1l))
label.delete(wsigma1l_label[1])
//plotshape(show_weekly_crosses and wsigma1u < high and wsigma1u > low ? wsigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_weekly_crosses and wsigma1l > low and wsigma1l < high ? wsigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
wsigma1u_cross = show_weekly_crosses and wsigma1u < high and wsigma1u > low ? label.new(bar_index, wsigma1u, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
wsigma1l_cross = show_weekly_crosses and wsigma1l > low and wsigma1l < high ? label.new(bar_index, wsigma1l, color=color.new(#0000ff, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? wsigma2u : na, linewidth=6, title='Weekly 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? wsigma2l : na, linewidth=6, title='Weekly 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
wsigma2u_label = show_weekly_labels ? label.new(label_x_position, wsigma2u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.normal, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(wsigma2u_label, label_x_position, wsigma2u)
label.set_text(wsigma2u_label, '↙BB ' + length_string + ' WK 2σ👆' + (show_price ? '\n' + str.tostring(wsigma2u) : ''))
label.set_textcolor(wsigma2u_label, fun_labeltext_color_upper(wsigma2u))
label.delete(wsigma2u_label[1])
wsigma2l_label = show_weekly_labels ? label.new(label_x_position, wsigma2l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.normal, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(wsigma2l_label, label_x_position, wsigma2l)
label.set_text(wsigma2l_label, '↙BB ' + length_string + ' WK 2σ👇' + (show_price ? '\n' + str.tostring(wsigma2l) : ''))
label.set_textcolor(wsigma2l_label, fun_labeltext_color_lower(wsigma2l))
label.delete(wsigma2l_label[1])
//plotshape(show_weekly_crosses and wsigma2u < high and wsigma2u > low ? wsigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_weekly_crosses and wsigma2l > low and wsigma2l < high ? wsigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
wsigma2u_cross = show_weekly_crosses and wsigma2u < high and wsigma2u > low ? label.new(bar_index, wsigma2u, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
wsigma2l_cross = show_weekly_crosses and wsigma2l > low and wsigma2l < high ? label.new(bar_index, wsigma2l, color=color.new(color.teal, 50), size=size.tiny, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? wsigma3u : na, linewidth=6, title='Weekly 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? wsigma3l : na, linewidth=6, title='Weekly 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
wsigma3u_label = show_weekly_labels ? label.new(label_x_position, wsigma3u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.normal, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(wsigma3u_label, label_x_position, wsigma3u)
label.set_text(wsigma3u_label, '↙BB ' + length_string + ' WK 3σ👆' + (show_price ? '\n' + str.tostring(wsigma3u) : ''))
label.set_textcolor(wsigma3u_label, fun_labeltext_color_upper(wsigma3u))
label.delete(wsigma3u_label[1])
wsigma3l_label = show_weekly_labels ? label.new(label_x_position, wsigma3l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.normal, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(wsigma3l_label, label_x_position, wsigma3l)
label.set_text(wsigma3l_label, '↙BB ' + length_string + ' WK 3σ👇' + (show_price ? '\n' + str.tostring(wsigma3l) : ''))
label.set_textcolor(wsigma3l_label, fun_labeltext_color_lower(wsigma3l))
label.delete(wsigma3l_label[1])
//plotshape(show_weekly_crosses and wsigma3u < high and wsigma3u > low ? wsigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_weekly_crosses and wsigma3l > low and wsigma3l < high ? wsigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
wsigma3u_cross = show_weekly_crosses and wsigma3u < high and wsigma3u > low ? label.new(bar_index, wsigma3u, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
wsigma3l_cross = show_weekly_crosses and wsigma3l > low and wsigma3l < high ? label.new(bar_index, wsigma3l, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

////Monthly
show_monthly_crosses = show_crosses and show_monthly ? true : false
show_monthly_labels = show_label and show_monthly ? true : false

plot(show_bb_line and show_basis ? basism : na, linewidth=8, title='Monthly Basis', style=plot.style_line, color=color.new(color.red, 30))
basism_label = show_basis and show_monthly_labels ? label.new(label_x_position, basism, na, textcolor=color.red, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basism_label, label_x_position, basism)
label.set_text(basism_label, '↙BB ' + length_string + ' MO Basis' + (show_price ? '\n' + str.tostring(basism) : ''))
label.delete(basism_label[1])
//plotshape(show_monthly_crosses and basism < high and basism > low ? basism : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
basism_cross = show_basis and show_monthly_crosses and basism < high and basism > low ? label.new(bar_index, basism, color=color.new(color.red, 50), size=size.large, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? msigma1u : na, linewidth=8, title='Monthly 1σ Upper', style=plot.style_line, color=color.new(#0000ff, 60))
plot(show_bb_line ? msigma1l : na, linewidth=8, title='Monthly 1σ Lower', style=plot.style_line, color=color.new(#0000ff, 60))
msigma1u_label = show_monthly_labels ? 
  label.new(x=label_x_position, y=msigma1u, text=na, textcolor=color.blue, color=color.new(color.white, 50), 
  size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
////label.set_xy(msigma1u_label, label_x_position, msigma1u)
label.set_text(msigma1u_label, '↙BB ' + length_string + ' MO 1σ👆' + (show_price ? '\n' + str.tostring(msigma1u) : ''))
label.set_textcolor(msigma1u_label, fun_labeltext_color_upper(msigma1u))
label.delete(msigma1u_label[1])
msigma1l_label = show_monthly_labels ? label.new(label_x_position, msigma1l, na, textcolor=color.blue, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
////label.set_xy(msigma1l_label, label_x_position, msigma1l)
label.set_text(msigma1l_label, '↙BB ' + length_string + ' MO 1σ👇' + (show_price ? '\n' + str.tostring(msigma1l) : ''))
label.set_textcolor(msigma1l_label, fun_labeltext_color_lower(msigma1l))
label.delete(msigma1l_label[1])
//plotshape(show_monthly_crosses and msigma1u < high and msigma1u > low ? msigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_monthly_crosses and msigma1l > low and msigma1l < high ? msigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
msigma1u_cross = show_monthly_crosses and msigma1u < high and msigma1u > low ? label.new(bar_index, msigma1u, color=color.new(#0000ff, 50), size=size.large, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
msigma1l_cross = show_monthly_crosses and msigma1l > low and msigma1l < high ? label.new(bar_index, msigma1l, color=color.new(#0000ff, 50), size=size.large, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? msigma2u : na, linewidth=8, title='Monthly 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? msigma2l : na, linewidth=8, title='Monthly 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
msigma2u_label = show_monthly_labels ? label.new(label_x_position, msigma2u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(msigma2u_label, label_x_position, msigma2u)
label.set_text(msigma2u_label, '↙BB ' + length_string + ' MO 2σ👆' + (show_price ? '\n' + str.tostring(msigma2u) : ''))
label.set_textcolor(msigma2u_label, fun_labeltext_color_upper(msigma2u))
label.delete(msigma2u_label[1])
msigma2l_label = show_monthly_labels ? label.new(label_x_position, msigma2l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(msigma2l_label, label_x_position, msigma2l)
label.set_text(msigma2l_label, '↙BB ' + length_string + ' MO 2σ👇' + (show_price ? '\n' + str.tostring(msigma2l) : ''))
label.set_textcolor(msigma2l_label, fun_labeltext_color_lower(msigma2l))
label.delete(msigma2l_label[1])
//plotshape(show_monthly_crosses and msigma2u < high and msigma2u > low ? msigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_monthly_crosses and msigma2l > low and msigma2l < high ? msigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
msigma2u_cross = show_monthly_crosses and msigma2u < high and msigma2u > low ? label.new(bar_index, msigma2u, color=color.new(color.teal, 50), size=size.large, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
msigma2l_cross = show_monthly_crosses and msigma2l > low and msigma2l < high ? label.new(bar_index, msigma2l, color=color.new(color.teal, 50), size=size.large, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? msigma3u : na, linewidth=8, title='Monthly 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? msigma3l : na, linewidth=8, title='Monthly 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
msigma3u_label = show_monthly_labels ? label.new(label_x_position, msigma3u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(msigma3u_label, label_x_position, msigma3u)
label.set_text(msigma3u_label, '↙BB ' + length_string + ' MO 3σ👆' + (show_price ? '\n' + str.tostring(msigma3u) : ''))
label.set_textcolor(msigma3u_label, fun_labeltext_color_upper(msigma3u))
label.delete(msigma3u_label[1])
msigma3l_label = show_monthly_labels ? label.new(label_x_position, msigma3l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(msigma3l_label, label_x_position, msigma3l)
label.set_text(msigma3l_label, '↙BB ' + length_string + ' MO 3σ👇' + (show_price ? '\n' + str.tostring(msigma3l) : ''))
label.set_textcolor(msigma3l_label, fun_labeltext_color_lower(msigma3l))
label.delete(msigma3l_label[1])
//plotshape(show_monthly_crosses and msigma3u < high and msigma3u > low ? msigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_monthly_crosses and msigma3l > low and msigma3l < high ? msigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
msigma3u_cross = show_monthly_crosses and msigma3u < high and msigma3u > low ? label.new(bar_index, msigma3u, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
msigma3l_cross = show_monthly_crosses and msigma3l > low and msigma3l < high ? label.new(bar_index, msigma3l, color=color.new(color.lime, 50), size=size.normal, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

////Yearly
show_yearly_crosses = show_crosses and show_yearly ? true : false
show_yearly_labels = show_label and show_yearly ? true : false

plot(show_bb_line and show_basis ? basisy : na, linewidth=10, title='Yearly Basis', style=plot.style_line, color=color.new(color.red, 30))
basisy_label = show_basis and show_yearly_labels ? label.new(label_x_position, basisy, na, textcolor=color.red, color=color.new(color.white, 50), size=size.huge, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(basisy_label, label_x_position, basisy)
label.set_text(basisy_label, '↙BB ' + length_string + ' YR Basis' + (show_price ? '\n' + str.tostring(basisy) : ''))
label.delete(basisy_label[1])
//plotshape(show_yearly_crosses and basisy < high and basisy > low ? basisy : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
basisy_cross = show_basis and show_yearly_crosses and basisy < high and basisy > low ? label.new(bar_index, basisy, color=color.new(color.red, 50), size=size.huge, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? ysigma1u : na, linewidth=10, title='Yearly 1σ Upper', style=plot.style_line, color=color.new(#0000ff, 60))
plot(show_bb_line ? ysigma1l : na, linewidth=10, title='Yearly 1σ Lower', style=plot.style_line, color=color.new(#0000ff, 60))
ysigma1u_label = show_yearly_labels ? label.new(label_x_position, ysigma1u, na, textcolor=color.blue, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(ysigma1u_label, label_x_position, ysigma1u)
label.set_text(ysigma1u_label, '↙BB ' + length_string + ' YR 1σ👆' + (show_price ? '\n' + str.tostring(ysigma1u) : ''))
label.set_textcolor(ysigma1u_label, fun_labeltext_color_upper(ysigma1u))
label.delete(ysigma1u_label[1])
ysigma1l_label = show_yearly_labels ? label.new(label_x_position, ysigma1l, na, textcolor=color.blue, color=color.new(color.white, 50), style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(ysigma1l_label, label_x_position, ysigma1l)
label.set_text(ysigma1l_label, '↙BB ' + length_string + ' YR 1σ👇' + (show_price ? '\n' + str.tostring(ysigma1l) : ''))
label.set_textcolor(ysigma1l_label, fun_labeltext_color_lower(ysigma1l))
label.delete(ysigma1l_label[1])
//plotshape(show_yearly_crosses and ysigma1u < high and ysigma1u > low ? ysigma1u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_yearly_crosses and ysigma1l > low and ysigma1l < high ? ysigma1l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
ysigma1u_cross = show_yearly_crosses and ysigma1u < high and ysigma1u > low ? label.new(bar_index, ysigma1u, color=color.new(#0000ff, 50), size=size.huge, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
ysigma1l_cross = show_yearly_crosses and ysigma1l > low and ysigma1l < high ? label.new(bar_index, ysigma1l, color=color.new(#0000ff, 50), size=size.huge, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? ysigma2u : na, linewidth=10, title='Yearly 2σ Upper', style=plot.style_line, color=color.new(color.teal, 10))
plot(show_bb_line ? ysigma2l : na, linewidth=10, title='Yearly 2σ Lower', style=plot.style_line, color=color.new(color.teal, 10))
ysigma2u_label = show_yearly_labels ? label.new(label_x_position, ysigma2u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(ysigma2u_label, label_x_position, ysigma2u)
label.set_text(ysigma2u_label, '↙BB ' + length_string + ' YR 2σ👆' + (show_price ? '\n' + str.tostring(ysigma2u) : ''))
label.set_textcolor(ysigma2u_label, fun_labeltext_color_upper(ysigma2u))
label.delete(ysigma2u_label[1])
ysigma2l_label = show_yearly_labels ? label.new(label_x_position, ysigma2l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(ysigma2l_label, label_x_position, ysigma2l)
label.set_text(ysigma2l_label, '↙BB ' + length_string + ' YR 2σ👇' + (show_price ? '\n' + str.tostring(ysigma2l) : ''))
label.set_textcolor(ysigma2l_label, fun_labeltext_color_lower(ysigma2l))
label.delete(ysigma2l_label[1])
//plotshape(show_yearly_crosses and ysigma2u < high and ysigma2u > low ? ysigma2u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_yearly_crosses and ysigma2l > low and ysigma2l < high ? ysigma2l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
ysigma2u_cross = show_yearly_crosses and ysigma2u < high and ysigma2u > low ? label.new(bar_index, ysigma2u, color=color.new(color.teal, 50), size=size.huge, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
ysigma2l_cross = show_yearly_crosses and ysigma2l > low and ysigma2l < high ? label.new(bar_index, ysigma2l, color=color.new(color.teal, 50), size=size.huge, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na

plot(show_bb_line ? ysigma3u : na, linewidth=10, title='Yearly 3σ Upper', style=plot.style_line, color=color.new(color.lime, 30))
plot(show_bb_line ? ysigma3l : na, linewidth=10, title='Yearly 3σ Lower', style=plot.style_line, color=color.new(color.lime, 30))
ysigma3u_label = show_yearly_labels ? label.new(label_x_position, ysigma3u, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(ysigma3u_label, label_x_position, ysigma3u)
label.set_text(ysigma3u_label, '↙BB ' + length_string + ' YR 3σ👆' + (show_price ? '\n' + str.tostring(ysigma3u) : ''))
label.set_textcolor(ysigma3u_label, fun_labeltext_color_upper(ysigma3u))
label.delete(ysigma3u_label[1])
ysigma3l_label = show_yearly_labels ? label.new(label_x_position, ysigma3l, na, textcolor=color.teal, color=color.new(color.white, 50), size=size.large, style=label.style_none, xloc=xloc.bar_time, yloc=yloc.price) : na
//label.set_xy(ysigma3l_label, label_x_position, ysigma3l)
label.set_text(ysigma3l_label, '↙BB ' + length_string + ' YR 3σ👇' + (show_price ? '\n' + str.tostring(ysigma3l) : ''))
label.set_textcolor(ysigma3l_label, fun_labeltext_color_lower(ysigma3l))
label.delete(ysigma3l_label[1])
//plotshape(show_yearly_crosses and ysigma3u < high and ysigma3u > low ? ysigma3u : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
//plotshape(show_yearly_crosses and ysigma3l > low and ysigma3l < high ? ysigma3l : na, style=shape.xcross, location=location.absolute, size=size.normal, transp=40, title="Cross")
ysigma3u_cross = show_yearly_crosses and ysigma3u < high and ysigma3u > low ? label.new(bar_index, ysigma3u, color=color.new(color.lime, 50), size=size.huge, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na
ysigma3l_cross = show_yearly_crosses and ysigma3l > low and ysigma3l < high ? label.new(bar_index, ysigma3l, color=color.new(color.lime, 50), size=size.huge, style=label.style_xcross, xloc=xloc.bar_index, yloc=yloc.price) : na


この記事が気に入ったらサポートをしてみませんか?