Коллеги!
Есть два варианта как получать данные в квике в рамках луа-скриптов.
1. getCandlesByIndex
2. CreateDataSource
Первый вариант неудобен тем, что нужно держать открытыми графики и, если используются разные тф, то нужно держать больше открытых графиков. Всё это неудобно, когда меняются контракты и тд. Зато надёжно. Если ты графики создал, то источники создались и скрипты отработают.
Второй вариант неудобен тем, что не всегда источники данных создаются, нужно выжидать тайм-ауты и всякое такое.
Подскажите, какой из вариантов вы считаете наиболее правильным/оптимальным или какой используете сами?
Если накидаете пример кода как это используете, буду премного благодарен!
function main()
while IsRun do
sleep(1000)
for j= 1, 1 do
if IsWindowClosed(t_id) then --Если окно робота закрыто, то выключить робота
IsRun=false
break
end
— ========= КОНТРОЛЬ ВРЕМЕНИ СЕССИИ И СОЕДИНЕНИЯ С СЕРВЕРОМ
if isConnected()~=1 then
is=isConnected()
FIRSTRUN=0
break
end
— ========= ПЕРВЫЙ ЗАПУСК
if FIRSTRUN==0 then
ds15, error = CreateDataSource(CLASSCODE, INSTRUMENT, INTERVAL_M15)
if ds15 == nil or ds15:Size()<500 then
if error~=nil then
message('OHLC Si15: '..error,3)
else
message('OHLC Si15: error',3)
end
break
end
ds15: SetEmptyCallback()
FIRSTRUN=1
end
end --end FOR GLOBAL
end --end while
ds15:Close()
end --main
2. CreateDataSource этот вариант самый лучший, не было не разу чтобы не создало источник данных, если не создало значит его в квике нет. По таймаутам, да зависит от скорости интернета и нагружености сервера брокера сколько ждать когда придет график, поэтому я делаю подписку на график CreateDataSource за несколько минут до начала торгов этого вполне хватает, либо можно контролировать по времени в последней свече(загрузился график или нет) но способ не универсален для неликвида не подойдет.
зачем это все? лей таблицу обезличенных сделок в sql и строй свечи сам. Ну понятно лучше задублировать потоки и мерджить дату с двух квиков от разных брокеров
📈 Масштабирование бизнеса МГКЛ — это не просто рост показателей. По мере увеличения объёмов меняется экономика компании и то, как она зарабатывает. 🏗 С ростом сети и оборота фиксированные...
Бигтех строит фундамент будущего. Интересные идеи в глобальном ТМТ-секторе
Эксперты констатируют начало нового цикла в ТМТ-секторе: глобальные корпорации вкладывают триллионы долларов в инфраструктуру для искусственного интеллекта, а стремительное развитие мирового...
В этой серии мы говорим о ключевых трендах 2026 года в ИТ. Некоторые из них формируются внутри компаний — как ответ на изменения рынка. Для Софтлайн таким трендом стала кластеризация. Подводя...
Сохрани себе эту супер-таблицу, проверишь результаты в конце года!
Мы собрали для вас все макро-прогнозы от брокеров и управляющих компаний и свели их в одну таблицу.
Сохрани себе, проверишь в конце года у кого что сбылось.
@mozgovikresearch
У кого имеются незамещённые обл-ции МКБ ЗО26-1? Не вижу в Росколхозбанке ни тела, ни купонов. Придётся ждать разблокировки в Eurocleare-e? Мне РСХБ — брокер и сам МКБ пока не ответили. Может кто в кур...
Роман, Либо уже дно, либо оно близко. Вчера нормально разместили, почти 300 млн. за день, итого суммарно треть всего выпуска размещена. За 2-3 недели должны дораздать остатки и в рост пойдёт, избыт...
Running68,
Думаю нет денег, иначе в стакан не лили бы10к облиг одномоментно, + дневной объем.
Это очень негативно отозвалась на тех кто вошёл по предварительному списку. Следующего выпуска обл...
Booppa,
Это министр обороны Украины, мошенник и аферист по характеристикам, если судить его.
Делает ставку на «инвестиции НАТО» на Украину. «Его» проект — это внедрение американского ИИ против ...
Что влияет на цену акции
Рынок ПО для финансового сектора. По оценкам Strategy Partners, в 2023-28 гг. российский рынок ПО для финансового сектора будет расти в среднем на 13,5% в год за счет продол...
БУНКЕР ОБЛИГАЦИЙ, ООО «Л-Старт» такая не большая компания, а в себя так сильно поверила, облигации её торгуются ниже номинала, а она собирается ещё выпускать третий выпуск, и это тогда, когда в Рос...
Энтони Деанджело, вторичных листингов не бывает, он просто либо есть, либо нет. В данном случае, насколько я понял, акции залистинговались на внутренней бирже Казахстана KASE (это как раньше на рос...
function main()
while IsRun do
sleep(1000)
for j= 1, 1 do
if IsWindowClosed(t_id) then --Если окно робота закрыто, то выключить робота
IsRun=false
break
end
— ========= КОНТРОЛЬ ВРЕМЕНИ СЕССИИ И СОЕДИНЕНИЯ С СЕРВЕРОМ
if isConnected()~=1 then
is=isConnected()
FIRSTRUN=0
break
end
— ========= ПЕРВЫЙ ЗАПУСК
if FIRSTRUN==0 then
ds15, error = CreateDataSource(CLASSCODE, INSTRUMENT, INTERVAL_M15)
if ds15 == nil or ds15:Size()<500 then
if error~=nil then
message('OHLC Si15: '..error,3)
else
message('OHLC Si15: error',3)
end
break
end
ds15: SetEmptyCallback()
FIRSTRUN=1
end
end --end FOR GLOBAL
end --end while
ds15:Close()
end --main
Надежней много раз.
Небольшой пример: luaq.ru/CreateDataSource.html