Pine script : Bollinger Bands met bandbreedte percentage label
🔧 Tools & Exchanges56 keer bekeken
Gunther_VDStartbericht ·
Dag allemaal,
Naar aanleiding Clinic CC Swingtrading strategie moet de breedte tussen de banden van de Bollinger Bands worden gemeten met het lineaal tooltje. Ik heb de originele BB indicator aangepast en er een labeltje naast geplaatst. Je kan de looks hiervan naar believen aanpassen onder het tandwieltje.
- In TradingView klik op Pine (ziet eruit als een denneboompje)
- Klik nieuw script en plak onderstaande code erin.
//@version=6
indicator(shorttitle="BB", title="Bollinger Bands", overlay=true)
length = input.int(20, minval=1)
maType = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src = input(close, title="Source")
mult = input.float(2.0, minval=0.001, maxval=50, title="StdDev")
ma(source, length, _type) =>
switch _type
"SMA" => ta.sma(source, length)
"EMA" => ta.ema(source, length)
"SMMA (RMA)" => ta.rma(source, length)
"WMA" => ta.wma(source, length)
"VWMA" => ta.vwma(source, length)
basis = ma(src, length, maType)
dev = mult * ta.stdev(src, length)
upper = basis + dev
lower = basis - dev
offset = input.int(0, "Offset", minval = -500, maxval = 500, display = display.data_window)
plot(basis, "Basis", color=#2962FF, offset = offset)
p1 = plot(upper, "Upper", color=#F23645, offset = offset)
p2 = plot(lower, "Lower", color=#089981, offset = offset)
fill(p1, p2, title = "Background", color=color.rgb(33, 150, 243, 95))
// --- %BW (percent bandwidth) ---
showPercentB = input.bool(true, "Show bandwidth label", group="%BW")
showPrefix = input.bool(true, "Show '%BW:' prefix", group="%BW")
labelSizeInput = input.string(
"Normal",
"Label size",
options=["Tiny", "Small", "Normal", "Large", "Huge"],
group="%BW")
labelSize =
labelSizeInput == "Tiny" ? size.tiny :
labelSizeInput == "Small" ? size.small :
labelSizeInput == "Normal" ? size.normal :
labelSizeInput == "Large" ? size.large :
size.huge
labelColor = input.color(color.blue, "Label kleur", group="%BW")
labelTextColor = input.color(color.white, "Tekstkleur", group="%BW")
labelStyleInput = input.string(
"Left",
"Label stijl",
options=["Up", "Down", "Left", "Right", "None", "Text only"],
group="%BW")
labelXOffset = input.int(0, "X Offset", minval=-50, maxval=50, group="%BW")
labelYOffset = input.float(0.0, "Y Offset", group="%BW")
percentB = ((upper - lower) / lower) * 100
labelText = showPrefix
? "%BW: " + str.tostring(percentB, "#.##") + "%"
: str.tostring(percentB, "#.##") + "%"
plot(
percentB,
title="%BW",
display=display.none
)
// Label style selecteren
labelStyle =
labelStyleInput == "Up" ? label.style_label_up :
labelStyleInput == "Down" ? label.style_label_down :
labelStyleInput == "Left" ? label.style_label_left :
labelStyleInput == "Right" ? label.style_label_right :
labelStyleInput == "None" ? label.style_label_center :
label.style_none
var label percentBLabel = na
if showPercentB and barstate.islast
label.delete(percentBLabel)
percentBLabel := label.new(
x = bar_index + labelXOffset,
y = upper + labelYOffset,
text = labelText,
style = labelStyle,
color = labelColor,
textcolor = labelTextColor,
size = labelSize)
- Als de nieuwe BB niet op je chart staat, click Add to Chart
- Sluit het Pine venster
- Sla op als Bollinger Bands BW%
- Op het tandwieltje kan je de looks aanpassen naar je eigen smaak
- Verwijder de originele Bollinger Bands
Gefeleciteerd! Je hebt nu een automatisch label voor de BB bandbreedte
Als het schalen niet goed gaat: klik op de indicator op de 3 bolletjes en selecteer Pin to scale op Pinned to right scale
Bewerkt op 3 september 2026