OPEN-SOURCE SCRIPT
Close Outside BB Without Touching

//version=5
indicator("Close Outside BB Without Touching", overlay=true)
// Input parameters
length = input.int(20, title="BB Length")
mult = input.float(2.0, title="BB Standard Deviation")
src = input(close, title="Source")
// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Check if candle closed outside BB
closedAbove = close > upper
closedBelow = close < lower
// Check if candle didn't touch the BB during its formation
// For a candle closing above: low must be greater than upper band
// For a candle closing below: high must be less than lower band
noTouchAbove = low > upper
noTouchBelow = high < lower
// Final conditions
validAbove = closedAbove and noTouchAbove
validBelow = closedBelow and noTouchBelow
// Plot Bollinger Bands
plot(basis, "Basis", color=color.orange)
u = plot(upper, "Upper", color=color.blue)
l = plot(lower, "Lower", color=color.blue)
// Fill between Bollinger Bands
fill(u, l, color=color.new(color.blue, 95), title="Background")
// Highlight valid candles
barcolor(validAbove ? color.green : validBelow ? color.red : na)
// Plot markers for valid signals
plotshape(validAbove, title="Valid Above BB", color=color.green,
style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(validBelow, title="Valid Below BB", color=color.red,
style=shape.triangledown, location=location.abovebar, size=size.small)
// Alert conditions
alertcondition(validAbove, title="Valid Close Above BB",
message="Candle closed above BB without touching")
alertcondition(validBelow, title="Valid Close Below BB",
message="Candle closed below BB without touching")
indicator("Close Outside BB Without Touching", overlay=true)
// Input parameters
length = input.int(20, title="BB Length")
mult = input.float(2.0, title="BB Standard Deviation")
src = input(close, title="Source")
// Calculate Bollinger Bands
basis = ta.sma(src, length)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
// Check if candle closed outside BB
closedAbove = close > upper
closedBelow = close < lower
// Check if candle didn't touch the BB during its formation
// For a candle closing above: low must be greater than upper band
// For a candle closing below: high must be less than lower band
noTouchAbove = low > upper
noTouchBelow = high < lower
// Final conditions
validAbove = closedAbove and noTouchAbove
validBelow = closedBelow and noTouchBelow
// Plot Bollinger Bands
plot(basis, "Basis", color=color.orange)
u = plot(upper, "Upper", color=color.blue)
l = plot(lower, "Lower", color=color.blue)
// Fill between Bollinger Bands
fill(u, l, color=color.new(color.blue, 95), title="Background")
// Highlight valid candles
barcolor(validAbove ? color.green : validBelow ? color.red : na)
// Plot markers for valid signals
plotshape(validAbove, title="Valid Above BB", color=color.green,
style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(validBelow, title="Valid Below BB", color=color.red,
style=shape.triangledown, location=location.abovebar, size=size.small)
// Alert conditions
alertcondition(validAbove, title="Valid Close Above BB",
message="Candle closed above BB without touching")
alertcondition(validBelow, title="Valid Close Below BB",
message="Candle closed below BB without touching")
开源脚本
本着TradingView的真正精神,此脚本的创建者将其开源,以便交易者可以查看和验证其功能。向作者致敬!虽然您可以免费使用它,但请记住,重新发布代码必须遵守我们的网站规则。
免责声明
这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。
开源脚本
本着TradingView的真正精神,此脚本的创建者将其开源,以便交易者可以查看和验证其功能。向作者致敬!虽然您可以免费使用它,但请记住,重新发布代码必须遵守我们的网站规则。
免责声明
这些信息和出版物并不意味着也不构成TradingView提供或认可的金融、投资、交易或其它类型的建议或背书。请在使用条款阅读更多信息。