Рассчет Bollinger Bands

Рассчет Bollinger Bands

Статус темы:
Закрыта.
  1. Doctor

    Регистрация:
    18.01.18
    Сообщения:
    9
    Был на сайте:
    21.10.20

    Добрый День. Пользуясь случаем хотел бы сказать Спасибо всем разработчикам движка.
    Теперь вопрос. Вижу, что среднее отклонение в Bollinger Bands считается относительно последнего значения SMA. Верно ли это?

    Сам считаю отклонение относительно значение SMA, которое соответствует закрытой свече.
    Код из 1.0.0.5 :

    \OsEngine\Charts\CandleChart\Indicators\Bollinger.cs

    ...
    // 1 считаем СМА
    decimal valueSma = 0;
    for (int i = index - Lenght + 1; i < index + 1; i++)
    {// бежим по прошлым периодам и собираем значения
    valueSma += candles[i].Close;
    }
    valueSma = valueSma / Lenght;
    // 2 считаем среднее отклонение
    // находим массив отклонений от средней
    decimal[] valueDev = new decimal[Lenght];
    for (int i = index - Lenght + 1, i2 = 0; i < index + 1; i++, i2++)
    {
    // бежим по прошлым периодам и собираем значения
    valueDev[i2] = candles[i].Close - valueSma;
    }
    ...

    Doctor
    07.03.2018 12:33
    #1
  2. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    25.04.24

    Не пойму в чём проблема.

    Там считается динамически. И по закрытию свечи и по её изменению. Т.е. значение боллинджера на последней свече меняется до последнего, пока она не становится исторической.

    Алексей Ван
    11.03.2018 09:40
    #2
  3. Doctor

    Регистрация:
    18.01.18
    Сообщения:
    9
    Был на сайте:
    21.10.20

    Попробую изобразить. Считаем ВВ с периодом 12 для точки 0. Свечи уже закрытые.

    В первом цикле считаем среднее (valueSma) для точки 0. Для этого берем закрытия свечей от 11 до 0 и находим среднее.

    Во втором цикле считаем отклонение для точки 0. Для этого из закрытия свечей от 11 до 0 вычитаем valueSma. Это на мой взгляд не правильно.


    Нужно вычитать не среднее в точке 0, а считать среднее для каждой свечи от 11до 0:

    Doctor
    13.03.2018 01:15
    #3
  4. Алексей Ван Команда форума

    Регистрация:
    02.02.13
    Сообщения:
    1172
    Был на сайте:
    25.04.24

    Сверху в Квик. Снизу в OsEngine. Всё идентично.

    Вплоть до десятитысячных.

    Что-то менять сейчас - отойти от стандарта.

    Это не значит что Ваше прочтение плохое. Всё норм. И возможно даже оно лучше будет считать отклонение, будет лучше учитывать волатильность. Но это не Боллинджер будет.


    А возможно у нас просто разные формулы. В Квик и ВелсЛаб например больше половины индикаторов не совпадают. А мы всё же ориентируемся на СНГ, соответственно должны равняться на Квик.

    Алексей Ван
    13.03.2018 07:50
    #4
  5. Doctor

    Регистрация:
    18.01.18
    Сообщения:
    9
    Был на сайте:
    21.10.20

    По идее, разница должна быть максимально заметна на больших периодах и постоянно растущей (или падающей) ценой. Вчера проверил на ВВ с периодом 80 и визуально разницы с Quik тоже не заметил. Тему можно закрывать.

    Doctor
    14.03.2018 13:25
    #5
Статус темы:
Закрыта..