В последнее время один из брокеров стабильно стал разрывать соединение в середине торговой сессии и после восстановления соединения очищает таблицы, вызывает колбек OnCleanUp. Можно было бы сказать какого и зачем все чистить, но с этим уже бороться бессмысленно.
Более важно другое, после восстановления соединения в таблице ордеров наблюдаются совсем другие индексы записей. Был у записи индекс 15, а стал 20. Хотя визуально таблица (без фильтров и сортировок ) представлена именно как была ранее, и там запись до сих пор 15.
Ранее такого поведения не наблюдалось. Сейчас приходится вводить дополнительные методы для восстановления соответствия записей и запомненных данных.
Пользователь
Сообщений: Регистрация: 30.01.2015
03.07.2025 19:42:27
Цитата
Nikolay написал: В последнее время один из брокеров стабильно стал разрывать соединение в середине торговой сессии и после восстановления соединения очищает таблицы, вызывает колбек OnCleanUp. Можно было бы сказать какого и зачем все чистить, но с этим уже бороться бессмысленно.
Более важно другое, после восстановления соединения в таблице ордеров наблюдаются совсем другие индексы записей. Был у записи индекс 15, а стал 20. Хотя визуально таблица (без фильтров и сортировок ) представлена именно как была ранее, и там запись до сих пор 15.
Ранее такого поведения не наблюдалось. Сейчас приходится вводить дополнительные методы для восстановления соответствия записей и запомненных данных.
А Вы у брокера не спрашивали зачем он это делает? Может имеет смысл уйти от такого брокера?
Пользователь
Сообщений: Регистрация: 12.05.2020
03.07.2025 20:25:00
Очередная ветка на тему таблицы заявок, в каком то смысле, продолжение темы:
Пользователям от таблицы заявок (стоп-заявок) надо чтобы: 1) заявки в таблице появлялись с формированным номером заявки и trans_id; 2) индекс заявки, пока она существует обеспечивает прямой доступ к ней и не меняется. Как это будет реализовано дело разработчика QUIK и, вообще, нас не интересует. Сколь угодно быстро, но неправильно работающие программы никому не интересны.
Пользователь
Сообщений: Регистрация: 27.01.2017
04.07.2025 16:07:30
Цитата
А Вы у брокера не спрашивали зачем он это делает? Может имеет смысл уйти от такого брокера?
У меня пять брокеров, а также есть логи работы скриптов, наверно, почти по всем более менее крупным брокерам. По опыту - у всех свои тараканы. Да и выйти в техподдержке на живого человека, который хоть как-то поймёт о чем речь - это тот ещё тот квест и уйма времени. Плюс, если такие события происходят, значит необходимо предусматривать такое поведение, мы же с деньгами работаем, а не картинки показываем на сайте.
А Вы у брокера не спрашивали зачем он это делает? Может имеет смысл уйти от такого брокера?
У меня пять брокеров, а также есть логи работы скриптов, наверно, почти по всем более менее крупным брокерам. По опыту - у всех свои тараканы. Да и выйти в техподдержке на живого человека, который хоть как-то поймёт о чем речь - это тот ещё тот квест и уйма времени. Плюс, если такие события происходят, значит необходимо предусматривать такое поведение, мы же с деньгами работаем, а не картинки показываем на сайте.
В моей практики такого не было. --------------- Поясните подробнее, что означает появление новых заявок. Вы их не делали?
Пользователь
Сообщений: Регистрация: 27.01.2017
05.07.2025 09:28:25
Что значит новые. С утра установлены заявки, они получили индексы в таблице ордеров. В 12:30 брокер разрывает связь, тут же восстанавливает, но при этом вызывает колбек OnCleanUp. Все таблицы очищаются. После происходит восстановление записей в таблицах (при этом приходят все колбеки заново). Далее смотрим на эти записи и видим, что ордер с индексом 15 стал 20. И так по всем записям - все вперемешку. Смотрим на таблицу ордеров в интерфейсе, там порядок записей такой же ка был изначально.
Проблема решена через блок поиска ордеров, который все равно в скриптах есть, но назвать это ожидаемым - вряд ли.
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2025 07:08:14
Цитата
Nikolay написал: Что значит новые. С утра установлены заявки, они получили индексы в таблице ордеров. В 12:30 брокер разрывает связь, тут же восстанавливает, но при этом вызывает колбек OnCleanUp. Все таблицы очищаются. После происходит восстановление записей в таблицах (при этом приходят все колбеки заново). Далее смотрим на эти записи и видим, что ордер с индексом 15 стал 20. И так по всем записям - все вперемешку. Смотрим на таблицу ордеров в интерфейсе, там порядок записей такой же ка был изначально.
Проблема решена через блок поиска ордеров, который все равно в скриптах есть, но назвать это ожидаемым - вряд ли.
Что такое "таблица ордеров в интерфейсе" ? Заявки в таблице заявок записаны в других строках, чем были раньше? Верно?
Пользователь
Сообщений: Регистрация: 30.01.2015
06.07.2025 07:12:24
У меня , при восстановлении соединения, все таблицы обрабатываются заново, как при первом соединении. Поэтому мне все равно в каком порядке будут записаны в нее ордера.
Пользователь
Сообщений: Регистрация: 27.01.2017
07.07.2025 13:59:46
Цитата
nikolz написал: У меня , при восстановлении соединения, все таблицы обрабатываются заново, как при первом соединении. Поэтому мне все равно в каком порядке будут записаны в нее ордера.
Аналогично. Но ранее такого поведения не наблюдалось. Сегодня брокер опять сделал это, так что всем стоит принять за истину, что теперь терминала не гарантирует в таблицах сохранность порядка записей.
Пользователь
Сообщений: Регистрация: 12.05.2020
08.07.2025 00:32:24
Цитата
Nikolay написал:. стоит принять за истину, что теперь терминал не гарантирует в таблицах сохранность порядка записей.
Они "дышат" . Это значит, что функция SearchItems работает некорректно. Она выдает таблицу индексов записей. В какой то момент (например через 3 секунды) эти индексы используются для обращения к записям, а записи могут "разбежаться" . ---- Предложение разработчику QUIK: 1) В таблицы QUIK добавить служебное поле номер записи в таблице и использовать его значение для обеспечения сохранности порядка в таблицах. 2)
Цитата
TGB написал: надо чтобы заявки в таблице появлялись с формированным номером заявки и trans_id;
Поддержка, пожалуйста, "донесите" предложение разработчику.
Если в настоящий момент описанное поведение сохраняется, просим Вас при повторении сообщить, к серверу какого брокера Вы подключаетесь, а также версию используемого Рабочего места QUIK и в какое время Вы наблюдали проблему на своей стороне.
Информацию можно направить на нашу почту , в этом случае просим указать в письме ссылку на данную тему форума.
Заранее благодарим.
Пользователь
Сообщений: Регистрация: 27.01.2017
21.07.2025 12:53:42
Это происходит у брокера Сбербанк (сервер у него один) в середине торговой сессии когда сервер брокера разрывает соединение, а после восстановления вызывается колбек OnCleanUp. Версия терминала 12.2.2.8
[INFO 2025-10-22 11:35:41] : OnConnected flag true
Все же возникает вопрос - зачем в середине торговой сессии вызывать OnCleanUp?
При этом данные после такой чистки загружаются минуты.
Можете показать пример перемешивания? А то что-то не врублюсь, где это даст ошибку.
Пользователь
Сообщений: Регистрация: 27.01.2017
26.10.2025 16:40:59
Это уже не дает ошибку, т.к. после OnCleanUp внутри сессии происходит сброс индексов таблицы ордеров и заново ищем ордера по номеру, когда они появятся. Некорректные индексы появились с выходом 12 версии, ранее такого никогда не было.
Сейчас уже вопрос в том - зачем. Скорость загрузки данных - это уже дело десятое, хотя появление записей в таблице ордеров после восстановления подключения через минуты - это не сказать, что хорошо.
Пользователь
Сообщений: Регистрация: 30.01.2015
26.10.2025 16:46:53
Цитата
Nikolay написал: Это уже не дает ошибку, т.к. после OnCleanUp внутри сессии происходит сброс индексов таблицы ордеров и заново ищем ордера по номеру, когда они появятся. Некорректные индексы появились с выходом 12 версии, ранее такого никогда не было.
Сейчас уже вопрос в том - зачем. Скорость загрузки данных - это уже дело десятое, хотя появление записей в таблице ордеров после восстановления подключения через минуты - это не сказать, что хорошо.
У меня 12 версия от сбербанка вообще затормозила комп. Выкинул и вернулся на 8.7. Ляпота!!!
Пользователь
Сообщений: Регистрация: 27.01.2017
13.11.2025 11:54:46
Думаю, что смело можно сказать, что в серверной части Квик есть какой-то "гуляющий" баг. Начиная с 12-ой версии происходят регулярные отключения с последующим вызовом OnCleanUp.
Если бы это был только один брокер, то, возможно, можно было бы списать на его настройки. Но это происходит у разных брокеров с разной периодичностью. Хотя у брокера Альфа пока не было таких случаев вовсе. Но т.к. у него Квик не особо доступен, то, возможно, данное поведение связано с нагрузкой на сервера.
Пользователь
Сообщений: Регистрация: 30.01.2015
13.11.2025 12:18:42
Предположу, что так сбрасывают зависшие каналы, когда их много. ------------------- "Хотелось бы услышать начальника транспортного цеха"