Блог им. autotrade

Горизонтальные объемы

ввел новые свойства в индикатор:
xshift — сдвиг по горизонтали
count — количество черточек по вертикали
period- сколько баров берутся в подсчет
maxline — количество баров для максимальной черточки
width — толщина черточки


т.о. можно на одном графике выставить несколько вертикальных объемов с разными смещениями:

Горизонтальные объемы


Горизонтальные объемы

скачать: my-files.ru/co7l8i

код:
Settings={
Name="GVOL",
period=200,
maxline=20,
width=4,
count=50,
xshift=0,
line={} 
}
--[[

описание свойств:

xshift - сдвиг по горизонтали
count - количество черточек по вертикали
period- сколько баров берутся в подсчет
maxline - количество баров для максимальной черточки
width - толщина черточки

--]]

function Init()
  
  n=Settings.count
  vol={}
  for j = 1, n do        
    vol[j]=0
    Settings.line[j] = {Color=RGB(0,172,220),Type=TYPE_LINE,Width=Settings.width}
    for i=1, Size() do 	
	 SetValue(i, j, nil)<br />end
  end  
   
  return n
end

function OnCalculate(index)
    

       
  if (index < Size()-Settings.xshift)or(index > Size()-Settings.xshift) then
    return nil
  else  	   

    maxv=0
    maxc=0
    minc=9999 
         
    for i=Size()-Settings.xshift-Settings.period, Size()-Settings.xshift do  
       
      if C(i) ~= nil then         
        if maxc < C(i) then 
          maxc = C(i)      
        end        
        if minc > C(i) then 
          minc = C(i)      
        end
      end
            
    end   
     
    delta = (maxc - minc)/n
     
    for i=Size()-Settings.period, Size() do  
 
      for j = 1, n do 
       if C(i) ~= nil then      
        if (C(i) > minc + (j-1)*delta) and (C(i) <= minc + j*delta) then 
          vol[j]=vol[j]+V(i)                     
        end  
       end    
      end
            
    end   

    for j = 1, n do
      if maxv < vol[j] then 
        maxv = vol[j]
      end                
    end    
      

    k = 0 
    for i=Size()-Settings.xshift-Settings.maxline+1, Size()-Settings.xshift do  
      k = k + 1
      for j = 1, n do
        if vol[j] >= (Settings.maxline - k)*maxv/Settings.maxline then 
          SetValue(i, j, minc + j*delta)
        else  
          SetValue(i, j, nil)
        end      
    
        
      end
    end
   
     
  end


end
  • Ключевые слова:
  • quik,
  • lua
★24 | ₽ 10
13 комментариев
Т.е., эти вертикали черточек будут показываться через каждые 50 баров (в указанных здесь настройках)?
avatar
SergP, он будет столько раз показываться сколько ты его добавишь
например добавляешь 3 раза
в первом будет xshift=0 во втором xshift=100 в третем xshift=200 и period = 100 во всех
avatar
autotrade.ru, а зачем этот хшифт вообще? — задал период в барах, и пусть выводится регулярно через период.
avatar
SergP, так не работает это квик в нем все через опу
avatar
молодца
только вот советую… всю эту хрень  видеть на графике глазами-)
avatar
xxxxx, глаза не казенные))
avatar
xxxxx, как ты глазами увидишь какие объемы на уровнях? или ты как калькулятор можешь складывать сотни чисел за пол секунды?
avatar
autotrade.ru, это видно легко… если долго торгуешь-)
математика вообще не причем… видно по фракталам!
avatar
xxxxx, фракталы тут при чем? Так плотности/проторговку называете? :)
avatar
autotrade.ru, это полезно для отдельных свечей чтобы оценить их силу или слабость и как следствие их место во фрактале Эллиота 3-2.Большой объем на краях 3й волны импульса.
avatar
упадет ваша гидра к 0,53, возможно, что не с текущих, а отметок повыше, но коррект к 0,53 уже виден на графике. 
avatar
Lis', она не моя
avatar
Фьючерсы GVol не любит
avatar

теги блога autotrade

....все тэги



UPDONW