یکی از بهترین ابزارها در تحلیل تکنیکال برای تشخیص زمان خرید و فروش سهم، بهرهگیری از اندیکاتور باند بولینگر (Bollinger band) میباشد. این اندیکاتور در بازارهایی با روند نوسانی و رنج بسیار عالی کار میکند. شما میتوانید با استفاده از فیلترهای مربوط به اندیکاتور باند بولینگر، نقاط اشباع خرید و فروش را تشخیص دهید.
در این مقاله از سری مقالات کارگزاری بیدار به معرفی اندیکاتور رنج فیلتر «باند بولینگر» و فیلتر ترکیبی قدرتمند باند بولینگر بپردازیم. با ما همراه باشید.
اندیکاتور باند بولینگر در بورس
در اندیکاتور باند بولینگر، 3 باند جدا از هم (یک اندیکاتور میانگین متحرک ساده و همچنین 2 انحراف معیار از آن)، تشکیلدهنده این اندیکاتور هستند. تحلیل حرکت کندلهای قیمتی در فضای بین سقف و کف باند، از کارآمدترین خروجی این اندیکاتور میباشد.
فیلتر باند بولینگر
در اندیکاتور باند بولینگر اتفاقات و حالاتی وجود دارد که نشان از رشد و یا کاهش دارند و به نوعی سیگنال تلقی میشوند. از تکنیک و ابزار فیلترنویسی میتوانید برای پیدا کردن سهمهایی که اتفاقاتی خاص در باند بولینگر برایشان رقم خورده است را بیابید و معاملاتشان را برای ورود یا خروج از سهم، زیر نظر داشته باشید. در ادامه با فیلتر بولینگر باند بیشتر آشنا میشویم.
فیلتر سهمهایی که بولینگر باند را از باند پایینی و از باند بالایی قطع کردن
یکی از سیگنالهایی که میتوانید از باند بولینگر دریافت کنید که روند صعودی و نزولی را تایید میکند، قطع شدن باند بالا و پایین توسط کندلهای قیمتی است. بهطوری که اگر این کندلها باند بالا را قطع کنند، سیگنال خرید و اگر باند پایین را قطع کنند، سیگنال فروش صادر میشود. برای دریافت این سیگنالها میتوانید از فیلتر زیر استفاده کنید:
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);
console.log([ih][0].BollingerTop + ' - ' + (pl));
if([ih][0].BollingerTop<(pl) || [ih][0].BollingerBottm>(pl))
{
return true;
}
else
{
return false;
}
}()
فیلتر کراس بولینگر باند توسط کندلهای رو به بالا
از این فیلتر فقط برای تشخیص سیگنالهای خرید بهره ببرید. اگر در پرتفوی خود نقد هستید و بهدنبال نمادهایی میگردید تا در بهترین فرصت به آن ورود کنید، فیلتر زیر بهترین گزینه است:
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);
console.log([ih][0].BollingerTop + ' - ' + (pl));
if([ih][0].BollingerTop<(pl) || [ih][0].BollingerBottm>(pl))
{
return true;
}
else
{
return false;
}
}()
فیلتر فشردگی باند بولینگر
هنگامی که قیمت در یک بازه کوچک بین ۲ باند محدود شده باشد و در آن محدودهی کوچک نوسان کند، میتوانید انتظار شروع حرکت شارپ صعودی یا نزولی را داشته باشید. بعد از این نوسانات اگر کندلها از بالا بیرون روند، باید انتظار حرکت تند صعودی را داشته باشید و اگر هم از باند پایین خارج شده باشند، باید انتظار روند کاهشی را داشته باشید. برای اطلاع از این شرایط میتوانید از فیلتر زیر استفاده کنید:
function STDV(day, start) {
var sum = 0;
for (var i = start; i < day + start; i++) {
sum += [ih][i].PDrCotVal;
}
var avg = sum / day;
var sum2 = 0;
for (var i = start; i < day + start; i++) {
sum2 += Math.pow([ih][i].PDrCotVal - avg, 2);
}
var avg2 = sum2 / day;
var STDV = Math.sqrt(avg2);
return STDV;
}
function bollinger(day, start, coefficient) {
var sum = 0;
for (var i = start; i < start + day; i++) {
sum += [ih][i].PDrCotVal;
}
var avg = sum / day;
var stdv = STDV(day,start);
var middleband = avg;
var upperband = middleband + (stdv * coefficient);
var lowerband = middleband - (stdv * coefficient);
return [lowerband, middleband, upperband];
}
جمعبندی
اتکا به اندیکاتور باند بولینگ در تحلیل تکنیکال، میتواند به سودآوری بیشتری برای شما منجر شود. سیگنالهای خرید و فروش صادر شده از این اندیکاتور بسیار دقیق هستند.
برای دریافت این سیگنالها نیاز به استفاده از فیلترنویسی دارید تا این نقاط حساس را مشخص کرده و نمادهایی که دارای آن شرایط بودند را تشخیص دهید. در این مقاله با اصلیترین و کارآمدترین این فیلترها در اندیکاتور باند بولینگر آشنا شدید.