---------------------------------------------------------------------------------------
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, при старте индикатора линия показывает последнее значение накопленной дельты (т.е. нет истории), а вот по ходу дальнейшей работы эта линия должна показывать изменение позиций, ну и так же следует учитывать что все это работает только внутри дня, т.к. таблица всех сделок сбрасывается с новым днем. Вроде так работало. Я то уже давно его не использую, как впрочем и саму таблицу всех сделок — уж сильно оно грузит трафик, а толку особо я так и не поимел :)
Тут главное стопы. Стою в шорте, с ТП на 3.500, но если меня по стопу вынесет, то сам и виноват, поспешил. Так в журнал и запишу. Но это моя ошибка и моя ответственость (мои деньги).
К НГ:
Актеры фильма «Один дома»: что с ними и где они сейчас.
liferbc.ru/news/67593ce59a7947e92692a9ff?utm_source=top&utm_medium=interest&utm_campaign=67593ce59a7947e92692a9ff
Мухомор, Безумие это юзать маржиналку по ставке выше средней полной доходности индекса на истории. А дивушки в 12,8% норм, потому как это половина прибыли, полная выходит выходит 25,6.
ANDREY799, а, ну и еще. вряд ли кто-то из опытных трейдеров сможет это оспорить… хвост свечи не закрыт. про имбаланс вообще даже говорить не хочется. само собой разумеется, что вернемся туда — 1020...
🌙 Вечерние новости для инвесторов Теперь торговать облигациями RUS28 (РФ ЗО 28) и RUS30 (РФ ЗО 30) можно не только в дневное время, но и в вечернее. Весь торговый период будет два стакана — рублевый и...
Выручка с продажи новых легковых автомобилей упала в ноябре на 32% м/м до 342 млрд руб. — Автостат Инфо По данным «Автостат Инфо», с продажи новых легковых автомобилей в ноябре текущего года была полу...
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 кажется), также надо включить поток обезличенных сделок по этому инструменту (могут затормаживать квик) — это здесь Система-Заказ данных-Поток обезличенных сделок (по умолчанию у брокера это выключено, нужно звонить ему, чтобы для Вас лично включили), и потом по идее еще нужно создать где нибудь Таблицу обезличенных сделок для этого инструмента: Создать окно-Таблица обезличенных сделок. В обоих эих местах нужно задать фильтр для одного этого инструмента, чтобы не тащить всю кучу данных.