Dr Wed (Все сообщения пользователя)
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
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 ...
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Цитата Цитата Dr Wed написал: Что такое it в коде индикаторов от arqa?
Это итератор, судя по всему.
Я тоже прихожу к такому заключению. При этом не очень понятно что в нем есть p и что l. По факту и в одно и в другое поле попадает номер свечи.
М.б. это для обработки ситуаций, когда в источнике есть пропуски в свечах?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Люди, привет Что такое it в коде индикаторов от arqa? Например, EMA --- 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 ......
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Буду признателен за проверенную библиотеку для работы с sqlite и краткую инструкцию как ее прицепить к квику. Ни один из рецептов, нарытых на просторах нета и данного уважаемого форума пока воплотить в жизнь не удается.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Как можно из LUA изменить параметры существующей стоп-заявки, например, подвинуть цену активации? Смотрю на инструкцию ARQA, не нахожу ничего похожего.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Благодарю за подсказку.
Библиотека существует какая-то стандартная для работы с Sqlite? Посоветуйте где ее искать.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Цитата s_mike@rambler.ru написал: Цитата Dr Wed написал: Всем доброго дня Можно ли из дневной свечи получить текущую цену инструмента? Какую цену даст функция ds:C(<свечка текущего еще незакрытого дня>)?
она и даст цену последней сделки инструмента.
премного благодарен
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Всем доброго дня Можно ли из дневной свечи получить текущую цену инструмента? Какую цену даст функция ds:C(<свечка текущего еще незакрытого дня>)?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Ну, буду тогда проверять статус isConnected() и доверять только тем данным, в момент получения которых, он был равен 1. Мерси
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Всем доброго дня. У меня есть некий сканер, который раз в день проходит по всем бумагам заданного класса и смотрит ряд индикаторов. По каждой бумаге вызывается CreateDataSourse. Довольно часто бывает что в процессе обхода рвется соединение. При этом скрипт продолжает работать. Помогите пож. понять как CreateDataSourse работает при разорванном соединении? Как отделить данные, которым можно доверять от тех, которым доверять нельзя, чтобы после восстановления соединения не делать весь обход заново?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Придумал как делать. Копируем datasource в таблицу. При расчете индикаторов по таблице используем VType= ANY
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Приветствую Есть datasource (ds), по нему построен некий индикатор. Хочется понять насколько должна измениться цена инструмента, чтобы индикатор достиг заданного порога. Например, инструмент движется в сторону перекупленнности. RSI приближается к 0.9, но еще не достиг этого значения.Нужно определить х = сколько еще осталось расти в цене, чтобы RSI коснулся/пересек порог = 0.9. Буду благодарен за подсказки и идеи? Есть какая-то структура данных, для которой одновременно можно: - самому устанавливать цену последней свечи, добавлять новую свечу; - рассчитывать значения стандартных индикаторов, не меняя их код?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
вроде разобрался, спасибо за участие
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Вот это условие никогда не выполняется ( it.l >= P), и, соответственно, tmp.p функция не отдает. if it.l >= P then return tmp.p end
Пользователь
Сообщений: 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
ппц, не могу картинку вставить :(
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
[img]file:///C:/TEMP/08/EMA.png[/img]
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Вот здесь: [img]data:image/png;base64,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[/img]
Пользователь
Сообщений: 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
Цитата 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
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
В кривых ответах во вчерашней D свече не учтены данные, начиная с 14:00 ти до конца сессии. На более мелких таймфреймах работает нормально.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Если кому интересно, то накопал, что разные брокеры выдают разные данные. Например, от ВТБ идут кривые дневные свечи. От Открытия - нормальные.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Или все, что с 14:00 это уже свеча следующего дня?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Hola Не могу понять где проходит граница между дневными свечами SPBXM. Сегодня 28.05, Америка еще спит. Последняя свеча D1 включает данные только за сегодня, т.е. 28.05? Или же сюда попадает то, что наторговалось вчера вечером (29.05 после 16:30)?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Hola Можно ли в скриптах вызывать индикаторы теханализа для использования их значений при обработке свечей? Естественно, хочется обойтись без открытого графика по инструменту.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Подскажите где искать функции для работы с фалами? Как, например, выгрузить в файл результаты работы скрипта? Как из файла вычитать коды инструментов и загнать их в таблицу текущих торгов?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
А где еще можно взять свечи, кроме как через CreateDataSource? Научите, с удовольствием попробую.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Вытащил запросом GetClassSecurities все акции SPB (около 1400 шт.). Теперь хочу по ним пройтись и по каждому инструменту посмотреть свечи, т.е. CreateDataSource в цикле по большому списку. Это допустимо с т.з. нагрузки на quik? Надо учитывать какие-нибудь тонкости?
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Если точнее - для каждого из заданного списка инструментов вытащить Low за последние N дней/часов
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Благодарю за подсказку. Буду благодарен еще за такую наводку - как тащить свечки по интересующему инструменту? Например, нужен Low за последние N дней или часов.
Пользователь
Сообщений: 33
Регистрация: 25.05.2021
Приветствую Создал табл. текущих торгов. Добавил в нее несколько инструментов. Какой функцией можно вытащить весь список инструментов из этой таблицы, чтобы можно было пройтись в цикле по каждому из них и выполнить какие-то действия (например, проверить значения индикаторов)?