Блог им. 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
    ★15
    9 комментариев
    Отлично!!!
    avatar
    Ajax, Согласен. Жаль мало трейдеров о нем узнают(
    avatar
    Aleksandr II, это моя разработка поэтому никто и не знает
    avatar
    Не знаю как Вас, а меня учили, что по двум нижним фракталам (и 1 верхнему) строится восходящий канал, а не нисходящий…
    avatar
    Андрей Кольцов, здесь строится по центральной черной линии, а она берется как тренд за период, а он строится как здесь  smart-lab.ru/blog/568221.php
    avatar
    Когда я вижу, сколько смартлабовцев сохраняет это к себе в избранное, то вопрос, почему и сколько народу сливает, отпадает сам собой-)
    Спасибо, конечно, за индикатор, но вся беда в том, что он показывает тренд, когда тот закончился (заканчивается) ((
    Евгений Гуревич, если бы он это показвал то можно было его использовать как конт трендовый
    или вы просто не можете понять силу тренда
    не нужно воспринимать индикатор как последнюю инстанцию
    он всего лишь работает с вероятностями
    avatar
    1) Почему на Вашем скрине нижняя красная линия проходит по 2-м нижним экстремумам, а у меня эту линию рисует ниже?
    2) Было б здорово, если бы Ваш индикатор мог рисовать верхнюю границу как в нарисованном вручную желтой пунктирной линией (при условии, что нижнюю границу он бы рисовал по нижним экстремумам)

    avatar

    теги блога autotrade

    ....все тэги



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