Не видит тики???
Atom Ответить
09.10.2020


Стокшарп не видит тики с одинаковым временем. Что делать?

Тиковые данные

Screenshot_10.png

То, что вывел

Screenshot_11.png

Все миллисекунды разные, хотя в истории встречаются и одинаковые

Надеюсь Вы мне ответите)
Screenshot_10.png 13 KB (45) Screenshot_11.png 7 KB (15)



Спасибо:




11 Ответов
sprite

Фотография
Дата: 09.10.2020
Ответить


А ещё такие тики стокшарп не умеет рисовать в разных свечках.
Спасибо:

sprite

Фотография
Дата: 09.10.2020
Ответить


...разумеется если это не таймфрейм свечки...
Спасибо:

Greenn

Фотография
Курсы
Дата: 09.10.2020
Ответить


sprite Перейти
...разумеется если это не таймфрейм свечки...


Есть ли решение такой ситуации?
Автор топика
Спасибо:

sprite

Фотография
Дата: 09.10.2020
Ответить


Greenn Перейти
Есть ли решение такой ситуации?

То что пропускаются тики - не знаю, у меня вообще бардак с тиками какой-то. Транзак коннектор, когда сразу после торговой сессии соединяется и заливает данные в локальное хранилище для истории - иногда дублирует тики, иногда пропускает, я забил и вручную их фильтрую. В реалтайме (во время сессии) не отслеживал. А вот когда тики с одинаковым или очень близким временем надо делить на разные свечи - я добавляю к каждой такой следующей свече 1 тик к дате закрытия от предыдущей (DateTime.AddTicks(Int64)), если алгоритм построения свечи предполагает отрисовку нескольких свечек в очень короткий промежуток времени - то делаю это с каждой. Такое часто бывает во время открытия сессии (я рисую свечки по алгоритму который в ATAS называется RangeXV, это типа Range но с небольшим изменением в логике). На графике это выглядит как куча свечек с одинаковым временем в одну секунду и длительность каждой не видна, но хоть так. На картинке - открытие вечерки на фортс, все свечки в одной секунде. Ответов уже давно не жду и вопросов не задаю ((( У вас же, судя по активности на форуме - активная фаза разработки/изучения/исследования платформы. Желаю удачи!


image4713.png 11 KB (1)
Спасибо:

sprite

Фотография
Дата: 09.10.2020
Ответить


картинка почему-то не прилепилась к предыдущему посту
image4853.png
image4853.png 11 KB (14)
Спасибо:

Greenn

Фотография
Курсы
Дата: 10.10.2020
Ответить


sprite Перейти
картинка почему-то не прилепилась к предыдущему посту
image4853.png


Не вижу, что Вы написали(
Screenshot_13.png
Screenshot_13.png 100 KB (14)
Автор топика
Спасибо:

Greenn

Фотография
Курсы
Дата: 10.10.2020
Ответить


sprite Перейти
Greenn Перейти
Есть ли решение такой ситуации?

То что пропускаются тики - не знаю, у меня вообще бардак с тиками какой-то. Транзак коннектор, когда сразу после торговой сессии соединяется и заливает данные в локальное хранилище для истории - иногда дублирует тики, иногда пропускает, я забил и вручную их фильтрую. В реалтайме (во время сессии) не отслеживал. А вот когда тики с одинаковым или очень близким временем надо делить на разные свечи - я добавляю к каждой такой следующей свече 1 тик к дате закрытия от предыдущей (DateTime.AddTicks(Int64)), если алгоритм построения свечи предполагает отрисовку нескольких свечек в очень короткий промежуток времени - то делаю это с каждой. Такое часто бывает во время открытия сессии (я рисую свечки по алгоритму который в ATAS называется RangeXV, это типа Range но с небольшим изменением в логике). На графике это выглядит как куча свечек с одинаковым временем в одну секунду и длительность каждой не видна, но хоть так. На картинке - открытие вечерки на фортс, все свечки в одной секунде. Ответов уже давно не жду и вопросов не задаю ((( У вас же, судя по активности на форуме - активная фаза разработки/изучения/исследования платформы. Желаю удачи!




Через окно "Ответить" все таки увидел) Благодарю за ответ
Автор топика
Спасибо:

sprite

Фотография
Дата: 10.10.2020
Ответить


Не за что. Поясню для размышления с тиками по российскому срочному рынку - я выкачиваю их стокшарп коннектором сразу же после закрытия сессии, параллельно выкачиваю их с сайта финама без стокшарповского кода, затем сравниваю по номерам и сращиваю, удаляя из выкачанных стокшарпом дубликаты. Всё это потому что финам не выкладывает значение открытого интереса, так бы я стокшарповский коннектор для этого вообще не использовал. В итоге получается более менее правдивый микс. Такая вот карусель (((
Спасибо:

Greenn

Фотография
Курсы
Дата: 10.10.2020
Ответить


sprite Перейти
Не за что. Поясню для размышления с тиками по российскому срочному рынку - я выкачиваю их стокшарп коннектором сразу же после закрытия сессии, параллельно выкачиваю их с сайта финама без стокшарповского кода, затем сравниваю по номерам и сращиваю, удаляя из выкачанных стокшарпом дубликаты. Всё это потому что финам не выкладывает значение открытого интереса, так бы я стокшарповский коннектор для этого вообще не использовал. В итоге получается более менее правдивый микс. Такая вот карусель (((


Не поделитесь кусочком кода, как Вы выкачиваете используя коннектор? Хотя бы примерно, чтобы иметь представление)
Автор топика
Спасибо:

sprite

Фотография
Дата: 10.10.2020
Ответить


Вкратце логика такая:

Подписываемся на сообщения, сохраняем их в локальную коллекцию
_connector.NewMessage += (message) =>
{
if (message is ExecutionMessage executionMessage)
{
_executionMessages.Add(executionMessage);
}
};

Подписываемся на тики. Если указать конечную дату то тики получены не будут, возможно это только для Transaq так как сервер хранит тики только за день, возможно такая логика для всех коннекторов. Документация мягко говоря очень скудная:
_connector.SubscribeTrades(_security, _from);

После того как тики получены сохраняем их в заранее определенное хранилище (Логику выявления что тиков на сегодня больше не будет постить не буду, но смысл такой - коннектор не знает что больше тиков не будет и продолжает слушать. Я через таймаут в пару минут от последнего тика просто считаю что тики поступать больше не будут, разумеется это не работает на малоликвидных инструментах и надо изобретать что-то другое.)
_storageRegistry.GetTickMessageStorage(_securityId).Save(_executionMessages);

По идее авторов библиотеки достаточно было бы при инициализации коннектора указать StorageRegistry, но я устал с этим бороться, так как после каждого нового релиза можно ожидать или изменение сигнатур или логику работы или ситуацию когда вообще непонятно почему не работает. А задавать вопросы авторам и ждать от них ответы - скоро сами поймете, где ваше место.
Спасибо: Greenn

Greenn

Фотография
Курсы
Дата: 10.10.2020
Ответить


Спасибо) Буду пробовать
Автор топика
Спасибо:


Добавить файлы через драг-н-дроп, , или вставить из буфера обмена.

loading
clippy