Блог им. SerSer

Индикатор Горизонтальных объемов | LUA QUIK

Индикатор работает в рамках ограничений/возможностей QLUA и простоты использования, поэтому не обессудьте.

Индикатор Горизонтальных объемов | LUA QUIK

Индикатор писался не для боевого использования, а на спор и для тестирования некоторых графических возможностей QLUA. 

сам файл - xHV.lua

Для нормального отображения не забудьте передвинуть индикатор в начало очереди!!!
Индикатор Горизонтальных объемов | LUA QUIK




★102
66 комментариев
Попробуем. Спасибо!
avatar
Сколько история у него? 1,5 дня?
avatar
Роман, Сами Выбирайте



avatar
супер, отличная новость

avatar
а как включить? )
avatar
Alex,

Файл поместите в папку LuaIndicators в корневой папке Квика (если нет такой папки — создайте),

после чего кнопка «добавить график» и выберите индикатор

 
avatar
Маркин Павел, спасибо
avatar
круто… квик и объемы горизонтальные, и не надо обезличенные сделки таблицу подрубать. а тогда как это реализовано???
avatar
ЛеПа, приближёнными методами
avatar
Маркин Павел, так он не настоящий?)
avatar
ЛеПа, настоящий, но не тиковый
avatar
Если я правильно понял код, то объем строится по свечкам выбранного периода. Т.е. если на дневной свечке было движение 10% мы получим одну палку, вместо профиля по минутам.
avatar
nicknh, включите минутный таймфрейм, и будет у вас профиль по минуткам
avatar
Маркин Павел, Кто бы сомневался. Но я не работаю минтутками.
avatar
nicknh, тики?
avatar
Маркин Павел, Зачем же так...
4 часа, день, неделя. Ниже очень очень редко.
avatar
nicknh, А для выхода из многонедельного тренда хотите использовать горизонтальные объемы построенные по минуткам??? Не смешите…
avatar
Маркин Павел, А разве я сказал, что хочу. Я всего лишь сказал как работает данная реализация. В данном случае, это не профиль.
Что же касается работы, то даже для часового графика уже сложности возникнут, т.к. за час может быть сильное движение.

Впрочем то что Вы сделали, уже хорошо. Спасибо за пример.
avatar
а можно цвет поменять у всех линий сразу?

avatar
Dr Gonzo, Да

В файле, почти в конце есть такая строчка
Settings.line[i] = {Color = RGB(255, 192, 0), Type = TYPE_LINE, Width = 3}

RGB(255, 192, 0) — меняйте значения (0..255) — получите нужный цвет 
avatar
Маркин Павел, 
Спасибо. А можно его как-нибудь к левой оси привязать?
avatar
Подскажите, а в tradingview он будет работать?
avatar
gvv, нет
avatar
в каком порядке снизу или сверху накладывается-воображается обьем? цена слева направо! как они связываются
френк френков, Для рассматриваемого периода свечек формируется диапазон из 100 (ста) уровней от минимального до максимального значения цен. объем по каждой свечке из периода равномерно распределяется по уровням диапазона в которые она попала.
Таким образом весь объем за период распределяется по уровням.
После чего вывод на экран
avatar
Маркин Павел, понял.объём на уровень смотрит! спасибо. прозрачней бы
Маркин.ты.человечище.с большой.буквы.Огромное.число.людей.на квике.ждали, надеялись.о появлении.г.объема.Спасибо:-)
avatar
Salvinit,  а че молчали то? дрочите там что ли на свой объем?
Сказали бы, давно бы сделали.
avatar
Поддерживаю предыдущих ораторов, огромное спасибо))
avatar
Присоединяюсь!
avatar
Замечено, при добавлении на график фьючерсов (кроме этого замечательного индикатора «профиля») еще и графика открытых количества открытых позиций, профиль отображается не корректно.
Автор, можно в такой ситуации настройки профиля как то поправить?
avatar
GAP555, скриншот?
avatar
скриншоты загружаю, но они не отображаются здесь (
avatar
Очередные веселые картинки
avatar
Si 5 мин. с OI (с графиком открытого интереса)
С
 графиком открытого интереса
avatar
 Si 5 мин. без OI (без графика открытого интереса)

Без графика открытого интереса (5 мин)
avatar
 Si 60 мин. с OI (с графиком открытого интереса)
С графиком открытого интереса (60 мин)
avatar
 Si 60 мин. без OI (без графика открытого интереса)
Без графика открытого интереса (60 мин)
avatar
Задумка «профиля» хорошая, но надо бы подправить совместимость в одном окне с другими индикаторами. И будет здорово!
avatar
GAP555, Спасибо, причину конфликта нашел, посмотрю как исправить!
avatar
MyKey, а как?
avatar
MyKey, И где у меня «i» в «i» вложен??? покажите?
avatar
Маркин Павел, оу. Мой косяк, просто мельком код глядел.
Маркин Павел, 
В чём причина? я так понимаю после каждого изменения цены приходит данное сообщение…
avatar
Считаю, что никогда не поздно сказать — Спасибо!
avatar
спасибо, понравилось. но с открытыми позициями конфликтует
avatar
Ошибка при добавлении

С:\QUIK\LuaIndicators\xHV.lua:38: bad argument #2 to 'max' (number expected, got nil)
А есть что нибудь на подобие SBpro? Анализ и вычисление айсбергов и скрытых заявок с нанесением на бары.
MEGAMOHCTP, поддерживаю, тоже не понятно по каким критериям строиться период
avatar
не подскажете как настроить период, в чем он измеряется?
Спасибо!
а как его сдвинуть к правой границе, у меня он на свечи налипает на полэкрана
avatar
shelma, отступ задайте.
avatar
на основе какие исходных данных стоиться этот горизонтальный объем?
Огонь вообще… Ещё бы научиться полоски рисовать в другую сторону))

