Блог им. SerSer

Альтернатива стандартному Болинджеру - Болинджер через линейную регрессию

Добрый вечер.

При одних и тех же периодах — намного информативней и интересней...

Альтернатива стандартному Болинджеру - Болинджер через линейную регрессию

Settings = 
{
        Name = "xBollinger_LinReg",
        period = 40,
        deviation=2,
        line=
        {
                {
                        Name = "xBollinger_LinReg",
                        Color = RGB(0, 0, 255),
                        Type = TYPE_LINE,
                        Width = 2
                },
                {
                        Name = "xBollinger_LinReg",
                        Color = RGB(192, 0, 0),
                        Type = TYPE_LINE,
                        Width = 2
                },
                {
                        Name = "xBollinger_LinReg",
                        Color = RGB(0, 128, 0),
                        Type = TYPE_LINE,
                        Width = 6
                }
        
        }
}


function c_FF()
        
        local AMA={}
        local CC={}
        
        return function(ind, _p,_ddd)
                local period = _p
                local index = ind
                
                local vol = 0
        
                local sigma = 0
                local sigma2 = 0

                local aav = 0
                local bb = 0
                local ZZZ = 0

                                        
                if index == 1 then
                        AMA={}
                        CC={}
                        
                        CC[index]=(C(index)+H(index)+L(index))/3
                        AMA[index]=(C(index)+O(index))/2
                        
                        return nil
                end
                
                ------------------------------
                AMA[index]=AMA[index-1]
                CC[index]=(C(index)+H(index)+L(index))/3

                if index < (_p) then return nil end
                                
                period =_p
                if index < period then period = index end
        --------------- 
                sigma=0
                sigma2=0
                aav=0
                ZZZ=0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        aav=aav+ZZZ
                        sigma=sigma+ZZZ*(-(period-1)/2+i)
                        sigma2=sigma2+(-(period-1)/2+i)^2
                end
        bb=sigma/sigma2
        aav=aav/period
                
        AMA[index]=aav+bb*((period-1)/2)
                
                sigma=0
                sigma2=0
                sigma3 = 0
                for i = 0, period-1 do
                        ZZZ=CC[index+i-period+1]
                        sigma2=aav+bb*(-(period-1)/2+i)
                        sigma=sigma+(ZZZ-sigma2)^2

                end
                sigma=(sigma/period)^(1/2)
                                                                
                        return AMA[index]-sigma*_ddd,AMA[index]+sigma*_ddd, AMA[index]
                        
        end
end


function Init()
        myFF = c_FF()
        
        return 3
end
function OnCalculate(index)
        
        
        
        return myFF(index, Settings.period,Settings.deviation)
        
                
end


Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
376 | ★30
8 комментариев
на картинке ничего не понятно. Можно расшифровку нормальную сделать? И пояснить чем «информативнее»…
avatar
Суслик, 
черный/серый — стандартный болинджер квика,
красный/зеленый/синий — альтернативный индикатор болинджера
обычные средние (MA) отражают изменение тренда очень и очень постфактум, в отличии от линейной регрессии.
А проще (если у Вас квик) возьмите индикатор и протестируйте.
Каналы Келтнера еще информативнее.
avatar
Helias, Кельтнер использует скользящую среднюю, а значит априори отстает от линейной регрессии
пока не очень понятно в чем они информативней и интересней, но все равно большое спасибо Вам Сергей! заставляете думать и искать)
avatar
Stoic, а попробуйте классическую стратегию торговли для болинджера (пробитие верхней/нижней границы) на данном индикаторе
Вот делают непонятно что, путают жопу с пальцем и пишут о какой-то информативности. Боллинджер понятно что показывает — отклонения от среднего значения за выбранный период, а эта херь что показывает? надобно пояснять
Причем тут опережение, когда сам боллинджер самодостаточен и показывает как раз то, что нужно — классическое стдв.
avatar
Максим Дмитриевский, Добрый день.
Среднее значение — является вырожденным частным случаем уравненения линейного тренда y=a+bx при b=0 ==> y=a. И Болинджер отражает отклонение от среднего значения, при предположении, что динамический ряд значений статичен и не имеет трендовой направленности.
В предлагаемом варианте Болинджера, отражается отклонение цены не от статичного значения вырожденной функции, а от направления тренда и в рамках его системы координат.
И извините, что путаю Ваши знания с пальцем.

Читайте на SMART-LAB:
Фото
Хэдхантер проведёт Headconf 2026
Обновление кредитных рейтингов в ВДО и розничных облигациях
⚪️ООО ЗАС Корпсан НРА подтвердило кредитный рейтинг ООО ЗАС Корпсан на уровне B|ru| по национальной рейтинговой шкале для Российской...
Фото
Транснефть: отчет по МСФО за 2-й квартал дает надежду на высокие дивиденды + с покупкой Газпромбанка определились
Фото
Рубль снова упал - на календаре третий квартал. Анализ исторической сезонности курса рубля
Здравствуйте! Мне стало интересно проверить, существует ли статистически значимая сезонность курса рубля относительно равновзвешенной корзины...

теги блога Маркин Павел

....все тэги



UPDONW
Новый дизайн