ПоискПоиск  ПравилаПравила  ПользователиПользователи  ПрофильПрофиль  РегистрацияРегистрация  ВходВход
Форум «Техническая поддержка ПО ASTS»
Форум разработчиков и пользователей программного обеспечения, предназначенного для работы на рынках, обслуживаемых торгово-клиринговой системой ММВБ (ASTS).
ASTSBridge tfClearOnUpdate
Новая тема   Ответить на тему
 Предыдущая тема :: Следующая тема 
 Автор  Сообщение 
livrrr
Стаж: 5 лет 4 месяца
Сообщений: 18
Ср Фев 05, 2014 12:40 Ответить с цитатой Получить постоянный адрес сообщения
Доброго времени суток.
1) Разъясните, пожалуйста, следующий момент, в документации сказано:
"tfClearOnUpdate - старое содержимое таблицы должно удаляться при получении каждого обновления с помощью функций MTEAddTable/MTERefresh."
и в тоже время сказано:
"Замечание 3. Для таблиц с установленным флагом "tfClearOnUpdate - Очищать при обновлении" (кроме таблицы ORDERBOOK) определен ледующий порядок обработки обновлений: когда таблица должна быть полностью очищена КолвоСтрок устанавливается равным 1, то есть, возвращается одна строка со значением ДлинаДанных = 0 (см. приложение 2)."
Не кажется ли вам, что одно противоречит другому?

2) Еще в документации сказано:
"Для таблицы ORDERBOOK существуют два режима запроса информации по котировкам:
1. Для получения информации по одному инструменту, в запросе задаются непустые значения для полей "Режим" и "Инструмент";
2. Для получения информации по котировкам всех доступных инструментов в одном запросе, поля "Режим" и "Инструмент" заполняются символами пробела.

Соответственно, для первого способа в случае, когда таблица котировок должна быть очищена в ответ на запрос, приходит таблица с одной строкой, содержащей следующие значения: КолвоПолей =2 и ДлинаДанных = (длина поля "Режим" + длина поля "Инструмент") В этой строке содержатся только поля "Режим" и "Инструмент". Для второго случая в ответе на запрос могут содержаться несколько таких строк (в которых присутствуют только значения полей "Режим" и "Инструмент"), что для данных инструментов означает очистку значений котировок.
"

Мне ни разу на тестовом контуре не прилетели строки с КолвоПолей=2, всегда прилетают с КолвоПолей=6.
Кроме того при запросе способом 1, мне либо прилетает весь стакан по данному инструмену, либо ничего не прилетает, но при при этом никаких КолвоПолей =2 и ДлинаДанных = (длина поля "Режим" + длина поля "Инструмент") я ни разу не видел, отсюда я сделал вывод, что стакан нужно чистить всегда если что-то прилетает, правильно ли это?

3) Хуже если я запрашиваю стакан способом 2, судя по всему мне прилетают стаканы по инструментам, по которым что-то изменилось (и прилетают полностью). Возникает вопрос: когда мне очищать стаканы по инструментам? Из тех данных которые мне приходят я могу сделать вывод, что стакан по инструменту нужно очищать только в том случае, если он пришел и обновлять тем что пришло, правильно ли это, в документации написано по-другому, но описанного поведения я не наблюдаю. 
 
Александр Агибалов
Стаж: 5 лет 7 месяцев
Откуда: Московская Биржа
Сообщений: 56
Чт Фев 06, 2014 12:48 (спустя 1 день) Ответить с цитатой Получить постоянный адрес сообщения
День добрый!
По всем трём вопросам необходимо различать понятия "пустая таблица" и "очистка перед обновлением". К стаканам также применимо состояние "стакан не изменился".

То есть:
Если говорить обо всех таблицах с флагом tfClearOnUpdate кроме ORDERBOOK: как только вам прилетел ответ из системы, то независимо от его содержимого, нужно очистить у себя таблицу и заполнить ее полученными данными (могут быть пустыми).

По стаканам:
Если со времени вашего последнего запроса какой-либо из стаканов в системе не изменился, то по нему в ответе не будет содержаться никакой информации вообще (т.е. никаких КолвоПолей и т.п.). Значит у себя локально вы оставляете старый стакан.
Если стакан в системе опустел, то прилетят строки с КолвоПолей=2. Значит у себя локально вы чистите этот стакан и оставляете его пустым.
Если в торговой системе в стакане по инструменту+режиму есть хотя бы одно изменение, то весь стакан по этой паре значений прилетит полностью. Соответственно, у себя локально нужно очистить стакан и собрать его заново на основе ответа. 
 
livrrr
Стаж: 5 лет 4 месяца
Сообщений: 18
Чт Фев 06, 2014 15:09 (спустя 1 день 2 часа) Ответить с цитатой Получить постоянный адрес сообщения
Вот теперь стало понятно, спасибо за разъяснение. 
 
Показать сообщения:   
Новая тема   Ответить на тему
Список разделов форума -> Техническая поддержка ПО ASTS

Rambler's Top100 Rambler's Top100
Рейтинг@Mail.ru
Copyright © Московская биржа, 2006-2017.
Ваши предложения, замечания и вопросы
по работе форума направляйте на email: