فیلتر باند بولینگر یا بولینگر باند | اندیکاتور باند بولینگر در بورس
بازار سرمایه، بهویژه بورس اوراق بهادار، عرصهای پویا و پر از فرصت است. برای موفقیت در این بازار، بهرهگیری از ابزارهای تحلیلی دقیق و کاربردی امری ضروری است. یکی از این ابزارهای قدرتمند که در میان تحلیلگران تکنیکال محبوبیت فراوانی دارد، اندیکاتور باند بولینگر (Bollinger Band) است. این اندیکاتور با قابلیتهای منحصربهفرد خود، به معاملهگران کمک میکند تا با شناسایی دقیقتر نقاط احتمالی ورود و خروج، تصمیمات معاملاتی آگاهانهتری اتخاذ کنند.
باند بولینگر، که توسط جان بولینگر توسعه یافته، ابزاری تحلیلی است که با نمایش نوسانات قیمت نسبت به یک میانگین متحرک، سطوح حمایت و مقاومت پویا را مشخص میکند. این اندیکاتور بهویژه در بازارهایی که روند مشخصی ندارند و دچار نوسانات جانبی (رنج) هستند، کارایی بالایی از خود نشان میدهد. با استفاده از فیلترهای مبتنی بر باند بولینگر، میتوان نقاط اشباع خرید و فروش را با دقت بیشتری تشخیص داد و از این طریق، شانس موفقیت در معاملات را افزایش داد.
در این مقاله، که توسط کارگزاری بیدار برای شما فراهم شده است، به بررسی عمیق اندیکاتور باند بولینگر، انواع فیلترهای کاربردی آن و نحوه استفاده از این ابزار قدرتمند در تحلیل تکنیکال بازار بورس خواهیم پرداخت. با ما همراه باشید تا با این ابزار غنی، معاملات خود را بهبود بخشید.
اندیکاتور باند بولینگر چیست؟
اندیکاتور باند بولینگر، همانطور که از نامش پیداست، از سه خط یا «باند» تشکیل شده است که بر روی نمودار قیمت رسم میشوند. این سه باند عبارتند از:
- باند میانی (Middle Band): این باند معمولاً یک میانگین متحرک ساده (SMA) با دوره زمانی مشخص (اغلب ۲۰ روزه) است. این خط، روند کلی قیمت را در یک بازه زمانی مشخص نشان میدهد.
- باند بالایی (Upper Band): این باند در فاصلهای بالاتر از باند میانی قرار دارد و معمولاً برابر با میانگین متحرک به اضافه دو برابر انحراف معیار قیمت در همان دوره زمانی است.
- باند پایینی (Lower Band): این باند نیز در فاصلهای پایینتر از باند میانی قرار گرفته و معمولاً برابر با میانگین متحرک منهای دو برابر انحراف معیار قیمت در همان دوره زمانی است.
انحراف معیار، معیاری آماری برای سنجش میزان پراکندگی دادهها نسبت به میانگین آنهاست. در باند بولینگر، انحراف معیار به ما نشان میدهد که قیمتها چقدر از میانگین متحرک فاصله گرفتهاند. این فاصله، که با پارامتر «ضریب انحراف معیار» (معمولاً ۲) تعیین میشود، به صورت پویا با نوسانات قیمت تغییر میکند؛ یعنی زمانی که بازار پرنوسان است، باندها بازتر میشوند و زمانی که بازار آرام است، باندها به هم نزدیکتر میشوند.
تحلیل حرکت کندلهای قیمتی در فضای بین این سه باند، یکی از کارآمدترین روشهای استفاده از اندیکاتور باند بولینگر است. موقعیت کندلها نسبت به باندها میتواند سیگنالهای مهمی را در خصوص روند آینده بازار ارائه دهد.
کاربردهای باند بولینگر در بورس
باند بولینگر یک ابزار چندکاره در تحلیل تکنیکال است که کاربردهای متنوعی دارد. مهمترین کاربردهای آن در بازار بورس عبارتند از:
۱. تشخیص روند و قدرت روند
گسترش یا انقباض باندها میتواند اطلاعاتی در مورد قدرت یا ضعف روند به ما بدهد:
- گسترش باندها (Bollinger Band Expansion): زمانی که باندها از هم فاصله میگیرند و پهنتر میشوند، نشاندهنده افزایش نوسانات و احتمال شروع یک روند قوی (صعودی یا نزولی) است.
- انقباض باندها (Bollinger Band Contraction): زمانی که باندها به هم نزدیک میشوند و باریکتر میشوند، نشاندهنده کاهش نوسانات و احتمال وقوع یک حرکت قیمتی ناگهانی (Breakout) در آینده نزدیک است. این حالت، اغلب به عنوان «فشار» قبل از یک حرکت بزرگ تلقی میشود.
۲. شناسایی نقاط اشباع خرید و فروش
از آنجایی که باندها بر اساس انحراف معیار قیمت ساخته میشوند، میتوانند به عنوان سطوح حمایت و مقاومت پویا عمل کنند:
- تماس با باند بالایی: زمانی که قیمت به باند بالایی نزدیک میشود یا آن را لمس میکند، ممکن است نشاندهنده وضعیت اشباع خرید باشد. این وضعیت لزوماً به معنای پایان روند صعودی نیست، اما احتمال اصلاح یا بازگشت قیمت را افزایش میدهد.
- تماس با باند پایینی: زمانی که قیمت به باند پایینی نزدیک میشود یا آن را لمس میکند، ممکن است نشاندهنده وضعیت اشباع فروش باشد. این وضعیت نیز لزوماً به معنای پایان روند نزولی نیست، اما احتمال بازگشت یا اصلاح قیمت را افزایش میدهد.
نکته مهم: تنها لمس شدن یا عبور قیمت از باندها به تنهایی سیگنال خرید یا فروش قطعی نیست. باید این نشانهها را در کنار سایر ابزارهای تحلیلی و در شرایط کلی بازار بررسی کرد.
۳. تشخیص سیگنالهای معاملاتی (با استفاده از فیلترها)
یکی از قدرتمندترین کاربردهای باند بولینگر، استفاده از آن در سیستمهای فیلترینگ است. با تعریف شرایط خاص بر اساس موقعیت قیمت نسبت به باندها، میتوان سهام یا داراییهایی را که در وضعیت معاملاتی خاصی قرار دارند، شناسایی کرد. این فیلترها به معاملهگران کمک میکنند تا بهجای بررسی دستی صدها سهم، تمرکز خود را بر روی فرصتهای معاملاتیِ فیلتر شده بگذارند.
فیلترنویسی با باند بولینگر در بورس
فیلترنویسی یکی از قابلیتهای کلیدی در پلتفرمهای معاملاتی آنلاین است که به کاربران اجازه میدهد تا با تعریف منطقهای شرطی، سهام مورد نظر خود را بر اساس معیارهای مشخصی غربال کنند. اندیکاتور باند بولینگر، به دلیل ماهیت دینامیک و قابلیت ارائه سیگنالهای متنوع، یکی از محبوبترین اندیکاتورها برای استفاده در فیلترنویسی است.
در ادامه به معرفی چند نمونه از فیلترهای کاربردی مبتنی بر باند بولینگر میپردازیم:
۱. فیلتر عبور قیمت از باند بالایی یا پایینی بولینگر
این فیلتر برای شناسایی سهامی به کار میرود که قیمت آنها از یکی از باندهای بولینگر عبور کرده است. عبور قیمت از باند بالایی میتواند سیگنال خرید (در صورت تأیید سایر اندیکاتورها) و عبور از باند پایینی میتواند سیگنال فروش (یا ورود به موقعیت فروش) باشد.
توضیح کد فیلتر:
کد زیر، یک تابع جاوا اسکریپت است که ابتدا پارامترهای لازم برای محاسبه باند بولینگر (دوره زمانی و ضریب انحراف معیار) را دریافت میکند. سپس با استفاده از دادههای قیمت پایانی (PClosing) و محاسبه میانگین متحرک و انحراف معیار، باندهای بالایی و پایینی را محاسبه میکند. در نهایت، قیمت فعلی سهم (pl) را با باندهای محاسبه شده مقایسه میکند. اگر قیمت از باند بالایی بیشتر بود (نشاندهنده عبور از بالا) یا از باند پایینی کمتر بود (نشاندهنده عبور از پایین)، تابع مقدار `true` را برمیگرداند، که به معنی فعال بودن شرط فیلتر برای آن سهم است.
true == function() {
var CalculateBollingerBands = function(period, factor) {
var total_average = 0;
for (var i = 0; i < [ih].length; i++) {
var day = [ih].length - i - 1;
total_average += [ih][day].PClosing;
if (i >= period - 1) {
var total_bollinger = 0;
var average = total_average / period;
for (var x = i; x > (i - period); x--) {
var xday = [ih].length - x - 1;
total_bollinger += Math.pow([ih][xday].PClosing - average, 2);
}
var stdev = Math.pow(total_bollinger / period, 0.5);
[ih][day].BollingerAverage = average;
[ih][day].BollingerTop = average + factor * stdev;
[ih][day].BollingerBottom = average - factor * stdev;
total_average -= [ih][60 - 1 - (i - period + 1)].PClosing;
}
}
};
CalculateBollingerBands(20, 2);
// pl represents the current price (Price Last)
// [ih][0] represents the most recent data point
if ([ih][0].BollingerTop < (pl) || [ih][0].BollingerBottom > (pl)) {
return true;
} else {
return false;
}
}();
۲. فیلتر کراس بولینگر باند توسط کندل رو به بالا (سیگنال خرید)
این فیلتر به طور خاص برای شناسایی موقعیتهایی طراحی شده است که قیمت، باند بالایی بولینگر را به سمت بالا قطع کرده و پتانسیل یک روند صعودی جدید را نشان میدهد. این نوع فیلتر برای سرمایهگذارانی که به دنبال ورود به موقع به سهمهای مستعد رشد هستند، بسیار مفید است.
نکات مهم در استفاده از این فیلتر:
- تأیید با سایر اندیکاتورها: هرچند این فیلتر سیگنال قدرتمندی است، اما همیشه توصیه میشود که آن را با سایر ابزارهای تحلیلی مانند RSI، MACD یا حجم معاملات تأیید کنید.
- شرایط بازار: در بازارهای کلی صعودی، این سیگنالها اعتبار بیشتری دارند.
- مدیریت ریسک: همیشه حد ضرر مناسبی را برای معاملات خود در نظر بگیرید.
توجه: کد ارائه شده در بخش قبل (فیلتر عبور از باند بالا یا پایین) در صورتی که فقط شرط عبور از باند بالایی را بررسی کنیم (یعنی `[ih][0].BollingerTop < (pl)`)، میتواند به عنوان اساس این فیلتر عمل کند. البته برای ایجاد یک فیلتر دقیقتر، ممکن است نیاز به افزودن شرایطی مانند افزایش حجم معاملات یا مثبت بودن روند در تایمفریمهای بالاتر باشد.
۳. فیلتر فشردگی باند بولینگر (Bollinger Band Squeeze)
یکی از جذابترین و پرکاربردترین الگوها در تحلیل تکنیکال، «فشردگی» یا «Sqeeze» است. این الگو زمانی رخ میدهد که نوارهای بولینگر به شدت به هم نزدیک شده و باریک میشوند. این حالت نشاندهنده دورهای از کمنوسانی و آرامش در بازار است که اغلب پیشدرآمد یک حرکت قیمتی بزرگ و انفجاری (Breakout) است.
نحوه کارکرد فیلتر فشردگی:
فیلتر فشردگی به دنبال دورههایی است که فاصله بین باند بالایی و پایینی کمترین حد خود را تجربه میکند. معاملهگران منتظر میمانند تا قیمت با قدرت از یکی از باندهای فشرده شده خارج شود:
- خروج از بالا: اگر پس از یک دوره فشردگی، قیمت با قدرت و حجم معاملات بالا، باند بالایی را به سمت بالا بشکند، انتظار یک حرکت صعودی قوی وجود دارد.
- خروج از پایین: اگر قیمت با قدرت و حجم معاملات بالا، باند پایینی را به سمت پایین بشکند، انتظار یک حرکت نزولی قوی وجود دارد.
کد نمونه برای محاسبه فشردگی (مفهومی):
برای پیادهسازی این فیلتر، نیاز به محاسبه فاصله بین باند بالایی و پایینی داریم. میتوان از فرمول زیر استفاده کرد:
Bollinger Bandwidth = (Upper Band – Lower Band) / Middle Band
سپس سهامی که مقدار این شاخص در آنها از یک حد آستانه مشخص (مثلاً پایینتر از ۰.۰۲ یا ۲٪) قرار دارد، به عنوان سهام در وضعیت فشردگی شناسایی میشوند.
در اینجا یک تابع نمونه برای محاسبه انحراف معیار و باندهای بولینگر آورده شده است که میتواند مبنایی برای فیلتر فشردگی باشد. این کدها معمولاً در پلتفرمهای معاملاتی خاص مانند مفید تریدر یا مفید آنلاین قابل استفاده هستند و ممکن است نیاز به تطبیق با سینتکس دقیق آن پلتفرم داشته باشند.
// Function to calculate Standard Deviation
function STDV(period, data) {
var sum = 0;
for (var i = 0; i < data.length; i++) {
sum += data[i];
}
var avg = sum / period;
var sum2 = 0;
for (var i = 0; i < data.length; i++) {
sum2 += Math.pow(data[i] - avg, 2);
}
var avg2 = sum2 / period;
return Math.sqrt(avg2);
}
// Function to calculate Bollinger Bands
function bollinger(period, coefficient, priceData) {
var middleBand = calculateSMA(period, priceData);
var stdev = STDV(period, priceData.slice(-period)); // Use last 'period' data points for STDV
var upperBand = middleBand + (stdev * coefficient);
var lowerBand = middleBand - (stdev * coefficient);
return [lowerBand, middleBand, upperBand];
}
// Helper function to calculate Simple Moving Average (SMA)
function calculateSMA(period, data) {
var sum = 0;
for (var i = 0; i < period; i++) {
sum += data[data.length - 1 - i];
}
return sum / period;
}
// Example Usage (Conceptual - needs integration with trading platform data)
var priceHistory = [ih].map(item => item.PClosing); // Assuming [ih] contains price data
var period = 20;
var coefficient = 2;
if (priceHistory.length >= period) {
var recentPrices = priceHistory.slice(-period);
var sma = calculateSMA(period, recentPrices);
var stdev = STDV(period, recentPrices);
var upperBand = sma + (stdev * coefficient);
var lowerBand = sma - (stdev * coefficient);
var currentPrice = (pl); // Assuming 'pl' is the last closing price
// For Squeeze detection, check if the band width is small
var bandWidth = (upperBand - lowerBand) / sma;
var squeezeThreshold = 0.03; // Example threshold (3%)
if (bandWidth < squeezeThreshold) {
// This stock is in a Bollinger Band Squeeze
// Further logic can be added to check for breakouts
// Example: if currentPrice > upperBand, it's an upward breakout signal
// Example: if currentPrice < lowerBand, it's a downward breakout signal
return true; // Placeholder for squeeze condition
} else {
return false;
}
} else {
return false; // Not enough data for calculation
}
جدول مقایسه استراتژیهای باند بولینگر
در جدول زیر، استراتژیهای مختلف مبتنی بر باند بولینگر و کاربرد آنها به طور خلاصه مقایسه شدهاند:
| استراتژی/فیلتر | توضیحات | کاربرد اصلی | نکات |
|---|---|---|---|
| عبور از باند بالایی | قیمت از باند بالایی عبور میکند. | سیگنال خرید بالقوه، وضعیت اشباع خرید | نیاز به تأیید با سایر اندیکاتورها، احتمال بازگشت قیمت |
| عبور از باند پایینی | قیمت از باند پایینی عبور میکند. | سیگنال فروش بالقوه، وضعیت اشباع فروش | نیاز به تأیید با سایر اندیکاتورها، احتمال بازگشت قیمت |
| فشردگی باند (Squeeze) | باندهای بولینگر به شدت باریک شده و نوسانات کم میشود. | پیشبینی حرکت قیمتی بزرگ (Breakout) | منتظر شکست قیمت از باندها برای ورود باشید، تأیید با حجم معاملات |
| واگرایی با قیمت | قیمت سقف جدید میزند اما اندیکاتور (مانند RSI در کنار باند بولینگر) سقف پایینتر میزند. | ضعف روند و احتمال بازگشت | معمولاً در نزدیکی باندهای بالایی رخ میدهد |
| تماس با باند میانی | قیمت در نزدیکی باند میانی (SMA) نوسان میکند. | تأیید روند یا ورود مجدد پس از اصلاح | باند میانی به عنوان حمایت یا مقاومت پویا عمل میکند |
نکات تکمیلی و توصیههای معاملاتی
اندیکاتور باند بولینگر، مانند هر ابزار تحلیل تکنیکال دیگری، بدون نقص نیست و بهترین نتایج را زمانی ارائه میدهد که به صورت ترکیبی با سایر ابزارها و درک درستی از شرایط کلی بازار مورد استفاده قرار گیرد.
- تلفیق با سایر اندیکاتورها: همیشه سیگنالهای باند بولینگر را با اندیکاتورهای دیگر مانند RSI (برای سنجش قدرت روند و شناسایی اشباع)، MACD (برای تشخیص مومنتوم و سیگنالهای تقاطع) و یا اندیکاتور حجم معاملات (برای تأیید قدرت شکستها) ترکیب کنید.
- تایم فریم مناسب: پارامترهای باند بولینگر (دوره زمانی و ضریب انحراف معیار) را متناسب با تایم فریم مورد نظر خود تنظیم کنید. برای مثال، در تایم فریمهای کوتاهتر، ممکن است نیاز به دورههای زمانی کوتاهتر و ضریبهای کوچکتر باشد.
- مدیریت ریسک: هیچ استراتژی معاملاتی، تضمینکننده سود نیست. همیشه اصول مدیریت ریسک، شامل تعیین حد ضرر (Stop-Loss) و حد سود (Take-Profit)، را رعایت کنید.
- شرایط بازار: باند بولینگر در بازارهای رونددار، عملکرد متفاوتی نسبت به بازارهای رنج دارد. درک اینکه بازار در حال حاضر در چه وضعیتی قرار دارد، به شما کمک میکند تا تفسیر صحیحتری از سیگنالهای این اندیکاتور داشته باشید.
جمعبندی
اندیکاتور باند بولینگر یکی از ابزارهای قدرتمند و انعطافپذیر در جعبه ابزار هر تحلیلگر تکنیکال در بازار بورس است. توانایی آن در نمایش نوسانات، شناسایی سطوح احتمالی حمایت و مقاومت، و ارائه سیگنالهای معاملاتی از طریق فیلترهای کاربردی، آن را به گزینهای ایدهآل برای بهبود استراتژیهای معاملاتی تبدیل کرده است.
با درک صحیح نحوه عملکرد این اندیکاتور و استفاده هوشمندانه از فیلترهای مربوط به آن، میتوانید دید بهتری نسبت به حرکات آتی قیمت پیدا کرده و تصمیمات معاملاتی خود را با اطمینان بیشتری اتخاذ کنید. کارگزاری بیدار همواره در تلاش است تا با ارائه محتوای آموزشی کاربردی، شما را در مسیر موفقیت در بازارهای مالی یاری کند.
سوالات متداول
اندیکاتور باند بولینگر چیست و چگونه کار میکند؟
باند بولینگر از سه خط (باند میانی، بالایی و پایینی) تشکیل شده است که بر اساس یک میانگین متحرک و انحراف معیار قیمت محاسبه میشوند. این اندیکاتور نوسانات قیمت را نسبت به میانگین آن نشان میدهد و سطوح حمایت و مقاومت پویا را مشخص میکند.
مهمترین کاربرد باند بولینگر در بورس چیست؟
شناسایی نقاط احتمالی اشباع خرید و فروش، تشخیص قدرت روند (از طریق باز و بسته شدن باندها) و سیگنالدهی معاملاتی از طریق فیلترها، از مهمترین کاربردهای باند بولینگر در بورس هستند.
چه زمانی باید از فیلتر عبور قیمت از باند بولینگر استفاده کرد؟
این فیلتر زمانی کاربرد دارد که قیمت سهم از باند بالایی یا پایینی عبور میکند. عبور از بالا میتواند سیگنال خرید و عبور از پایین سیگنال فروش باشد، اما همیشه نیاز به تأیید با سایر ابزارها دارد.
فیلتر فشردگی باند بولینگر (Bollinger Band Squeeze) به چه معناست؟
فشردگی زمانی رخ میدهد که باندهای بولینگر به شدت به هم نزدیک شده و باریک میشوند. این حالت نشاندهنده کاهش نوسانات و احتمال وقوع یک حرکت قیمتی بزرگ (Breakout) در آینده نزدیک است.
چگونه میتوان از باند بولینگر برای تشخیص روند استفاده کرد؟
وضعیت باندها (باز شدن یا بسته شدن) میتواند نشاندهنده قدرت روند باشد. باز شدن باندها معمولاً با روند قوی و بسته شدن باندها با کاهش نوسانات و احتمال حرکت بعدی همراه است.
آیا باند بولینگر به تنهایی برای خرید و فروش کافی است؟
خیر، باند بولینگر یک ابزار تحلیلی است و بهترین نتایج را زمانی میدهد که در کنار سایر اندیکاتورها (مانند RSI، MACD، حجم معاملات) و با در نظر گرفتن شرایط کلی بازار استفاده شود.
مقادیر استاندارد دوره زمانی و ضریب انحراف معیار در باند بولینگر چیست؟
مقادیر استاندارد معمولاً دوره زمانی ۲۰ برای میانگین متحرک و ضریب ۲ برای انحراف معیار است. اما این مقادیر بسته به استراتژی و تایم فریم معاملاتی قابل تغییر هستند.
چگونه میتوان با استفاده از باند بولینگر، نقاط ورود به سهم را پیدا کرد؟
میتوان با استفاده از فیلترهایی که عبور قیمت از باند بالایی را پس از فشردگی نشان میدهند، یا با مشاهده بازگشت قیمت از باندهای بالایی و پایینی همراه با تأیید سایر اندیکاتورها، نقاط ورود مناسب را پیدا کرد.
تفاوت باند بولینگر با باندهای دیگر مانند باندهای کلتنر چیست؟
باند بولینگر از انحراف معیار برای محاسبه فاصله باندها استفاده میکند، در حالی که باندهای کلتنر از میانگین متحرک نمایی (EMA) و دامنه نوسان واقعی (ATR) استفاده میکنند. هر کدام ویژگیهای خاص خود را دارند.
چگونه میتوان فیلترهای باند بولینگر را در پلتفرمهای معاملاتی مانند مفید تریدر یا مفید آنلاین پیادهسازی کرد؟
معمولاً این پلتفرمها دارای بخش فیلترنویسی هستند که در آن میتوان با استفاده از زبان برنامهنویسی مخصوص پلتفرم (اغلب شبیه جاوا اسکریپت)، اندیکاتورها و شرایط مورد نظر را تعریف و ذخیره کرد. برای پیادهسازی دقیق، باید به مستندات همان پلتفرم مراجعه کرد.






