Files
xPineScript/xSamples/indicators/leledc.levels.pine
T
2024-01-25 04:07:49 +03:30

60 lines
2.1 KiB
Plaintext

//@version=4
//©InSilico
//Extension/Mod for - https://www.tradingview.com/script/2rZDPyaC-Leledc-Exhaustion-Bar/
study(title='Exhaustion levels (InSilico)',shorttitle="LeveLeledc (InSilico)",overlay=true)
//Input
exhaustionSwitch= input(true,title="Show exhaustion Bar point (Arrows)")
levelSwitch= input(true,title="Show exhaustion levels (Lines)")
length= input(40,"Exhaustions swing length")
bars= input(10,"Exhaustion bar count")
thicknesSwitch = input(2, title="Line Thickness(Level thickness)")
//Fun Lele
Lelec(bars, len) =>
bindex = int(na)
bindex := nz(bindex[1], 0)
sindex = int(na)
sindex := nz(sindex[1], 0)
return = 0
bindex := close > close[4] ? bindex + 1 : bindex
sindex := close < close[4] ? sindex + 1 : sindex
if bindex > bars and close < open and high >= highest(high, len)
bindex := 0
return := -1
return
else
if sindex > bars and close > open and low <= lowest(low, len)
sindex := 0
return := 1
return
//Out C
Lelex = Lelec(bars, length)
//Out Bar
highlel = Lelex == -1 ? high : na
lowlel = Lelex == 1 ? low : na
//Out level
resistance = float(na)
support = float(na)
resistance := close < open and Lelex ? high : resistance[1]
support := close > open and Lelex ? low : support[1]
//Color
rescol=color.new(#ff0000, 1)
highcol = change(resistance) == 0 ? rescol: na
supcol=color.new(#138484, 1)
lowcol = change(support) == 0 ? supcol : na
//Plot Bar
plotshape(exhaustionSwitch ? lowlel : na,title="Up", color=color.new(#00ff00,1), location=location.belowbar, style=shape.triangleup, size=size.normal)
plotshape(exhaustionSwitch ? highlel: na,title="Down", color=color.new(#ff0000, 1), location=location.abovebar, style=shape.triangledown, size=size.normal)
//Plot level
plot(levelSwitch ? resistance :na, title="Reistance Level", style=plot.style_line, color=highcol, linewidth=thicknesSwitch)
plot(levelSwitch ? support :na, title="Support Level", style=plot.style_line, color=lowcol, linewidth=thicknesSwitch)
alertcondition(lowlel, "Up")
alertcondition(highlel, "Down")