Блог им. autotrade

Горизонтальные объемы на рост (зеленый) на падение (красный)

Горизонтальные объемы на рост (зеленый) на падение (красный)
как работает:

Горизонтальные объемы на рост (зеленый) на падение (красный)

цена притягивается к красным объемам сверху и отталкивается от красного объема снизу и наоборот для зеленых объемов. это объясняется тем что шортисты или лонгисты пытаются по-быстрому закрыть убыточную позицию хотя бы в безубыток
например, если красные объемы сверху и цена едет к ним снизу, то шортисты пытаются откупиться поэтому цена будет ускорятся, если такие же объемы снизу, то они будут пытаться так же откупаться чтоб выйти в безубыток  поэтому цена будет тормозиться

зеленый:
Settings={
Name="GVOL_green",
period=200,
maxline=20,
width=4,
count=50,
xshift=0,
vlm=1,
timing=0,
line={} 
}
--[[

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

xshift - сдвиг по горизонтали
count - количество черточек по вертикали
period- сколько баров берутся в подсчет
maxline - количество баров для максимальной черточки
width - толщина черточки
vlm - 1-c учетом оъема 0-просто распределение без объема,
timing - весовые коэффициенты по времени 

--]]

function Init()

    n=Settings.count  
	
    vol={}
    for j = 1, n do        
      vol[j]=0
      Settings.line[j] = {Color=RGB(0,192,0),Type=TYPE_LINE,Width=Settings.width}
      --for i=Size()-Settings.xshift-Settings.maxline, Size()-Settings.xshift do 	
	  for i=1, Size() do 	
	   SetValue(i, j, nil)
	  end 
    end  
    
  return Settings.count  
end

function OnCalculate(index)
    

 
  if (index < Size()-Settings.xshift)or(index > Size()-Settings.xshift) then
    return nil
  else  	   
  
    n=Settings.count  
	
    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.xshift-Settings.period, Size()-Settings.xshift 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 
		  if Settings.vlm == 1 then
		    if V(i) ~= nil then
			  if C(i) > O(i) then 
			    if Settings.timing == 1 then
				  vol[j]=vol[j]+V(i)*i/Settings.period
				else 
                  vol[j]=vol[j]+V(i) 
				end
			  end 
            end 			
          else 		  
		    vol[j]=vol[j]+1
		  end
        end  
       end    
      end
            
    end   

    for j = 1, n do
	  --vol[j] = math.floor(vol[j]+0.5)
      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] >= math.floor((Settings.maxline - k)*maxv/Settings.maxline+0.5) then 
	    if vol[j] >= (Settings.maxline - k)*maxv/Settings.maxline then 		  
          SetValue(i, j, minc + (j+0.25)*delta)		  
        else  		
          SetValue(i, j, nil)
        end      
      end
    end
	  
     
  end


end
красный:
Settings={
Name="GVOL_red",
period=200,
maxline=20,
width=4,
count=50,
xshift=0,
vlm=1,
timing=0,
line={} 
}
--[[

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

xshift - сдвиг по горизонтали
count - количество черточек по вертикали
period- сколько баров берутся в подсчет
maxline - количество баров для максимальной черточки
width - толщина черточки
vlm - 1-c учетом оъема 0-просто распределение без объема,
timing - весовые коэффициенты по времени 

--]]

function Init()

    n=Settings.count  
	
    vol={}
    for j = 1, n do        
      vol[j]=0
      Settings.line[j] = {Color=RGB(192,0,0),Type=TYPE_LINE,Width=Settings.width}
      --for i=Size()-Settings.xshift-Settings.maxline, Size()-Settings.xshift do 	
	  for i=1, Size() do 	
	   SetValue(i, j, nil)
	  end 
    end  
    
  return Settings.count  
end

