autotrade
autotrade личный блог
13 июля 2019, 20:34

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

ввел новые свойства в индикатор:
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
13 Комментариев
  • SergP
    13 июля 2019, 20:48
    Т.е., эти вертикали черточек будут показываться через каждые 50 баров (в указанных здесь настройках)?
      • SergP
        13 июля 2019, 21:43
        autotrade.ru, а зачем этот хшифт вообще? — задал период в барах, и пусть выводится регулярно через период.
  • xxxxx
    13 июля 2019, 21:52
    молодца
    только вот советую… всю эту хрень  видеть на графике глазами-)
    • SergP
      13 июля 2019, 21:56
      xxxxx, глаза не казенные))
      • xxxxx
        13 июля 2019, 22:12
        autotrade.ru, это видно легко… если долго торгуешь-)
        математика вообще не причем… видно по фракталам!
        • (1:10) || algo
          14 июля 2019, 09:14
          xxxxx, фракталы тут при чем? Так плотности/проторговку называете? :)
      • ezomm
        13 июля 2019, 22:22
        autotrade.ru, это полезно для отдельных свечей чтобы оценить их силу или слабость и как следствие их место во фрактале Эллиота 3-2.Большой объем на краях 3й волны импульса.
  • An
    13 июля 2019, 22:28
    упадет ваша гидра к 0,53, возможно, что не с текущих, а отметок повыше, но коррект к 0,53 уже виден на графике. 
  • vllego
    14 июля 2019, 13:11
    Фьючерсы GVol не любит

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн