Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Сентября 21, 2020, 06:50:56 am
Начало Помощь Поиск Войти Регистрация
Новости:

Transaq  |  СБО "Transaq"  |  TRANSAQ Connector  |  Topic: Получение потока свечей « предыдущая тема следующая тема »
Страниц: [1] Печать
Автор Тема: Получение потока свечей  (Прочитано 221 раз)
AlgoTrader
Newbie
*
Сообщений: 3


Просмотр профиля Email
« : Августа 01, 2020, 08:52:47 am »

Добрый день.
Мне необходимо получить поток обновляющихся свечей по инструменту, готового решения по этому моменту не нашёл.
Согласно документации (версия 6.16 билд 2.21.2), единственный способ это делать, это цикличный вызов метода get_history_data с определённым интервалом и обновления через quotation до момента следующего вызова get_history_data.
Есть ли какой-то более простой способ получить обновляющиеся свечи (как например в подписках quotations, alltrades, quotes), планируется ли в ближайших билдах?
Записан
klimov
Разработчики
Hero Member
*****
Сообщений: 778


Просмотр профиля Email
« Ответ #1 : Августа 04, 2020, 02:13:30 pm »

Здравствуйте!

Команда get_history_data предназначена для получения старых свечей (чтобы можно было "отматывать" историю торгов назад)
Новые свечи нужно строить в приложении по данным о сделках на рынке (команда subscribe_ticks или команда subscribe...alltrades)

Записан
AlgoTrader
Newbie
*
Сообщений: 3


Просмотр профиля Email
« Ответ #2 : Августа 17, 2020, 07:49:15 am »

Реализовал обновление свечей через subscribe_ticks (каждый тикер обрабатываю в отдельном потоке), но на 20 тикерах за целый день идёт отставание в котировках на 30 минут.
Если брать 1-2 тикера, отставаний нет. Есть ли какое-то ограничение по эффективному (максимальному) кол-ву подписок subscribe_ticks, на которые рассчитан коннектор?
Записан
klimov
Разработчики
Hero Member
*****
Сообщений: 778


Просмотр профиля Email
« Ответ #3 : Августа 18, 2020, 11:57:31 am »

Не должно быть такого отставания.
Включите logLevel = 3 и пришлите нам  xdf-лог.
Там будут видны все получаемые данные
Записан
AlgoTrader
Newbie
*
Сообщений: 3


Просмотр профиля Email
« Ответ #4 : Августа 19, 2020, 02:25:53 pm »

Да, по логам все данные приходят без задержек, проблема в нашем коде. Пробовали разные варианты C# многопоточности (Task.Run), асинхронности (async/await) и без них на одном потоке, на всём через какое-то время возникают фризы и отставания от котировок. Единственный пример C# проекта который удалось найти, то что на сайте Финама и в нём эти моменты не раскрыты (и в примере всё в одном потоке), в github ничего нет. Пожалуйста подскажите, есть ли какой-то пример C# кода, где можно посмотреть как правильно можно построить работу с subscribe_ticks / subscribe_alltrades c учётом многопоточности или асинхроннной обработки сообщений?
Записан
klimov
Разработчики
Hero Member
*****
Сообщений: 778


Просмотр профиля Email
« Ответ #5 : Августа 20, 2020, 01:21:28 pm »

К сожалению, у нас нет такого примера
Записан
Страниц: [1] Печать 
Transaq  |  СБО "Transaq"  |  TRANSAQ Connector  |  Topic: Получение потока свечей « предыдущая тема следующая тема »
Перейти в:  


Войти

Powered by MySQL Powered by PHP Powered by SMF 2.0.6 | SMF © 2006-2008, Simple Machines LLC Valid XHTML 1.0! Valid CSS!