Как прочитать данные от брокера , а затем их добавить и сохранить?

Страницы: 1
RSS
Как прочитать данные от брокера , а затем их добавить и сохранить?, Работа с историческими данными
 
Нашел такой код для считывания данных от брокера (может есть и проще?), но не понимаю пока механизм/принцип работы этой функции
Код
...
DS = CreateDataSource("TQBR", sins, INTERVAL_M1)
   if DS:Size() == 0 then 
     DS:SetEmptyCallback()
     sleep(200)
   end
...
Считываю в цикле данные по нужным мне бумагам, в течении одной сессии и заметил, что
Код
DS:Size()
количество свечей в процессе повторных запусков этого кода меняется, стал анализировать полученные данные и запутался, решил вот сформулировать несколько вопросов, если Вы на них ответите, то может быть что-то прояснится и сделаю для себя какие-то выводы, вопрос
Как работает эта функция?
Код
if DS:Size() == 0 then
Если понимать эту команду буквально, то данные (по идее) должны считываться в локальную базу данных только тогда, когда эта база пустая, но эта функция работает и тогда когда в текущей сессии, данные уже скачивались ранее.  Я на своем опыте заметил, что сначала , при первом запуске количество свечей около 3000 , а позднее при повторных запусках этой функции, по текущему инструменту, количество свечей увеличивается и доходит до 4 с лишним тысяч в течении дня. Вот не могли бы Вы как то "разжевать" как выполняется механизм заполнения свечей из бд брокера или биржи ( не знаю откуда идут данные, по идее должны идти с биржи) ко мне на комп в бд?
человек (не робот)
 
Цитата
Андрей написал:
Нашел такой код для считывания данных от брокера (может есть и проще?), но не понимаю пока механизм/принцип работы этой функции
Код
   .. .
DS  =   CreateDataSource ( "TQBR" , sins, INTERVAL_M1)
    if  DS: Size ()  =  =   0   then  
     DS: SetEmptyCallback ()
      sleep ( 200 )
    end 
 .. .
  
Считываю в цикле данные по нужным мне бумагам, в течении одной сессии и заметил, что
Код
  DS: Size ()  
количество свечей в процессе повторных запусков этого кода меняется, стал анализировать полученные данные и запутался, решил вот сформулировать несколько вопросов, если Вы на них ответите, то может быть что-то прояснится и сделаю для себя какие-то выводы, вопрос
Как работает эта функция?
Код
   if  DS: Size ()  =  =   0   then   
Если понимать эту команду буквально, то данные (по идее) должны считываться в локальную базу данных только тогда, когда эта база пустая, но эта функция работает и тогда когда в текущей сессии, данные уже скачивались ранее.  Я на своем опыте заметил, что сначала , при первом запуске количество свечей около 3000 , а позднее при повторных запусках этой функции, по текущему инструменту, количество свечей увеличивается и доходит до 4 с лишним тысяч в течении дня. Вот не могли бы Вы как то "разжевать" как выполняется механизм заполнения свечей из бд брокера или биржи ( не знаю откуда идут данные, по идее должны идти с биржи) ко мне на комп в бд?
Добрый день.

Да, количество свечей при DS: Size () будет меняться, так как функция возвращает текущее количество свечей в источнике данных,
в процессе торговой сессии свечки естественно появляются на графике.
Ограничение на кол-во свечей действительно 3000 тысячи + текущая сессия, но данное ограничение обусловлено сервером.
Все что свыше этого кол-ва копится непосредственно на терминале пользователя. Кол-во свечей в этом случае может доходить до 65 тысяч.  
 
Цитата
Egor Zaytsev написал:
Все что свыше этого кол-ва копится непосредственно на терминале пользователя. Кол-во свечей в этом случае может доходить до 65 тысяч.
Большое спасибо за ответ, но если все это так, почему нет функции в Квике, для чтения этих данных (непосредственно на терминале пользователя) , это было бы удобно и логично, каждый бы сам собирал у себя все необходимые исторические данные и тестировал на них свой код, а не пользовался бы этими данными через десятки вспомогательных программ тестирования, зачем весь этот огород придуман? И ведь Lua сам отлично строит графики, а в винде не трудно создавать окна (ну или в формате html, lua может и это). Конечно все это я думаю можно написать и самому, но времени уйдет очень много. Почему Квик не развивается в этих направлениях? Мне кажется так удобнее было бы работать.
человек (не робот)
 
Уважаемые Разработчики!

Когда-то я вносил предложение: значение ограничения количества свечей по умолчанию (3000) вывести как параметр в настройках QUIK.
Далеко не всем нужны даже 3000 свечей, не говоря уже о 65000. Лично меня устроили бы и 300 свечей.  
Экономия памяти, трафика и времени процессора - очевидны, а для меня просто необходимы. Работаю исключительно на малых ТФ, свечи копятся быстро, с какого-то момента QUIK начинает деградировать.
Временно вынужден периодически делать обрезку через перезаказ данных.  

Это предложение даже приняли к реализации, наряду с несколькими другими моими предложениями.
Есть предположение, что его даже реализовали.
В "Редактирование настроек графика" появился параметр "Диапазон" данных - "последние xxxxx интервалов". Он относится к графику, а не к источнику данных.
На графике я стал видеть заданное количество свечей, но начальный размер источника при этом, естественно, не поменялся. А на график из скрипта я вообще не смотрю.
Я недоумеваю - неужели я не был понят правильно? Извините, если это не реализация моего предложения и до него еще не дошла очередь, просто хотел определенности.

На всякий случай еще раз вношу свое предложение.
Значение ограничения начального количества свечей для источника данных (по умолчанию 3000) вывести как параметр в настройках QUIK.

Прошу подтвердить, что я был понят.
 
Цитата
Андрей написал:
Цитата
Egor Zaytsev   написал:
Все что свыше этого кол-ва копится непосредственно на терминале пользователя. Кол-во свечей в этом случае может доходить до 65 тысяч.
Большое спасибо за ответ, но если все это так, почему нет функции в Квике, для чтения этих данных (непосредственно на терминале пользователя) , это было бы удобно и логично, каждый бы сам собирал у себя все необходимые исторические данные и тестировал на них свой код, а не пользовался бы этими данными через десятки вспомогательных программ тестирования, зачем весь этот огород придуман? И ведь Lua сам отлично строит графики, а в винде не трудно создавать окна (ну или в формате html, lua может и это). Конечно все это я думаю можно написать и самому, но времени уйдет очень много. Почему Квик не развивается в этих направлениях? Мне кажется так удобнее было бы работать.
Добрый день.

Не совсем понятно, чем текущий функционал не удобен.
Есть ряд функций для работы с графиками:
 
Цитата
Egor Zaytsev написал:
Не совсем понятно, чем текущий функционал не удобен
Я наверно плохо объясняю, попытаюсь еще раз, этими функциями можно тестировать данные в реальном режиме времени, но не все люди себе такое могут позволить, некоторые люди работают на своей основной работе, в то время когда открыта биржа. Поэтому им проще отлаживать код по историческим данным, а не по реальным. А исторические данные надо где то брать во первых, а во вторых эти функции на исторических данных не работают. (может так понятнее получилось, если нет, то тему можно закрыть. Видимо на бирже играют только те люди, которые могут себе позволить писать и отлаживать код днем, на реальных данных)
человек (не робот)
 
Цитата
Борис Гудылин написал:
Лично меня устроили бы и 300 свечей.
Я поддерживаю Бориса, меня бы тоже устроили 300 свечей, если кому то надо больше, то ничего не мешает написать еще один код и считывать данные за другой период свечей. Поэтому просьба к разработчикам - включить заявку Бориса Гудылина в план доработок программы.

И кстати кто ввел ограничение в 65тыс свечей?, на терминале пользователя мне кажется можно не ограничивать накопление количества сечей, может кто-то хочет собрать свечи на одном интервале за 10 лет, сейчас технические возможности, как оперативной памяти, так и жестких дисков достаточно большие, вполне позволяю хранить данные любого размера. Мне кажется эти 65тыс свечей могли прийти из ограничения количества строк в экселе, и сейчас эти ограничения можно тоже исправить. Каждый пользователь сам может регулировать количество исторических данных и сам оценивать в зависимости от своего железа, производительность работы в целом.
человек (не робот)
 
Цитата
Андрей написал:
Цитата
Egor Zaytsev   написал:
Не совсем понятно, чем текущий функционал не удобен
Я наверно плохо объясняю, попытаюсь еще раз, этими функциями можно тестировать данные в реальном режиме времени, но не все люди себе такое могут позволить, некоторые люди работают на своей основной работе, в то время когда открыта биржа. Поэтому им проще отлаживать код по историческим данным, а не по реальным. А исторические данные надо где то брать во первых, а во вторых эти функции на исторических данных не работают. (может так понятнее получилось, если нет, то тему можно закрыть. Видимо на бирже играют только те люди, которые могут себе позволить писать и отлаживать код днем, на реальных данных)
Добрый день.

Исторические данные как правило накапливает брокер, если он приобрел у нас модуль введения архива.
Если брокер его приобрел, то проблем с получение исторических данных в графика быть не должно.
Цитата
а во вторых эти функции на исторических данных не работают
Почему? Если у Вас не работает, то приведите пример скрипта и описание проблемы.
 
Цитата
Андрей написал:
Цитата
Борис Гудылин   написал:
Лично меня устроили бы и 300 свечей.
Я поддерживаю Бориса, меня бы тоже устроили 300 свечей, если кому то надо больше, то ничего не мешает написать еще один код и считывать данные за другой период свечей. Поэтому просьба к разработчикам - включить заявку Бориса Гудылина в план доработок программы.

И кстати кто ввел ограничение в 65тыс свечей?, на терминале пользователя мне кажется можно не ограничивать накопление количества сечей, может кто-то хочет собрать свечи на одном интервале за 10 лет, сейчас технические возможности, как оперативной памяти, так и жестких дисков достаточно большие, вполне позволяю хранить данные любого размера. Мне кажется эти 65тыс свечей могли прийти из ограничения количества строк в экселе, и сейчас эти ограничения можно тоже исправить. Каждый пользователь сам может регулировать количество исторических данных и сам оценивать в зависимости от своего железа, производительность работы в целом.
Здравствуйте!

Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
 
Цитата
Egor Zaytsev написал:
Ваше пожелание зарегистрировано.
Спасибо большое, что откликаетесь на наши пожелания, это очень приятно, когда разработчики идут на встречу пользователям, ведь Квик это бесплатная система. Но я уже давно заменит минус в диалоге работы разработчика с пользователем. В системе Квика нет прозрачности, это очень мешает всем и Вам и нам. Поясню на примере. Я одно время работал с Питерским Кодексом, работа по доработкам шла примерно так же пользователи просили, разработчики делали сколько могли и что считали нужным, но непонятки оставались, так как пользователи не видели и не понимали, что сделано, что нет, что в доработке, а что сделано, но работает не так как хотелось. А потом они выложили в открытый доступ, так же на форуме в одной из тем план своей работы, что планируется сделать, какая очередность доработок, кто просил эти доработки и что сделано, а что взято на перспективу. После этого стало работать легче всем и пользователям и разработчикам, их никто не упрекал и все ждали спокойно своей очереди доработки. Поэтому я предлагаю Вам поступить так же , создать отдельную тему в этом разделе и выкладывать в общий доступ план ваших доработок. Большинство пользователей понимают, что любая доработка может не сразу заработать, но мы поможем вам их тестировать, на это у разработчика тоже уходит много времени, вы его просто сэкономите. Большинство так же понимают, что любая доработка кода, может привести к изменению , ранее правильно работающего кода, мы это тоже поможем вам протестировать. Но поверьте, так будет проще всем и у пользователей будет больше доверия к разработчикам и меньше обид. От этого выиграют все. Кто за? Поднимите руки!
человек (не робот)
Страницы: 1
Читают тему
Наверх