function OnCalculate(index)
    

 
  if (index < Size()-Settings.xshift)or(index > Size()-Settings.xshift) then
    return nil
  else  	   
  
    n=Settings.count  
	
    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.xshift-Settings.period, Size()-Settings.xshift 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 
		  if Settings.vlm == 1 then
		    if V(i) ~= nil then
			  if C(i) < O(i) then 
			    if Settings.timing == 1 then
				  vol[j]=vol[j]+V(i)*i/Settings.period
				else 
                  vol[j]=vol[j]+V(i) 
				end
			  end 
            end 			
          else 		  
		    vol[j]=vol[j]+1
		  end
        end  
       end    
      end
            
    end   

    for j = 1, n do
	  --vol[j] = math.floor(vol[j]+0.5)
      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] >= math.floor((Settings.maxline - k)*maxv/Settings.maxline+0.5) then 
	    if vol[j] >= (Settings.maxline - k)*maxv/Settings.maxline then 		  
          SetValue(i, j, minc + (j-0.25)*delta)		  
        else  		
          SetValue(i, j, nil)
        end      
      end
    end
	  
     
  end


end
  • обсудить на форуме:
  • Quik Lua
3.9К | ★28
16 комментариев
поясните для дремучих, пжлста, это куда вставить и для какой проги?
Спасибо
avatar
Lilith, quik
avatar
СКАЧАТЬ ГДЕ ?))))
avatar
Александр, так копируй в файл исходный код, название файла любое назови его как-нибудь с расширением lua и кинь в папку QUIK\LuaIndicators
avatar
Для квика. Lua добавить индикатор.
avatar
 Странно с 175 по 190 были объемы, у вас они не отображаются 
avatar
Salvinit, объемы на конец бара берутся
avatar
Можно попросить пояснить вторую картинку
avatar
q123, цена притягивается к красным объемам сверху и отталкивается от красного объема снизу и наоборот для зеленых объемов. это объясняется тем что шортисты или лонгисты пытаются по-быстрому закрыть убыточную позицию хотя бы в безубыток
например, если красные объемы сверху и цена едет к ним снизу, то шортисты пытаются откупиться поэтому цена будет ускорятся, если такие же объемы снизу, то они будут пытаться так же откупаться чтоб выйти в безубыток  поэтому цена будет тормозиться
avatar
autotrade.ru, спасибо за пояснения
avatar
q123, все секреты раскрываю :)
avatar
autotrade.ru, :))), я правильно понимаю, что это два индикатора, один забивается как зеленый, а другой как красный?))
avatar
q123, да в одном индикаторе lua не предназначено динамически менять цвет поэтому пришлось сделать два инлдиктатора
avatar
autotrade.ru, спасибо
avatar
Спасибо! Думаю это полезно.
avatar
Извините но я сооовсем не понял последовательность действий что бы отобразить горизонтальный объем, если не затруднит — можно более подробно объяснить что создавать и куда кидать.
За ранее благодарен
avatar

Читайте на SMART-LAB:
Фото
🔔 Информация о выплате купонного дохода для наших инвесторов
Сегодня, 19 февраля, ООО МФК «ПСБ Финанс» выплатило купонный доход по облигациям ПСБ Фин2P2 (RU000A10E4G8) за купонный период с...
Самолет лидер по объему ввода жилья в МО
Друзья, привет! Продолжаем делиться своими результатами. 🚀 По данным Главстройнадзора МО , мы стали лидером по объемам ввода  жилья в...
🖥 Софтлайн накопил долги
Разработчик ПО отчитался за 4 квартал и весь прошлый год   Софтлайн (SOFL) ➡️ Инфо и показатели     Результаты за 4 квартал —...
Фото
Россети Ленэнерго. Отчет об исполнении инвестпрограммы за Q4 2025г. Опасения оправдались - обесценение съело прибыль
Компания Россети Ленэнерго опубликовала отчет об исполнении инвестпрограммы за Q4 2025г., где показаны финансовые показатели компании по...

теги блога autotrade

....все тэги



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