TRANS2QUIK.dll v1.2
QUIK v7.10.0.76
Я понимаю что вопрос наверно тупой, но прочитал несколько раз документацию и не понял поведения функции.
Мне нужно в процессе работы добавлять инструменты в подписку на сделки.
Например при старте программы я подписался так:
TRANS2QUIK_SUBSCRIBE_TRADES("SPBFUT", "RIM7|BRM7"); // (1)
TRANS2QUIK_START_TRADES(CB_NewDeal);
Всё прекрасно работает.
Затем мне надо подписаться ещё на один инструмент дополнительно. Я вызываю:
TRANS2QUIK_SUBSCRIBE_TRADES("SPBFUT", "RIM7|BRM7|BRQ7"); // (2)
Но на новый инструмент BRQ7 сделки не приходят. На старые RIM7|BRM7 - приходят.
Я прочитал документацию ещё раз и там написано что вызовы содержащие уже "подписанные инструменты", игнорируются.
Тогда я переписал второй вызов так, что он содержит только тот инструмент, которого нет:
TRANS2QUIK_SUBSCRIBE_TRADES("SPBFUT", "BRQ7"); // (3)
Эффект тот же самый. Приходят только сделки от (1) а повторные подписки игнорируются.
Мне надо что, вызывать TRANS2QUIK_UNSUBSCRIBE_ORDERS (); А потом всё по новой подписываться?
Это не годится, т.к. я не хочу прерывать все подписки.
Или мне надо просто вызывать TRANS2QUIK_START_TRADES(CB_NewDeal);
после каждого нового TRANS2QUIK_SUBSCRIBE_TRADES?
Чтобы не гадать и не шаманить решил наконец спросить совета "а как всё-таки правильно?"
Спасибо.
QUIK v7.10.0.76
Я понимаю что вопрос наверно тупой, но прочитал несколько раз документацию и не понял поведения функции.
Мне нужно в процессе работы добавлять инструменты в подписку на сделки.
Например при старте программы я подписался так:
TRANS2QUIK_SUBSCRIBE_TRADES("SPBFUT", "RIM7|BRM7"); // (1)
TRANS2QUIK_START_TRADES(CB_NewDeal);
Всё прекрасно работает.
Затем мне надо подписаться ещё на один инструмент дополнительно. Я вызываю:
TRANS2QUIK_SUBSCRIBE_TRADES("SPBFUT", "RIM7|BRM7|BRQ7"); // (2)
Но на новый инструмент BRQ7 сделки не приходят. На старые RIM7|BRM7 - приходят.
Я прочитал документацию ещё раз и там написано что вызовы содержащие уже "подписанные инструменты", игнорируются.
Тогда я переписал второй вызов так, что он содержит только тот инструмент, которого нет:
TRANS2QUIK_SUBSCRIBE_TRADES("SPBFUT", "BRQ7"); // (3)
Эффект тот же самый. Приходят только сделки от (1) а повторные подписки игнорируются.
Мне надо что, вызывать TRANS2QUIK_UNSUBSCRIBE_ORDERS (); А потом всё по новой подписываться?
Это не годится, т.к. я не хочу прерывать все подписки.
Или мне надо просто вызывать TRANS2QUIK_START_TRADES(CB_NewDeal);
после каждого нового TRANS2QUIK_SUBSCRIBE_TRADES?
Чтобы не гадать и не шаманить решил наконец спросить совета "а как всё-таки правильно?"
Спасибо.