Средняя линия – это простая скользящая средняя SMA с периодом N.
BBmiddlet = SMA(C, N).
Верхняя линия – это простая скользящая средняя SMA периодом N плюс K стандартных отклонений (STD) от среднего значения за тот же интервал N.
BBuppert = SMA(C, N) + K*STDt.
Нижняя линия – это простая скользящая средняя SMA периодом N минус K стандартных отклонений (STD) от среднего значения за тот же интервал N.
BBlowert = SMA(C, N) – K*STDt.
Где
N – период, на котором рассчитываются SMA и STD.
K – число стандартных отклонений, которое используется для построения границ полосы, и определяет величину их отклонения вверх и вниз от SMA.
Типовые параметры
Автор индикатора, Боллинджер, предлагает на дневном тайм-фрейме использовать следующие параметры:
- период SMA 10 и D = 1.9 стандартных отклонения;
- период SMA 20 и D = 2 стандартных отклонения;
- период SMA 50 и D = 2.1 стандартных отклонения.
На внутридневных данных желательно проводить подстройку параметров с учетом двух факторов: центральная линия должна выполнять поддержку цен на тренде, а верхняя и нижняя линии должны ограничивать движение при флэте.
Индивидуальная настройка периода BB производится аналогично настройке SMA. Аналогично простым скользящим средним центральная линия полосы Боллинджера используется как линия поддержки/сопротивления при трендовых движениях. Верхняя и нижняя линии показывают диапазон колебания при случайном движении цены (ненаправленном), который обычно сохраняется при боковом движении и нарушается при начале трендовых движений.
Автор: Д. Боллинджер (J. Bolliger)
Источник: Д. Боллинджер, «Боллинджер о лентах боллинджера».
Пример:
Исходный текст:
Код: Выделить всё
function Initialize()
{
IndicatorName = "BB";
PriceStudy = true;
AddInput("Input", Inputs.Price);
AddParameter("Period", 50, 1.2);
AddParameter("D", 2.0);
AddGlobalVariable("SUM", Types.Double, 0.0);
AddSeries("SMA", DrawAs.Line, Color.Gray);
AddSeries("Upper", DrawAs.Line, Color.Gray);
AddSeries("Lower", DrawAs.Line, Color.Gray);
}
function Evaluate()
{
// AlfaDirect. 2014. OX
// BB - (Bollinger Bands) Линии болинджера.
// Автор - Боллинджер (Bollinger).
if ( CurrentIndex < Period )
{
SUM = SUM + Input[0];
SMA = (SUM) / (CurrentIndex + 1);
}
else
{
SUM = SUM + Input[0] - Input[0-Period];
SMA = (SUM)/ Period;
}
if ( CurrentIndex < Period)
{
Upper = Input[0];
Lower = Input[0];
}
else
{
var sigma = 0.0;
for (var i = 0; i < Period; i++ )
sigma = sigma + (Input[-i] - SMA[0]) * (Input[-i] - SMA[0]);
sigma = D * Math.Sqrt(sigma/Period);
Upper = SMA[0] + sigma;
Lower = SMA[0] - sigma;
}
}
Индикатор является встроенным индикатором, поэтому создавать пользовательский индикатор не имеет смысла.