avatar
ivanov petya, Подскажите, как вы сместили профиль дальше, относительно цены?
avatar
Rid, я уж точно не помню… Попробуйте эти настройки

Settings={}
Settings.period = 500
Settings.Name = «xHV»

---------------------------------------------------------------------------------------
function FFF()
local CC={}
local LL={}
local VV={}

return function(ind, _p,_N)

local index = ind
local MAX = 0
local MAXV = 0
local MIN = 0
local RR = 0
local jj = 0
local kk = 0

if index == 1 then
VV={}
CC={}
LL={}
------------------
VV[index]=V(index)
CC[1]=0
return nil
end
------------------------------
VV[index]=V(index)
if index < (Size()-2) then return nil end

MAX = H(index)
MIN = L(index)
for i = 0, _p-1 do
MAX=math.max(MAX,H(index-i))
MIN=math.min(MIN,L(index-i))
end
----------------------------------------
for i = 1, _N do CC[i]=0 end

for i = 0, _p-1 do
jj=math.floor( (H(index-i)-MIN)/(MAX-MIN)*(_N-1))+1
kk=math.floor( (L(index-i)-MIN)/(MAX-MIN)*(_N-1))+1
for k=1,(jj-kk) do
CC[kk+k-1]=CC[kk+k-1]+V(index-i)/(jj-kk)
end
end
--------------------
MAXV = 0
for i = 1, _N do MAXV=math.max(MAXV,CC[i])end

for i = 1, _N do
CC[i]=math.floor(CC[i]/MAXV*50)
end
---------------------
for i = 1, _N do
LL[i]= i/_N*(MAX-MIN)+MIN
if CC[i]==0 then LL[i]=nil end
end

for i = 1, 50+1 do
for j = 1, _N do
if CC[j]>i then
SetValue(index-i, j, LL[j])
else
SetValue(index-i, j, nil)
end
end
end

return unpack(LL)
end
end
---------------------------------------------------------------------------------------

function Init()
Settings.line = {}
for i = 1, 50 do
Settings.line[i] = {}
Settings.line[i] = {Color = RGB(224, 255, 255), Type = TYPE_LINE, Width = 1}
end

myFFF = FFF()
return 50
end
function OnCalculate(index)
return myFFF(index, Settings.period, 50)
end

avatar
ivanov petya, нет это немного не то, Он точно такой же.
и судя по коду, тут только уменьшено количество горизонтальных линий из 100 до 50.



avatar
Rid, в дополнительно и сдвиг графика -30, например



avatar

ivanov petya, да, я знаю, что можно сдвинуть в левую сторону,
но я думал с помощью настроек перетащить наоборот в правую сторону.

в идеале что бы получилось вот так, как на скрине.
Но проблема в том, что прописать правее нельзя, т.к. долбанутый Quik выдаёт ошибку «attempt to compare two nil values» .
А если сдвинуть графики объёмы и прочее то временная шкала остаётся на месте и ошибка по времени оч. большая.




avatar
Rid, вы уже справились с этим вопросом?))
avatar
ivanov petya, Нет, ищу способы. 
avatar
Здравствуйте! Как можно скачать?
Добрый день, а можно ссылку на скачивание обновить?
avatar
Добрый день, можно исходный код выложить?
avatar

теги блога Маркин Павел

....все тэги



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