Блог им. autotrade

Индикатор зигзага, показывающий периоды колебания

ZIG_MA_v2  строится как зигзаг относительно EMA
Индикатор зигзага, показывающий периоды колебания

--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIG_MA_v2",
Procent=2.0,
ln=50,
line=                                     
                {  
					{  
                        Name = "ZIG_MA",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 0)
                    },
					{  
                        Name = "ZIG_MA2",
                        Type =TYPE_LINE,
                        Width = 1,
                        Color = RGB(0,0, 255)
                    }	
                }
}

function Init()
  ema = {}
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
       
  return 2
  
end

function OnCalculate(index)

  de = Settings.Procent
  ln = Settings.ln
  
  if index <= 1 then 
	ema[index] = C(index)
  else 
    ema[index] = (ema[index-1]*(ln-1) + C(index))/ln
  end   
  
  if ln==0 then   
    pr = C(index)
  else 
    pr = C(index)-ema[index]
  end 

  vl = C(index)
  if index == 1 then 
	y1 = vl
    y2 = vl
  else   
	  if pr > y1+C(index)*de/100 and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = pr		
      else 
	    if pr > y1 and y1 >= y2 
		then 
	      x1 = index 
	      y1 = pr	  			  
	    end 		
	  end 	

	  	  		
	  if pr < y1-C(index)*de/100 and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = pr		
      else 
	    if pr < y1 and y1 <= y2 
		then 
	      x1 = index 
	      y1 = pr	  			  
	    end 		
	  end 	
	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 

  if curto ~= curfrom and curfrom ~= nil and curto ~= nil then 
    if C(curto) ~= nil and C(curfrom) ~= nil then 
      k = (C(curto)- C(curfrom))/(curto- curfrom)  
      for i = curfrom, index  do
        curv = i*k + C(curto) - curto*k  		          
	    SetValue(i, 1, curv)
      end   	
	end 
  end 
  
  return vl, ema[index]
 
  
end
★2
10 комментариев
прошлое и по факту — красиво!
а будущее показывает?
avatar
Pringles, будущее показывает хрустальный шар
Pringles, будущее ничто не показывает
avatar
autotrade.ru, будущее показывает волновая теория Эла. Она показывает что будет и вверх и вниз и даже… боком. Цена (по большому… смыслу) танцует танец 3-2 те 3 шага вперед и 2 назад. Просто надо вглядываться в график чтобы увидеть этот танец.
avatar
Зачем тут ЕМА? 
Как зигзаг практически используется?
avatar
svgr, например можно импульсы считать 
avatar
autotrade.ru, правильно говорить -волны в импульсе(только в импульсе, но не в коррекции) считать по формуле 5=N*4 где N=1,2,3, и  тд.



avatar
Вы вроде бы уже выкладывали свой зигзаг раньше.
Это зигзаг чем то отличается от предыдущего?
avatar
 Линию регрессии не пробовали по такому же принципу строить ?
Она будет проходить не по экстремумам, а по середине канала.
avatar
_sg_, есть такой индикатор 
avatar

теги блога autotrade

....все тэги



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