Блог им. autotrade

MNKOSC - осцелятор по каналу (движение цены внутри канала)

MNKOSC предлагаю использовать совместно с MNKA (индикатор наклона канала)
сигналом к покупке/продаже может служить пересечение им нулевой линии

нужно смотретьна наклон канала чтоб не шортить на восходящем канале и наоборот

MNKOSC - осцелятор по каналу (движение цены внутри канала)






Settings={
Name="MNKOSC",
period=200,
delta=0,
line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 0)
                    }

                }

}
--[[

описание свойств:
period - период, за каротрый делается расчет
delta - смещение назад 

назначение:
осцелятор по каналу

использовался:
метод наименьших квадратов (аппроксимация линией)

--]]

function Init()
  
  return 4
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  d = Settings.delta
        	
   y = nil    
   y1 = nil
   y2 = nil
   if index-n-d > 0 then
    a1 = 0
	a2 = 0
	a3 = 0
	a4 = 0
    for i=index-n+1-d, index-d 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
    
	 c1 = 0
	 c2 = 0
	 n1 = 0
	 n2 = 0
     for j=index-n+1-d, index-d do  
      y = a*j + b
	  if C(j) < y then
	    c1 = c1 + (y -C(j))
		n1 = n1 + 1
	  end
	  if C(j) > y then
	    c2 = c2 + (C(j) - y)
		n2 = n2 + 1
	  end	  
     end	
	 
	 if n1 ~= 0 then
	   c1 = c1/n1
	 end
	 if n2 ~= 0 then
	   c2 = c2/n2
	 end		 
	 
	 j = index-d
	 y = a*j + b
     y1 = -2*c1	
     y2 = 2*c2		 
	 
     j =  index-d
     y = C(j) - a*j - b
	 
	 
    end 
   end 	
   return 0, y, y1, y2
 
  
end
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
    439 | ★4
    2 комментария
    если код такой же, как и написан тип индикатора, то явно шняга
    в одном слове-термине две ошибки((( осциллятор, а не осцелятор. Чую, что книг не читал((
    avatar

    Читайте на SMART-LAB:
    Фото
    GBP/USD: давят ниже, чтобы зайти по лучшей цене?
    «Старый джентльмен» оттолкнулся от уровня 1.3550 и вторую неделю активно снижается. На дневном графике сформировался нечеткий ценовой коридор,...
    🏦 Дом.PФ молниеносно закрыл дивгэп. Как это произошло?
    Как у компании это получилось и чего ждать акционерам дальше — рассказывает руководитель по связям с инвесторами эмитента Кристина Суровнева....
    Фото
    Итоги первичных размещений ВДО и некоторых розничных выпусков на 22 июля 2026 г.
    Следите за нашими новостями в удобном формате: Telegram , Youtube , RuTube, Smart-lab , ВКонтакте , Сайт
    Фото
    Идеи Элвиса Марламова в ПИФ Аленка Капитал на июль - подсматриваем публичные данные лучшего фонда в прошлом, которому в этом году поплохело
    Традиционно продолжаем следить за ПИФ Аленка Капитал от Элвиса Марламова Предыдущий пост про ПИФ Alenka Capital был месяц назад тут...

    теги блога autotrade

    ....все тэги



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