Блог им. autotrade

Индикатор горизонтальных уровней

Индикатор ZIGZAGLEVELS горизонтальных уровней
Индикатор горизонтальных уровней
--[[
параметры: 
Procent - процент зигзага 
--]]
Settings={
Name="ZIGZAGLEVELS",
Procent=5.0,
levels=6,
delta=0.2,
    line=                                     
                {  
					{  
                        Name = "cur1",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },				
					{  
                        Name = "cur2",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur3",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur4",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },				
					{  
                        Name = "cur5",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    },
					{  
                        Name = "cur6",
                        Type =TYPE_LINE,
                        Width = 2,
                        Color = RGB(0,0, 255)
                    }					
                }
}

function Init()
  
  y1 = nil
  y2 = nil
  x1 = 1
  x2 = 1
  levelsy={}
  levelsx={}  
  cntlevels=0
      	
  return 6
  
end

function OnCalculate(index)

  de = Settings.Procent
  levels = Settings.levels
  delta = Settings.delta
  sz = Size()

  vl = C(index)
  if index <= 1 then 
	y1 = vl
    y2 = vl
	cntlevels=0
  else   
	  if C(index) > y1*(1+de/100) and y1 < y2 then 
	    x2 = x1
	    y2 = y1	
	    x1 = index 
	    y1 = C(index)	        
        cntlevels = cntlevels + 1		
		levelsx[cntlevels]=x2
	    levelsy[cntlevels]=y2        
	  end 	
	  if C(index) > y1 and C(index) > y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 
	  	  		
	  if C(index) < y1*(1-de/100) and y1 > y2 then 
	    x2 = x1
	    y2 = y1
	    x1 = index 
	    y1 = C(index)	  		
		cntlevels = cntlevels + 1
		levelsx[cntlevels]=x2
	    levelsy[cntlevels]=y2		
	  end 	
	  if C(index) < y1 and C(index) < y2 then 
	    x1 = index 
	    y1 = C(index)	  			  
	  end 	  	  		
	end 	
  
  if x1 ~= index then 
    curfrom = x1
	curto = index
  else 
    curfrom = x2
	curto = x1
  end 
  
  if sz == index then 
   cnt = levels
   for k = 1, cnt do  
	for i = 1, index  do        
	  SetValue(i, k, nil)
    end     
   end 
  
  -- cnt = 3
   k = 0
   for j = cntlevels, 1, -1 do
    d = 0
    if levelsy[j] > C(index) then 
      d = levelsy[j] - C(index)
	end 
    if levelsy[j] < C(index) then 
      d = C(index) - levelsy[j]
	end 	
	if d < delta*C(index) and d > 0 then 
	 k = k + 1
	 if k <= cnt then 	   
	   y = levelsy[j]   
	   for i = levelsx[j], index  do        	     
	     SetValue(i, k, y)
       end   
	 end
	end 
   end

  --[[
   k = 0
   for j = cntlevels, 1, -1 do
    d = 0
    if levelsy[j] < C(index) then 
      d = C(index) - levelsy[j]
	end 	
	if d < 0.2*C(index) and d > 0 then 	 
	 if k <= cnt then 
	   k = k + 1
	   y = levelsy[j]   
	   for i = levelsx[j], index  do        	     
	     SetValue(i, k+3, y)
       end   
	 end
	end 
   end
   --]]
   
  end   

 
  
end

телеграм: t.me/autotradering
Данная публикация является личным мнением автора. Мнение владельца сайта может не совпадать с мнением автора.
2.4К | ★8
13 комментариев
Станислав Алексеев, это индикатор для quik
avatar
крутяк, но в торговле бесполезен я таких и от руки начерчу, но вот что на нем делать — покупать или продавать — он не подскажет.
без объемов он мало чем поможет
avatar
спасибо 
avatar
Плюсанул но потенциально пользы не увидел
avatar
не пойму. Зачем вы уровни проводите по закрытиям бара? 
Ведь на каждом таймфрейме они будут разные. Это же не верно. имхо.
между тем — по лоям/хаям — они везде одинаковые. 
Не сложно переделать?
avatar
Виталий Зотов, присоединяюсь! Оч хотелось бы то же самое по Хай и Лоу…
avatar
Как его установить в квик?
avatar
supermariobros, ищите в поисковике «установить индикатор на quik» куча роликов есть
avatar
autotrade, да, спасибо за работу
avatar
autotrade, а вы сами программируете?
avatar

Читайте на SMART-LAB:
Фото
📚 Конвертируемые облигации: из чего складывается доходность инвестора?
В ближайшее время начнется биржевое размещение конвертируемых облигаций ПАО «МГКЛ». Инвесторы смогут подать заявки на приобретение бумаг в...
Фото
Календарь первички ВДО и розничных облигаций (Вернём YTM 28,71% | ПРОГРЕСС YTM 26,83% | Л-Старт YTM 32,53% | БИЗНЕС АЛЬЯНС YTM 26,22%)
💼 На 9 июля запланировано размещение нового выпуска облигаций коллекторского агентства «Вернём» ( B|ru| , 150 — 200 млн руб.,...
Фото
Live Sprint 26-VII: июльская гонка трейдеров уже началась
Призовой фонд турнира – 40 000 рублей, памятный мерч и подарки для победителей. Условия простые: – быть трейдером проп-компании Live...
Фото
Интер РАО. Цена min за 10 лет. Пора покупать?
Последние месяцы наш фондовый рынок снижается, но я не буду разбираться в причинах (про них говорят все кому не лень), а поговорим по...

теги блога autotrade

....все тэги



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