Блог им. autotrade

Индикатор наклонного канала

сам тренд это такая линия сумма квадратов расстояний до которой от каждой цены закрытия бара минимальны (метод наименьших квадратов)
дайте мне тимофейчиков
:)
Индикатор наклонного канала
 
 

Settings={
Name="MNKHL",
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(0,255, 0)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(255,0, 0)
                    },
					{  
                        Name = "cur5",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,255, 0)
                    }

                }

}
--[[

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

назначение:
построение тенденции

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

--]]

function Init()
  
  return 5
end

function OnCalculate(index)
    
  sz = Size()
  n = Settings.period
  d = Settings.delta
       
  if (index ~= sz) then
    return nil, nil, nil, nil, nil
  else  	   
   y = 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
    
	 j = index-n+1-d
	 mh1 = H(j)
	 ml1 = L(j)
	 mh2 = H(j)
	 ml2 = L(j)
	 dmh1 = 0
	 dml1 = 0
	 dmh2 = 0
	 dml2 = 0
     for j=index-n+1-d, index-d do  
      y = a*j + b
      SetValue(j, 1, y) 
	  if H(j) < y and y - H(j) > dmh1 then
	    mh1 = H(j)
		dmh1 = y - H(j)
	  end
	  if L(j) < y and y - L(j) > dml1 then
	    ml1 = L(j)
		dml1 = y - L(j)
	  end
	  if H(j) > y and H(j) - y > dmh2 then
	    mh2 = H(j)
		dmh2 = H(j) - y
	  end
	  if L(j) > y and L(j) - y > dml2 then
	    ml2 = L(j)
		dml2 = L(j) - y
	  end
     end	
	 
     for j=index-n+1-d, index-d do  
      y = a*j + b
      SetValue(j, 2, y-dmh1) 
	  SetValue(j, 3, y-dml1) 
      SetValue(j, 4, y+dmh2) 
	  SetValue(j, 5, y+dml2) 	  
     end		 
	 
    end 
   end 	
   return y
  end
 
  
end
    | ★14
    9 комментариев
    Отлично!!!
    avatar
    Ajax, Согласен. Жаль мало трейдеров о нем узнают(
    avatar
    Aleksandr II, это моя разработка поэтому никто и не знает
    avatar
    Не знаю как Вас, а меня учили, что по двум нижним фракталам (и 1 верхнему) строится восходящий канал, а не нисходящий…
    avatar
    Андрей Кольцов, здесь строится по центральной черной линии, а она берется как тренд за период, а он строится как здесь  smart-lab.ru/blog/568221.php
    avatar
    Когда я вижу, сколько смартлабовцев сохраняет это к себе в избранное, то вопрос, почему и сколько народу сливает, отпадает сам собой-)
    avatar
    Спасибо, конечно, за индикатор, но вся беда в том, что он показывает тренд, когда тот закончился (заканчивается) ((
    Евгений Гуревич, если бы он это показвал то можно было его использовать как конт трендовый
    или вы просто не можете понять силу тренда
    не нужно воспринимать индикатор как последнюю инстанцию
    он всего лишь работает с вероятностями
    avatar
    1) Почему на Вашем скрине нижняя красная линия проходит по 2-м нижним экстремумам, а у меня эту линию рисует ниже?
    2) Было б здорово, если бы Ваш индикатор мог рисовать верхнюю границу как в нарисованном вручную желтой пунктирной линией (при условии, что нижнюю границу он бы рисовал по нижним экстремумам)

    avatar

    Читайте на SMART-LAB:
    Фото
    Продажи коротких полисов ОСАГО показывают «иксы»
    В 1 квартале 2026 года количество проданных коротких полисов ОСАГО для такси достигло 5,9 млн, превысив в 7 раз показатель предшествующего года,...
    Фото
    «Селигдар» открыл два новых месторождения золота в Якутии
    «Селигдар» в результате проведения работ получил свидетельства, подтверждающие установления фактов открытий двух месторождений Чулковское и Хохой...
    Фото
    Идеальные коридоры: три интересные технические идеи
    Один из эффективных способов заработка на рынке — торговля теми акциями, которые движутся в ярко выраженном коридоре. Принципы такой торговли, а...
    Фото
    Кто сейчас самый дешевый сбыт? Сводный пост по сбытовым компаниям по отчетам РСБУ за 2025г.
    Волгоградэнергосбыт Ставропольэнергосбыт Самараэнерго Мордовэнергосбыт Пермэнергосбыт Новосибирскэнергосбыт...

    теги блога autotrade

    ....все тэги



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