Получение информации о заявках и сделках

Для получения информации о заявках и сделках пользователь сначала должен сформировать список получаемых инструментов. Для этого он должен вызывать соответствующие функции подписки TRANS2QUIK_SUBSCRIBE_ORDERS для заявок и TRANS2QUIK_SUBSCRIBE_TRADES для сделок.

Список инструментов как по сделкам, так и по заявкам можно формировать двумя способами - подписываться сразу на весь перечень классов и инструментов, на которые есть права у пользователя, либо перечислять классы по очереди. Например, если требуется получить информацию только по двум классам TQNL и TQBR, причем по TQBR классу интересуют заявки только по инструменту LKOH, то подписка должна быть произведена следующим образом:

TRANS2QUIK_SUBSCRIBE_ORDERS ("TQNL", "");
TRANS2QUIK_SUBSCRIBE_ORDERS ("TQBR", "LKOH");

Для перечисления нескольких инструментов в классе используется символ «|», например:

TRANS2QUIK_SUBSCRIBE_ORDERS ("TQBR", "LKOH|AFLT");

Перечисление классов инструментов через разделитель «|» не допускается.

Если при вызове функции подписки указан перечень инструментов, который уже имеется в списке, то такой вызов будет проигнорирован, например:

TRANS2QUIK_SUBSCRIBE_ORDERS ("", "");
TRANS2QUIK_SUBSCRIBE_ORDERS ("TQBR", "LKOH");

Сначала была заказана подписка на получение заявок по всем доступным классам и инструментам, а затем сделана попытка подписаться на получение информации по одному конкретному классу. Этот вызов будет проигнорирован, так как он не добавляет новых инструментов в список для получения заявок. Аналогичный результат будет в следующем случае:

TRANS2QUIK_SUBSCRIBE_ORDERS ("TQBR", "");
TRANS2QUIK_SUBSCRIBE_ORDERS ("TQBR", "LKOH|AFLT");

Для запуска процесса получения информации по сделкам и заявкам пользователь должен вызвать функции TRANS2QUIK_START_ORDERS - для заявок и TRANS2QUIK_START_TRADES - для сделок.

После вызова данных функций, терминал QUIK начнет передавать в Trans2QUIK.dll информацию о заявках и сделках с помощью указанных функций обратного вызова, причем сначала будет передана информация об уже полученных заявках и сделках (параметр nMode в функциях обратного вызова будет отличен от нуля), а потом по мере поступления будет передаваться информация о новых заявках и сделках (параметр nMode в функциях обратного вызова будет равен нулю).

Для прекращения получения информации по заявкам или сделкам пользователь должен вызывать соответствующие функции отписки TRANS2QUIK_UNSUBSCRIBE_ORDERS - для заявок и TRANS2QUIK_UNSUBSCRIBE_TRADES - для сделок. Данные функции параметров не имеют, после их вызова прекращается получение информации по всем заявкам и сделкам. Допускаются многократные вызовы данной функции в процессе работы, наряду с вызовами для подписки на получение информации по сделкам и заявкам.

Например:

TRANS2QUIK_SUBSCRIBE_ORDERS ("", "");
TRANS2QUIK_START_ORDERS ();
TRANS2QUIK_SUBSCRIBE_TRADES ("", "");
TRANS2QUIK_START_TRADES ();

TRANS2QUIK_UNSUBSCRIBE_ORDERS ();
TRANS2QUIK_UNSUBSCRIBE_TRADES ();
TRANS2QUIK_SUBSCRIBE_ORDERS ("TQBR", "LKOH");
TRANS2QUIK_START_ORDERS ();
TRANS2QUIK_SUBSCRIBE_TRADES ("TQBR", "LKOH");
TRANS2QUIK_START_TRADES ();

См. также: