Вызов индикатора в скрипте

Страницы: 1
RSS
Вызов индикатора в скрипте, Использование значений индикаторов при работе со свечками
 
Hola

Можно ли в скриптах вызывать индикаторы теханализа для использования их значений при обработке свечей?
Естественно, хочется обойтись без открытого графика по инструменту.
 
Цитата
Dr Wed написал:
Hola

Можно ли в скриптах вызывать индикаторы теханализа для использования их значений при обработке свечей?
Естественно, хочется обойтись без открытого графика по инструменту.
Легко, в скрипте рассчитываем самостоятельно нужный индикатор.
Благо арка даже выложила архив с индикаторами написанными на lua https://arqatech.com/upload/iblock/398/INDICATORS.zip
 
BlaZed, Лучше бы она выкладывала нормальные свечки и простой доступ к ним. И не надо никаких индикаторов! Кстати, и свечки желательно без этих дурацких "японских" штучек, а нормальные, куда более информативные.
 
Цитата
Владимир написал:
BlaZed, Лучше бы она выкладывала нормальные свечки и простой доступ к ним. И не надо никаких индикаторов! Кстати, и свечки желательно без этих дурацких "японских" штучек, а нормальные, куда более информативные.
А что такое "нормальные" свечи?
Дайте ссылочку на описание.

Я вот только японские знаю.
 
BlaZed, Ссылочку? Ну разве что на какой-нить учебник по арифметике.  :smile: Тупое мат. ожидание, то бишь среднее арифметическое. Ну, можно ещё и дисперсию дать - есть там какая-то мышиная возня вокруг него или нет. Заодно и гонки курса малыми объёмами будут затруднены. Короче, примерно так:
M=(n1*p1+n2*p2+n3*p3+...)/(n1+n2+n3+...)
 
Владимир, не перестаю с вас удивляться
Цитата
Владимир написал:
И не надо никаких индикаторов!
и тут же
Цитата
Владимир написал:
Тупое мат. ожидание, то бишь среднее арифметическое. Ну, можно ещё и дисперсию дать - есть там какая-то мышиная возня вокруг него или нет. Заодно и гонки курса малыми объёмами будут затруднены. Короче, примерно так:
M=(n1*p1+n2*p2+n3*p3+...)/(n1+n2+n3+...)
Вы понимаете, что то что вы описываете, по сути и есть индикатор, и даже формулу его расчета дали.
 
BlaZed, Серьёзно? Оказывается, я всю жизнь разговаривал прозой? Тогда я тоже не перестаю с меня удивляться. :smile:

Какой это, в задницу, "индикатор"? Я эту формулу знаю со школьных лет, а школу я закончил в 1975 году, когда никаких индикаторов и в помине не было!
 
Владимир, то что вы описали это стандартный SMA индикатор.
 
Цитата
Артем написал:
то что вы описали это стандартный SMA индикатор.
По-моему это больше похоже на LWMA

LWMA = SUM (CLOSE (i) * i, N) / SUM (i, N)
где,
SUM — сумма;
CLOSE(i) — текущая цена закрытия;
SUM (i, N) — сумма весовых коэффициентов;
N — период сглаживания.
 
Господа, я написал как считается среднее арифметическое! Это известно тыщу лет назад, и именно так я считаю свои свечи (попроще, без объёмов, по которым у меня нет данных - да и фиг с ними). А если это кто-то назвал "SMA индикатором" (или там LWMA), то не следует эту глупость бездумно повторять.
 
Владимир, выглядит как наброс с целью определить, сколько тут постигших дзен. А зачем, что потом с этими просветившимися делать?
 
Anton, Какой, блин, "наброс"? Какой "дзен"? Арифметика, школьный курс! Я предлагаю отделить свечи от графиков, дать удобный сервис для их получения, и считать сами свечи по-нормальному, как сумму всех сделок за период, делённая на количество лотов в них. Без этого "японского" идиотизма. Оно, к тому же, и короче будет: одно значение вместо четырёх.
 
Цитата
BlaZed написал:
Цитата
Dr Wed написал:
Hola

Можно ли в скриптах вызывать индикаторы теханализа для использования их значений при обработке свечей?
Естественно, хочется обойтись без открытого графика по инструменту.
Легко, в скрипте рассчитываем самостоятельно нужный индикатор.
Благо арка даже выложила архив с индикаторами написанными на lua  https://arqatech.com/upload/iblock/398/INDICATORS.zip
@BlaZed, спасибо за наводку.
Пытаюсь использовать пример из этого архива https://arqatech.com/upload/iblock/398/INDICATORS.zip. Тот, что есть в readme_LuaIndicators.
MA() возвращает nill. Никак не удается сдвинуться с места.
Буду признателен за идеи, подсказки..



