Вызов индикатора в скрипте
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Hola Можно ли в скриптах вызывать индикаторы теханализа для использования их значений при обработке свечей? Естественно, хочется обойтись без открытого графика по инструменту.
Пользователь
Сообщений: 316
Регистрация: 20.12.2020
Цитата Dr Wed написал: Hola Можно ли в скриптах вызывать индикаторы теханализа для использования их значений при обработке свечей? Естественно, хочется обойтись без открытого графика по инструменту.
Легко, в скрипте рассчитываем самостоятельно нужный индикатор.
Благо арка даже выложила архив с индикаторами написанными на lua
https://arqatech.com/upload/iblock/398/INDICATORS.zip
Пользователь
Сообщений: 2023
Регистрация: 25.09.2020
BlaZed , Лучше бы она выкладывала нормальные свечки и простой доступ к ним. И не надо никаких индикаторов! Кстати, и свечки желательно без этих дурацких "японских" штучек, а нормальные, куда более информативные.
Пользователь
Сообщений: 316
Регистрация: 20.12.2020
Цитата Владимир написал:BlaZed , Лучше бы она выкладывала нормальные свечки и простой доступ к ним. И не надо никаких индикаторов! Кстати, и свечки желательно без этих дурацких "японских" штучек, а нормальные, куда более информативные.
А что такое "нормальные" свечи?
Дайте ссылочку на описание.
Я вот только японские знаю.
Пользователь
Сообщений: 2023
Регистрация: 25.09.2020
BlaZed , Ссылочку? Ну разве что на какой-нить учебник по арифметике.
Тупое мат. ожидание, то бишь среднее арифметическое. Ну, можно ещё и дисперсию дать - есть там какая-то мышиная возня вокруг него или нет. Заодно и гонки курса малыми объёмами будут затруднены. Короче, примерно так:
M=(n1*p1+n2*p2+n3*p3+...)/(n1+n2+n3+...)
Пользователь
Сообщений: 316
Регистрация: 20.12.2020
Владимир, не перестаю с вас удивляться
Цитата Владимир написал: И не надо никаких индикаторов!
и тут же
Цитата Владимир написал: Тупое мат. ожидание, то бишь среднее арифметическое. Ну, можно ещё и дисперсию дать - есть там какая-то мышиная возня вокруг него или нет. Заодно и гонки курса малыми объёмами будут затруднены. Короче, примерно так: M=(n1*p1+n2*p2+n3*p3+...)/(n1+n2+n3+...)
Вы понимаете, что то что вы описываете, по сути и есть индикатор, и даже формулу его расчета дали.
Пользователь
Сообщений: 2023
Регистрация: 25.09.2020
BlaZed , Серьёзно? Оказывается, я всю жизнь разговаривал прозой? Тогда я тоже не перестаю с меня удивляться.
Какой это, в задницу, "индикатор"? Я эту формулу знаю со школьных лет, а школу я закончил в 1975 году, когда никаких индикаторов и в помине не было!
Пользователь
Сообщений: 312
Регистрация: 03.02.2021
Владимир , то что вы описали это стандартный SMA индикатор.
Пользователь
Сообщений: 316
Регистрация: 20.12.2020
Цитата Артем написал: то что вы описали это стандартный SMA индикатор.
По-моему это больше похоже на LWMA
LWMA = SUM (CLOSE (i) * i, N) / SUM (i, N)
где,
SUM — сумма;
CLOSE(i) — текущая цена закрытия;
SUM (i, N) — сумма весовых коэффициентов;
N — период сглаживания.
Пользователь
Сообщений: 2023
Регистрация: 25.09.2020
Господа, я написал как считается среднее арифметическое! Это известно тыщу лет назад, и именно так я считаю свои свечи (попроще, без объёмов, по которым у меня нет данных - да и фиг с ними). А если это кто-то назвал "SMA индикатором" (или там LWMA), то не следует эту глупость бездумно повторять.
Пользователь
Сообщений: 1359
Регистрация: 21.08.2015
Владимир , выглядит как наброс с целью определить, сколько тут постигших дзен. А зачем, что потом с этими просветившимися делать?
Пользователь
Сообщений: 2023
Регистрация: 25.09.2020
Anton , Какой, блин, "наброс"? Какой "дзен"? Арифметика, школьный курс! Я предлагаю отделить свечи от графиков, дать удобный сервис для их получения, и считать сами свечи по-нормальному, как сумму всех сделок за период, делённая на количество лотов в них. Без этого "японского" идиотизма. Оно, к тому же, и короче будет: одно значение вместо четырёх.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Цитата 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
Пользователь
Сообщений: 316
Регистрация: 20.12.2020
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
должно помочь
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Цитата 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.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Вот здесь: [img]data:image/png;base64,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[/img]
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
[img]file:///C:/TEMP/08/EMA.png[/img]
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
ппц, не могу картинку вставить :(
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
--[[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
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Вот это условие никогда не выполняется ( it.l >= P), и, соответственно, tmp.p функция не отдает. if it.l >= P then return tmp.p end
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
вроде разобрался, спасибо за участие
Пользователь
Сообщений: 2023
Регистрация: 25.09.2020
Да будут свечи! Свечи я всё время считал сам, причём как среднее арифметическое всех значений курса за период. Для лёгких свечей (примерно до часовых) этот способ считаю оптимальным, но вот более тяжёлые хотелось бы получать непосредственно от биржи - это надёжнее и не критично к обрывам связи, выключению электричества и т.п. Проблемы здесь следующие: во-первых, термины "свечи" и "японские свечи" давно уже воспринимаются как синонимы, и с этим явно ничего не поделаешь - приходится смириться. Во-вторых, здесь идут некоторые наводки от разных систем счисления: двоичной, десятичной и 60-ричной. Десятичная здесь выглядит явно инородным телом (таймфреймы в 5 или 10 минут), а 60-ричная вполне терпимо эмулирует двоичную, что отчётливо видно по набору стандартных интервалов: M15, M30, H1, H2, H4. У меня "не сговариваясь" получилось абсолютно то же самое: самые малые свечи четвертьминутные, затем полуминутные, 1 минута, 2, 4. Ну и три "выродка": D1 (1 день), W1 (1 неделя) и MN1 (1 месяц). И самое главное: практически полностью отсутствует сервис для получения этих свечей: какие-то графики, какие-то индикаторы, какие-то CreateDataSource... кошмар! Почему бы не дать утилиту что-то типа GetLastCandles (class, sec, interval, numberof)? По умолчанию одна последняя свеча. Возможно, даже с коллбеком. Такое вот у меня пожелание к разработчикам...