باندهای بولینگر (Bollinger Bands)

باندهای بولینگر یک میانگین متحرک با دو باند در فاصله‌ی انحراف معیار از آن هستند و نوسان بازار را مستقیماً روی چارت نشان می‌دهند.

چیست

جان بولینگر این ابزار را در دهه‌ی ۱۹۸۰ ساخت. باند میانی یک میانگین متحرک ساده است و باندهای بالا و پایین به اندازه‌ی چند برابر انحراف معیار قیمت از آن فاصله دارند. وقتی بازار پرنوسان می‌شود باندها باز می‌شوند و وقتی آرام می‌شود، به هم نزدیک می‌شوند.

چطور محاسبه می‌شود

  1. باند میانی = میانگین متحرک ساده‌ی ۲۰ کندل
  2. باند بالا = باند میانی + ۲ × انحراف معیار ۲۰ کندل
  3. باند پایین = باند میانی − ۲ × انحراف معیار ۲۰ کندل

تریدرها چطور آن را می‌خوانند

  • فشردگی باندها (Squeeze) یعنی نوسان کم شده و معمولاً پیش از یک حرکت بزرگ دیده می‌شود.
  • قدم زدن روی باند: در روند قوی، قیمت می‌تواند مدت‌ها کنار باند بالا یا پایین حرکت کند؛ لمس باند به‌تنهایی سیگنال برگشت نیست.
  • در بازار رنج، برگشت از باندها به سمت میانگین رایج‌تر است.
  • باند میانی اغلب نقش حمایت یا مقاومت پویا را دارد.

تنظیمات

تنظیمات استاندارد ۲۰ کندل و ضریب ۲ است. ضریب ۲٫۵ یا ۳ باندهای گشادتری می‌دهد که کمتر لمس می‌شوند.

کجا گول می‌زند

  • فروش در هر لمس باند بالا در یک روند صعودی، دائماً خلاف روند قرارت می‌دهد.
  • باندها جهت حرکت بعد از فشردگی را نمی‌گویند؛ فقط می‌گویند احتمالاً حرکتی در راه است.

کد Pine Script آن در Vlevel

این همان اسکریپتی است که چارت اجرا می‌کند. در پنجره‌ی اندیکاتورهای چارت می‌توانی آن را باز کنی، تغییر دهی و نسخه‌ی خودت را ذخیره کنی.

Bollinger Bands · Pine Script v6
//@version=6
indicator("Bollinger Bands", shorttitle = "BB", overlay = true)
length = input.int(20, "Length", minval = 1)
kind   = input.string("SMA", "Basis MA Type", options = ["SMA", "EMA", "SMMA (RMA)", "WMA", "VWMA"])
src    = input.source(close, "Source")
mult   = input.float(2.0, "StdDev", minval = 0.001, maxval = 50)
offset = input.int(0, "Offset", minval = -500, maxval = 500)
ma(float src, int len, string kind) =>
    switch kind
        "SMA" => ta.sma(src, len)
        "EMA" => ta.ema(src, len)
        "SMMA (RMA)" => ta.rma(src, len)
        "WMA" => ta.wma(src, len)
        "VWMA" => ta.vwma(src, len)
        => ta.sma(src, len)
basis = ma(src, length, kind)
dev   = mult * ta.stdev(src, length)
plot(basis, "Basis", color = color.new(#2ee6a6, 65), offset = offset)
p1 = plot(basis + dev, "Upper", color = color.new(#2ee6a6, 40), offset = offset)
p2 = plot(basis - dev, "Lower", color = color.new(#2ee6a6, 40), offset = offset)
fill(p1, p2, color = color.new(#2ee6a6, 95))

اندیکاتورها قیمت‌های گذشته را توصیف می‌کنند و هیچ‌کدام آینده را پیش‌بینی نمی‌کنند. برای آموزش است، نه توصیه‌ی سرمایه‌گذاری.