--Пример расчета индикатора Moving Average по источнику данных созданному через CreateDataSource:
dofile(getWorkingFolder().."\\LuaIndicators\\MA.lua")
function main()
 func = MA()
 t_id = AllocTable()
 AddColumn(t_id,1,"Price",true,QTABLE_INT_TYPE,10)
 AddColumn(t_id,2,"MA",true,QTABLE_INT_TYPE,10)
 CreateWindow(t_id)
 SetWindowCaption(t_id,"MA")
 ds = CreateDataSource("TQBR", "LKOH", INTERVAL_M1)
 sleep(100)
 for i=1,ds:Size() do
  ma_out=func(i, {Period=9, Metod = EMA, VType=CLOSE}, ds)
  tmp=InsertRow(t_id,-1)
  SetCell(t_id,tmp,1,tostring(ds:C(i)),ds:C(i))
  SetCell(t_id,tmp,2,tostring(ma_out),ma_out)
 end
end
 
Dr Wed, у вас источник данных не успевает загрузиться.
Добавьте после
Код
 ds = CreateDataSource("TQBR", "LKOH", INTERVAL_M1)
ожидание загрузки источника данных
Код
  local n=0
  while(ds:Size()==0)and(n<100)do sleep(100) n=n+1 end
должно помочь
 
Цитата
BlaZed написал:
Dr Wed, у вас источник данных не успевает загрузиться.
Добавьте после
Код
   ds  =   CreateDataSource ( "TQBR" ,  "LKOH" , INTERVAL_M1)  
ожидание загрузки источника данных
Код
     local  n =  0 
   while (ds: Size () =  =  0 ) and (n <  100 ) do   sleep ( 100 ) n = n +  1   end   
должно помочь
Этот вариант я рассматривал, код усовершенствовал, но не в этом дело. Источник я проверяю, он есть, ds:Size() > 0.

Почему-то nil возвращает сама функция расчета EMA.
 
Вот здесь:


[img]data:image/png;base64,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[/img]
 
[img]file:///C:/TEMP/08/EMA.png[/img]
 
ппц, не могу картинку вставить :(
 
--[[Exponential Moving Average (EMA)
EMAi = (EMAi-1*(n-1)+2*Pi) / (n+1)]]
function F_EMA()
local tmp = {pp=nil, p=nil}
local it = {p=0, l=0}
return function(I, P, VT, ds)
if I == 1 then
tmp = {pp=nil, p=nil}
it = {p=0, l=0}
end
if CandleExist(I,ds) then
if I~=it.p then
it = {p=I, l=it.l+1}
tmp.pp = tmp.p
end
if it.l == 1 then
tmp.p = GetValueEX(it.p,VT,ds)
else
tmp.p = (tmp.pp*(P-1) + 2*GetValueEX(it.p,VT,ds)) / (P+1)
end
if it.l >= P then
return tmp.p
end
end
return nil
end
end
 
Вот это условие никогда не выполняется ( it.l >= P), и, соответственно, tmp.p функция не отдает.

if it.l >= P then
 return tmp.p
end
 
вроде разобрался, спасибо за участие
 
Да будут свечи!

Свечи я всё время считал сам, причём как среднее арифметическое всех значений курса за период. Для лёгких свечей (примерно до часовых) этот способ считаю оптимальным, но вот более тяжёлые хотелось бы получать непосредственно от биржи - это надёжнее и не критично к обрывам связи, выключению электричества и т.п.

Проблемы здесь следующие: во-первых, термины "свечи" и "японские свечи" давно уже воспринимаются как синонимы, и с этим явно ничего не поделаешь - приходится смириться. Во-вторых, здесь идут некоторые наводки от разных систем счисления: двоичной, десятичной и 60-ричной. Десятичная здесь выглядит явно инородным телом (таймфреймы в 5 или 10 минут), а 60-ричная вполне терпимо эмулирует двоичную, что отчётливо видно по набору стандартных интервалов: M15, M30, H1, H2, H4. У меня "не сговариваясь" получилось абсолютно то же самое: самые малые свечи четвертьминутные, затем полуминутные, 1 минута, 2, 4. Ну и три "выродка": D1 (1 день), W1 (1 неделя) и MN1 (1 месяц).

И самое главное: практически полностью отсутствует сервис для получения этих свечей: какие-то графики, какие-то индикаторы, какие-то CreateDataSource... кошмар! Почему бы не дать утилиту что-то типа GetLastCandles (class, sec, interval, numberof)? По умолчанию одна последняя свеча. Возможно, даже с коллбеком. Такое вот у меня пожелание к разработчикам...
Страницы: 1
Читают тему
Наверх