Разработчика: позиция по клиентским счетам, активные стоп-заявки и тд

Страницы: 1
RSS
Разработчика: позиция по клиентским счетам, активные стоп-заявки и тд
 
Необходим механизм определения наличия подключения к серверу, а так же актуальна ли информация, которая отображается во всех таблицах QUIK.
Моему роботу необходимо определять текущее состояние: есть ли на руках контракты, подключены ли мы к серверу и получаем биржевую информацию, что в таблице стоп-заявок актуальная информация.
В моменты обрыва связи клиент переходит на другой сервер и только через несколько секунд отображается актуальная информация во всех таблицах, в этом случае callback на свечи вызывается, а таблицы о стопах и текущих позициях еще не актуальны.

Каков может быть в данном случае механизм определения актуальности данных во всех таблицах QUIK?
 
Здравствуйте,
Цитата
Андрей Мандра пишет:
Необходим механизм определения наличия подключения к серверу,
За это отвечает функция isConnected
Цитата
Андрей Мандра пишет:
а так же актуальна ли информация, которая отображается во всех таблицах QUIK.
Вопрос кажется банальным, однако к сожалению нет четкого определения тому что такое "актуальная информация", поэтому рекомендаций в этом месте дать не можем.
Вы скажете, что это состояние при котором на терминале есть все что есть на сервере.
Однако как можно определить что это вся информация при условии что она льется непрерывно? Не хочется начинать спор в этом месте, так как все возможные аргументы уже много раз обсуждались на форуме. Поэтому просто поверьте на слово, надежного способа не существует.
Вы можете самостоятельно определить что это именно для Вас означает актуальность данных  и создать соответствующую логику проверки.
Цитата
Андрей Мандра пишет:
В моменты обрыва связи клиент переходит на другой сервер и только через несколько секунд отображается актуальная информация во всех таблицах, в этом случае callback на свечи вызывается, а таблицы о стопах и текущих позициях еще не актуальны.
При переключении к другому серверу данные затираются и качаются по новой.
Терминал можно настроить так чтобы он работал только с одним сервером (галка "При восстановлении использовать только параметры последнего соединения")
 
В современном мире актуальная информация это та, которая воспринимается пользователем как достоверная.
Предположим, что мы включаем телевизор, и видим  бегущих и стреляющих солдат в современной форме.
Что это?
Новости, фантастический фильм или архив новостей?
Чтобы решить этот вопрос, нам нужны дальнейшие наблюдения либо дополнительный независимый источник для сравнения информации.
--------------------------------
В случае асинхронных событий которые мы получаем через квик ситуация ровто такая же.
Если информация не противоречит нашему пониманию и нашим действиям то мы считаем ее актуальной.
Даже, если нам "крутит кино" (термин из сленга работников кухни  форекса )  наш брокер.
 
Цитата
Николай Камынин пишет:
В современном мире актуальная информация это та, которая воспринимается пользователем как достоверная.
Предположим, что мы включаем телевизор, и видим бегущих и стреляющих солдат в современной форме.
Что это?
Новости, фантастический фильм или архив новостей?
Чтобы решить этот вопрос, нам нужны дальнейшие наблюдения либо дополнительный независимый источник для сравнения информации.
--------------------------------
В случае асинхронных событий которые мы получаем через квик ситуация ровто такая же.
Если информация не противоречит нашему пониманию и нашим действиям то мы считаем ее актуальной.
Даже, если нам "крутит кино" (термин из сленга работников кухни форекса ) наш брокер.
Николай, Ваш комментарий не понятен. У Вас есть надежный совет по решению задачи?
 
Цитата
Sergey Gorokhov пишет:
Цитата
Николай Камынин пишет:
В современном мире актуальная информация это та, которая воспринимается пользователем как достоверная.
Предположим, что мы включаем телевизор, и видим бегущих и стреляющих солдат в современной форме.
Что это?
Новости, фантастический фильм или архив новостей?
Чтобы решить этот вопрос, нам нужны дальнейшие наблюдения либо дополнительный независимый источник для сравнения информации.
--------------------------------
В случае асинхронных событий которые мы получаем через квик ситуация ровто такая же.
Если информация не противоречит нашему пониманию и нашим действиям то мы считаем ее актуальной.
Даже, если нам "крутит кино" (термин из сленга работников кухни форекса ) наш брокер.
Николай, Ваш комментарий не понятен. У Вас есть надежный совет по решению задачи?
Николай, думаю, советует хранить у себя то, что должно быть и сравнивать с тем, что дает сервер и принимать решение при рассогласовании. Меня это не устраивает, хотя это самый надежный вариант. я пока остановился на временной задержке при переходе терминала на другой сервер (задержка без sleep)
 
В качестве совета расскажу кратко свое решение для скриптов (для индикаторов решение другое).
---------------------------------------
Я создаю таблицы сделок,активных заявок,активных условных заявок, транзакций.
-------------------------------------
при отсылки поручения , записываем транзакцию в таблицу транзакций
при приеме колбека на транзакцию удаляем из соответствующей таблицы.
Таким образом , контролируем баланс транзакций.
----------------------------------
В колбеке обработки заявок я различаю три состояния, новая, активная и неактивная.
--------------------------------
Активные заявки различаются как выставленные роботом или человеком
и заявки выставленные при исполнении условных заявок.
----------------------------------
В неактивном состоянии заявки  различаю  два состояния - исполнена , отклонена
-------------------------------
таблицу сделок почти не обрабатываю
Просто фиксирую совершенные сделки и считаю прибыль убытки комиссии и т д
---------------------------------------
Условные заявки разделяю на стоп-заявки и условные заявки,
а также на  заявки выставленные роботом и заявки выставленные человеком
--------------------------  
Перечисленные выше состояния я обрабатываю. мне не имеет значение сколько пришло колбеков
Для каждого указанного состояния свой алгоритм обработки.
-----------------------------
Примерно так.
 
Цитата
Николай Камынин пишет:
при отсылки поручения , записываем транзакцию в таблицу транзакций
при приеме колбека на транзакцию удаляем из соответствующей таблицы.
Таким образом , контролируем баланс транзакций.
Что делаете, если на транзакцию длительное время нет ответа?
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Старатель пишет:
Что делаете, если на транзакцию длительное время нет ответа?
проверяю интернет и ищу ошибки в своей программе.
При нормальной работе канала и отсутствии  ошибок такая ситуация не возникала.
 
Цитата
Николай Камынин пишет:
При нормальной работе канала и отсутствии ошибок такая ситуация не возникала.
Но она возможна. Более того, я с такой ситуацией встречался.
Правильно я понимаю, что у вас не предусмотрено никаких автоматических действий при отсутствии колбека на транзакцию?
Надо делать так, как надо. А как не надо - делать не надо.
 
правильно Вы понимаете.
Есть лишь индикация ненулевого значения.
Когда ситуация такая встретится, то буду решать как ее исправлять автоматом,
пока такой задачи не возникало.
Страницы: 1
Читают тему
Наверх