---------------------------------------------------------------------------------------
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, 100 do
Settings.line[i] = {}
Settings.line[i] = {Color = RGB(255, 192, 0), Type = TYPE_LINE, Width = 1}
end
myFFF = FFF()
return 100
end
function OnCalculate(index)
return myFFF(index, Settings.period, 100)
end
AlexGood, я не пользуюсь индикаторами, но этот запускался. как мы выяснили (см. ниже) сработала автозамена при вставке кода на сайт. попробую по-другому.
Settings={}
Settings.period = 100
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, 100 do
Settings.line[i] = {}
Settings.line[i] = {Color = RGB(255, 192, 0), Type = TYPE_LINE, Width = 1}
end
myFFF = FFF()
return 100
end
function OnCalculate(index)
return myFFF(index, Settings.period, 100)
end
AlexGood, а какая разница, дельта ли, объем ли, любой другой ли? Все индикаторы одинаково добавляются на график. Либо не туда положили, либо не так указываете. Третьего не дано.
Чего то не видит этот код квик, ошибка что ли там. PS: понял кавычки в Settings.Name не <<>>, а "" должны быть.
Здесь у меня есть дельта: smart-lab.ru/blog/204994.php
AlexGood, как и любой индикатор — ничего не надо запускать, нужно добавлять его на график, я использовал в отдельном окне как MACD например, (называется Delta), положив файл .lua в папку quik/LuaIndicators.
И цитата из моего коммента по ссылке: чтобы работал этот индикатор, нужно у брокера включить передачу таблицы всех сделок Там еще можно почитать про особенности, например, истории нет для этого индикатора, т.к. у брокера нет истории по этой самой таблице, по которой считается та самая дельта.
Serg, несмотря на то что этот индикатор дельты в нужной папке, квик его не видит, он не появляется среди стандартных КВИКовских индикаторов! Что предпринять?
AlexGood, не знаю — только проверил все есть, называется «Delta» — такой ищете? Вы вот написали папку как «lua indicators», а надо без пробела, если у Вас с пробелом, то ничего и не увидите.
Скопирую сюда из личной переписки пояснения для всех:
Во, еще забыл, в свойствах индикатора надо задать инструмент, для текущего ри-3.20 это будет RIH0 (там сейчас стоит SRU5 кажется), также надо включить поток обезличенных сделок по этому инструменту (могут затормаживать квик) — это здесь Система-Заказ данных-Поток обезличенных сделок (по умолчанию у брокера это выключено, нужно звонить ему, чтобы для Вас лично включили), и потом по идее еще нужно создать где нибудь Таблицу обезличенных сделок для этого инструмента: Создать окно-Таблица обезличенных сделок. В обоих эих местах нужно задать фильтр для одного этого инструмента, чтобы не тащить всю кучу данных.
Serg, сделал все как вы говорили: на график индикатор Дельта добавил, тикер в коде индикатора заменил на текущий, поток обезличенных сделок и таблица есть, cделки проходят в таблице, но вот на графике в окне этого индикатора ничего не происходит, нарисовалась ваша темно-синяя горизонтальная линия и все!
AlexGood, при старте индикатора линия показывает последнее значение накопленной дельты (т.е. нет истории), а вот по ходу дальнейшей работы эта линия должна показывать изменение позиций, ну и так же следует учитывать что все это работает только внутри дня, т.к. таблица всех сделок сбрасывается с новым днем. Вроде так работало. Я то уже давно его не использую, как впрочем и саму таблицу всех сделок — уж сильно оно грузит трафик, а толку особо я так и не поимел :)
💰 СД Займера рекомендовал направить на дивиденды 100% чистой прибыли IV квартала 2025
Совет директоров Займера на заседании 12 мая рекомендовал направить на выплату дивидендов за IV квартал 2025 года 1,11 млрд рублей. Это соответствует выплате 11,10 рублей на акцию и 100% чистой...
Рефинансирование как главный риск 2026 года для держателей облигаций
Если в 2024–2025 годах ключевой темой для российского долгового рынка была сама стоимость денег, то в 2026 году фокус смещается. Теперь для инвестора важен уже не только уровень ключевой ставки,...
Продолжит ли Совкомбанк наращивать прибыль? Совкомбанк в пятницу, 15 мая, опубликует финансовые результаты по МСФО за 1-й квартал 2026 г. Что мы можем увидеть в отчете?
Авто-репост. Читать в б...
witosp, Если бы не верили, то не стоил бы 2 ой 99,96% это говорит о том что остальные выпуски специально давили в стаканах паралельно под шум лживых инвесторов, чтобы собрать прилично, по дешевле, ...
Кирилл Егоров, Пускай тогда неустойку платят, вон на кредиты же начисляют в праздники %-ы, переводы и платежи работают в праздничные дни. Слово праздники и выходные это очередная лапша на уши инвес...
За последние 10 лет внутренние цены на хлеб полностью оторвались от валютного курса:
Цена на хлеб: выросла примерно на 150–200%. В 2016 году килограмм стоил около 40–45 руб., к середине 2026 года — ...
Нам поступила информация от НКО АО НРД о выплате купона по облигациям ГК Самолет оббП13, ISIN: RU000A107RZ0.
Референс корпоративного действия по ценной бумаге: 891275
ISIN: RU000A107RZ0
Разме...
Nordstream,
ахереть, в нормальных организациях наконец-то дармоедов сокращать начали (в Сбере), а эти дебилы — набирают балласт, да ещё и гордятся.
Пацаны, голосовать не забывайте, дивиденд...
Новые облигации Транспортная ЛК / ЯрКамп (26%) – размещение сегодня, 13.05
Региональный лизинг (в основном ЦФО, головной офис в Ярославской обл.), с акцентом на грузовую и спецтехнику. Работает ...
Settings={}
Settings.period = 100
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, 100 do
Settings.line[i] = {}
Settings.line[i] = {Color = RGB(255, 192, 0), Type = TYPE_LINE, Width = 1}
end
myFFF = FFF()
return 100
end
function OnCalculate(index)
return myFFF(index, Settings.period, 100)
end
А в какую папку и какое расширение файла?
Settings={} Settings.period = 100 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, 100 do Settings.line[i] = {} Settings.line[i] = {Color = RGB(255, 192, 0), Type = TYPE_LINE, Width = 1} end myFFF = FFF() return 100 end function OnCalculate(index) return myFFF(index, Settings.period, 100) endЗдесь у меня есть дельта: smart-lab.ru/blog/204994.php
И цитата из моего коммента по ссылке:
чтобы работал этот индикатор, нужно у брокера включить передачу таблицы всех сделок
Там еще можно почитать про особенности, например, истории нет для этого индикатора, т.к. у брокера нет истории по этой самой таблице, по которой считается та самая дельта.
Во, еще забыл, в свойствах индикатора надо задать инструмент, для текущего ри-3.20 это будет RIH0 (там сейчас стоит SRU5 кажется), также надо включить поток обезличенных сделок по этому инструменту (могут затормаживать квик) — это здесь Система-Заказ данных-Поток обезличенных сделок (по умолчанию у брокера это выключено, нужно звонить ему, чтобы для Вас лично включили), и потом по идее еще нужно создать где нибудь Таблицу обезличенных сделок для этого инструмента: Создать окно-Таблица обезличенных сделок. В обоих эих местах нужно задать фильтр для одного этого инструмента, чтобы не тащить всю кучу данных.