Блог им. autotrade
Settings={ Name="MNKA", period=200, line= { { Type =TYPE_LINE, Width = 1, Color = RGB(0,0, 0) }, { Type =TYPE_LINE, Width = 1, Color = RGB(255,0, 0) } } } --[[ описание свойств: period - период, за каротрый делается расчет назначение: построение тенденции использовался: метод наименьших квадратов (аппроксимация линией) --]] function Init() return 2 end function OnCalculate(index) sz = Size() n = Settings.period --[[ if (index ~= sz) then return nil else --]] y = nil if index-n > 0 then a1 = 0 a2 = 0 a3 = 0 a4 = 0 for i=index-n+1, index do a1 = a1+i*C(i) a2 = a2+i a3 = a3+C(i) a4 = a4+i*i end if((n*a4 - a2*a2) ~= 0) then a = (n*a1 - a2*a3)/(n*a4 - a2*a2) --b = (a3 - a*a2)/n y = a --[[for j=index-n+1, index do y = a*j + b SetValue(j, 1, y) end--]] end end return 0, y --end end