var line[] pivot_high_array = array.
new_line(),var line[] pivot_low_array =
array.new_line()
ph2_M = [Link](s_high, pivLen_L, pivLen_R)
pl2_M = [Link](s_low, pivLen_L, pivLen_R)
ph2 = [Link](s_high, pivLen_L, pivLen_R)
pl2 = [Link](s_low, pivLen_L, pivLen_R)
var float prev_close_H = na, var float curr_close_H = na
var float prev_close_L = na, var float curr_close_L = na
var int X_prev_low = na, var float Y_prev_low = na, var int X_curr_low = na, var
float Y_curr_low = na
var int X_curr_high = na, var float Y_curr_high = na, var int X_prev_high = na, var
float Y_prev_high = na
maxLines := hideCrossed ? 0 : maxLines
tl_array_size_up = maxLines/2ine.get_y1(x), line.get_x2(x),
line.get_y2(x), color = broken_color_down, style = lineStyle_broken, width =
line_width_broken,xloc = xloc.bar_index, extend = extendLine_B ? [Link] :
[Link])
down_trend_line_broken:=true
Down_Trend_Lines.unshift(tl_line)
[Link](x)
if Down_Trend_Lines.size() > (tl_array_size_up)
[Link](Down_Trend_Lines.pop())
for x in pivot_high_array
var line [] Up_Trend_Lines = array.new_line(tl_array_size_dn)
var label [] Up_Trend_Labels = array.new_label(tl_array_size_dn)
src = Source_tl == 'Close' ? s_close : s_high
x.set_xy2(bar_index, SlopeOfLine(x))
if x.get_x2() - x.get_x1() > 300
[Link]()
if src > line.get_y2(x)
tl_line = [Link](line.get_x1(x), line.get_y1(x), line.get_x2(x),
line.get_y2(x), color = broken_color_up, style = lineStyle_broken, width =
line_width_broken,xloc = xloc.bar_index, extend = extendLine_B ? [Link] :
[Link])
up_trend_line_broken:=true
Up_Trend_Lines.unshift(tl_line)
[Link](x)
if Up_Trend_Lines.size() > (tl_array_size_dn)
[Link](Up_Trend_Lines.pop())
plotshape(show_signals and up_trend_line_broken? low : na, title='Trendline Broken
Up', style=[Link], textcolor=[Link]([Link], 0), size=[Link],
location=[Link], color=broken_color_up_signal,display= [Link] -
display.status_line, editable = false)
plotshape(show_signals and down_trend_line_broken? high : na, title='Trendline
Broken Down', style=[Link], textcolor=[Link]([Link], 0),
size=[Link], location=[Link],
color=broken_color_down_signal,display= [Link] - display.status_line,
editable = false)
// MULTI-TIMEFRAME S/R
c_subtitle = [Link]([Link], 30)
s_subtitle = 'normal'
a_subtitle = 'center'
[Link](pivotvals, ph ? ph : pl)
if [Link](pivotvals) > maxnumpp // limit the array size
[Link](pivotvals)
get_sr_vals(ind) =>
float lo = [Link](pivotvals, ind)
float hi = lo
int numpp = 0
for y = 0 to [Link](pivotvals) - 1 by 1
float cpp = [Link](pivotvals, y)
float wdth = cpp <= lo ? hi - cpp : cpp - lo
if wdth <= cwidth // fits the max channel width?
lo := cpp <= lo ? cpp : lo
hi := cpp > lo ? cpp : hi
numpp += 1
numpp
[hi, lo, numpp]
var sr_up_level = array.new_float(0)
var sr_dn_level = array.new_float(0)
sr_strength = array.new_float(0)
symVPosition = 'top'
symHPosition = 'left'
find_loc(strength) =>
ret = [Link](sr_strength)
for i = ret > 0 ? [Link](sr_strength) - 1 : na to 0 by 1
if strength <= [Link](sr_strength, i)
break
ret := i
c_bg = [Link]([Link], 100)
// New Features
// User inputs
rsiOB = 68
rsiOS = 32
rsiOB2 = 70
rsiOS2 = 30
rsiOS3 = 24
// Big candle detector
lastCandleSize = [Link](high[1] - low[1])
curCandleSize = [Link](high - low)
bullishCandle = curCandleSize > lastCandleSize * 1.5 and close > open
bearishCandle = curCandleSize > lastCandleSize * 1.5 and close < open
// RSI
rsiValue = [Link](close[1], 14)
// reversalbuysell = input(true, "[AI] Reversals", group="BUY & SELL
SIGNALS")
// reversalsignaltype = [Link]("All", "Signal Type", ["All", "Bullish",
"Bearish"], group="BUY & SELL SIGNALS")
// reversalmode = [Link]("Swing", "Mode", ["Scalp", "Swing",
"Accumulation"], group="BUY & SELL SIGNALS")
// Plot signal
// Scalp
// Trend Cloud
Curly_Fries = 74
Chicken_Sandwich = 144
ema_150 = [Link](close, Curly_Fries)
ema_250 = [Link](