Форум разработчиков и пользователей программного обеспечения, предназначенного для работы на рынках, обслуживаемых торгово-клиринговой системой ММВБ (ASTS).
1. В потоке OLR (Order list incremental - поток заявок) у меня почему-то получаются отрицательные объемы. Собираю стакан по протоколу FAST выполняю так: - подключаюсь в потоку FOND-OLR-A, FOND-OLR-B (инкрементальные потоки) - получаю снапшот от 1 до 1 номера последовательности. - применяю снапшот (в нем, насколько вижу нет других действий, кроме добавления (просто дополняю стакан данными из снапшота) - затем к нему применяю изменения - 0-добавляю, 1-замена, 2-минусую объем из полученного в течение этого процесса, данных из потоков А и B - смотрю в стакан- и постепенно в нем появляются отрицательные объемы заявок.
Может ли такое быть на тестовой системе или такого быть не может и это у меня где-то ошибка при сборке ? Пока получается такой стакан на тестовом подключении: (некоторые позиции ушли в минус)
(279) MDUpdateAction в потоке OLR (для стакана) = 0: я должен добавить указанный объем к тому что есть уже (как указал ТС) (size += msg_size) = 1: я должен заменить имеющееся количество (size = msg_size) = 2: я должен вычесть указанный объем заявок (size -= msg_size)
3. И эти данные на тестовом варианте пригодны ли для анализа и проверки будущих алгоритмов или они не имеют к жизни никакого отношения ? т.е. это транслируются может устаревшие, но реальные данные или какими-то генераторами случайными создаются ?
- зачем в снапшоте MDEntryType="J", если мы удаляем по нему всю информацию об инструменте (догадываюсь, что я счто-то неправильно понял). Не проще было бы в таком случае не включать всю обнуляемую информацию в снапшот вообще ?
- есть ли какой-то вариант проверки правильности сбора стакана ? возможно ли к тестовому стэнду подключиться каким-то терминалом, чтобы проверить правильно ли собран мной стакан в моем приложении ?
Последний раз редактировалось автором 06.05.2020 19:52, всего редактировалось 1 раз
Ну хотя бы может кто-нибудь знает, может ли вообще такая ситуация быть или я что-то неправильно делаю ?
Не прошу указать на конкретную ошибку, только где ее искать ? до сих пор не могу понять - все пошагово прошел - потеряных сообщений нет... как же правильно делать удаление бОльшего объема, чем имеется на данный момент ?
Однако получилось подогнать под ответ... Остался-таки вопрос: что-таки делать с удалением бОльшего объема и как его удалять, если по цене, заявки из которой надо удалить, объем заявок меньше, чем пришел объем на удаление ?
есть ощущение, что я случайно получил правильный стакан и в будущем это где-то всплывет....
Последний раз редактировалось автором 10.05.2020 15:20, всего редактировалось 1 раз
что-таки делать с удалением бОльшего объема и как его удалять, если по цене, заявки из которой надо удалить, объем заявок меньше, чем пришел объем на удаление ?
Последний раз редактировалось автором 10.05.2020 15:20, всего редактировалось 1 раз
Значит путем многих экспериментов жошел до того, что поле "MDEntrySize" при удалении не имеет значения. Удалять надо весь имеющийся объем заявок по данной цене.
Вопрос: зачем тогда это поле передается в сообщении, ведь оно вводит в заблуждение ? Еще и при том, что оно имеет бОльшее или меньшее значение объема, чем уже имеющийся объем заявок по данной цене, что совсем лишает понимания, как это использовать...
Последний раз редактировалось автором 11.05.2020 11:37, всего редактировалось 1 раз