Для обмена информацией между QUIK и внешней программой используются текстовые файлы фиксированной структуры:
• *.tri – файл с параметрами транзакций,
• *.tro – файл с результатами посылки транзакций в торговую систему,
• *.trr – файл, содержащий журнал обработки транзакций.
Схема взаимодействия между программами выглядит следующим образом:
1. Внешняя программа формирует транзакцию с заданными параметрами и записывает ее в виде новой строки в .tri-файл. Транзакции идентифицируются по дополнительному целочисленному параметру TRANS_ID, содержащему уникальный номер.
2. Система QUIK опрашивает с определенной периодичностью .tri-файл с параметрами транзакций и передает в торговую систему ранее не обработанные транзакции. Если описание транзакции не соответствует принятому формату, то она отвергается.
3. Результат действий записывается в .tro-файл в формате, приемлемом для чтения внешней программой. Каждая строка файла содержит информацию об обработке отдельной транзакции, различаемые по параметру TRANS_ID.
4. При обработке внешней программой результатов операции (на ММВБ), выводимых в .tro-файл, регистрационный номер заявки в торговой системе указывается в текстовом сообщении, возвращаемом торговой системой (поле «DESCRIPTION»), а также параметром ORDER_NUMBER.
* ЗАМЕЧАНИЕ: Перед первым чтением .tri-файла QUIK обращается к .tro-файлу и считывает обработанные заявки. Заявки, содержащиеся в .tro-файле считаются обработанными, и строки в .tri-файле с тем же параметром TRANS_ID игнорируются. Если внешняя программа при каждом запуске начинает нумеровать заявки сначала, то перед ее запуском необходимо удалить .tro-файл из рабочей директории.