Экспорт данных из Quik в GlobalServer.

Отправлено Vedmed' 17:29:45 14/11/2002:

Вам представляется технология экспорта из QUIK'а эталонных данных тикеров ММВБ в OmegaTS. 
 
Убедительная просьба к пользователям технологии не обращаться за поддержкой к создателям QUIK.
 
Вводные. 
 
При данной схеме использования связки Квик-Омега необходимо отметить несколько моментов.

В реестр компьютера, посредством ключа (о нем пойдет речь ниже), вносится запись, блокирующая обращение ГлобалСервера (далее — ГС) к системному времени. 
Отправляемые Квиком тики записываются в локальном времени ГС с биржевым временем сделки (т.е. в интервале 10:29 — 18:45 МСК). Иными словами, в локальном времени ГС мы увидим тики с таким же временем как и в рекорде Квика (эталонным временем).

Как известно, ГС хранит рекорд в «несдвигаемом» Гринвиче (UTC). Чтобы записать рекорд в UTC ГС использует поправку, которую ему сообщает Квик. Квик «сканирует» поправку один раз во врямя старта, ориентируясь на региональные установки компьютера. Например, если у вас на машине стоит часовой пояс Москвы, то в период летнего времени поправка будет -4, а зимой -3 часа. 
 
Технология организации экспорта. 
 
1. Создаем ключ, посредством которого вносится запись, блокирующая обращение ГС к системному времени. В стандартном приложении Windows — «Блкнот» создаем файл такого содержания: 
 
REGEDIT4 
 
[HKEY_CURRENT_USER\Software\Omega Research\Server\DBC Online SubServer.DBC Online] 
«USEPCCLOCK»="NO" 
 
Сохраняем этот файл как «Имя файла.reg». Далее запускаем этот файл — запись в реестр будет добавлена. Если вам будет необходимо удалить эту запись, то вам необходимо будет запустить с командной строки приложение regedit.exe и, отыскав по пути, указанному выше, её удалить. 
 
3. Формируем экспорт тикеров в Квике. Для этого в Квике идем в «Экспорт данных» — «Вывод данных для теханализа» и формируем группу тикеров с соответствующим им названиями в ГС. С установками «Выводить объем сделок в лотах» и «Не выводить данные повторно» я думаю, вы разберетесь самостоятельно. 
 
4. Несколько слов о «рисовании» графиков в Омеге. Чтоб Омега отображала динамику последнего бара необходимо чтобы тики, поступающие в ГС и воспринимаемые Омегой во времени UTC, имели UTC-время большее, нежели UTC-время запуска ГС в режиме он-лайн. Время запуска ГС в режиме он-лайн отображается в нижнем правом углу Омеги. Чтобы получить нужное время запуска мы, перед запуском ГС в онлайн, отводим локальное время компьютера на разницу между «несдвигаемым» Гринвичем и часовым поясом локального времени компьютера.  Необходимо отметить, что рабочие вокспейсы должны быть открыты ранее, нежели запуск ГС в режиме он-лайн, во избежание неправильной отрисовки последнего бара (глюк Омеги, выражающийся в появлении на последнем баре нескольких цен открытий-закрытий). 
 
5. Рекомендуемый пример порядка операций и настроек. 
 
Региональные настройки компьтера — часовой пояс Москвы. 
Вносим запись в реестр с помощью ключа (это нужно сделать один раз). 
Запускаем Квик. 
Отводим локальное время назад на 4 часа в летнем времени и на 3 часа в зимнем. 
Запускаем Омегу и ГС. Если ГС запускается в режиме он-лайн, то переводим его в режим офф-лайн. 
Открываем рабочие вокспейсы. 

Переводим ГС в режим он-лайн. После этой операции можно вернуть локальное время компьютера в истинное, соответствующее региональным настройкам. 
В Квике идем в «Экпорт данных» — меню «Вывод данных для теханализа» — «Начать вывод». Если вы запускаете экспорт данных во время или после торговой сессии (но до сброса данных интересующей сессии — по моему, до 12:00 Мск), то вам следует снять крыжик «не выводить данные повторно». Замечу, что если у вас в ГС уже есть часть данных этой сессии, то данные необходимо вычистить, иначе — данные запишутся сгруппировано по объемам «рядом» с уже имеющимися, что приведет к неправильному отображению объема сделок (их удвоению на участках совпадения рекордов). И ещё — Квик при экспорте формирует рекорд без разбиения тика на объемы сделок контрагентов. Т.е. если стоит одна заявка по какой-либо цене, выставленная сразу несколькими трейдерами и проходит сделка по этой цене, то тик, отправляемый в ГС будет один с удовлетворенным по этой цене объемом, без разбивки по контрагентам. Этим объясняется разница в количестве тиков м/д подробным рекордом биржи и вашим рекордом в ГС. 

В последней версии Квика есть очень удобная фича — автоконнект при разрыве связи (настройки — соединение с интернет). Настройте её — при обрыве связи Квик через некоторое время восстановит связь и докачает утерянные тики в ваш ГС с полагающимся временем сделок. 

Для удобства вы можете поместить ключи доступа к Квику (pubring.txk и secring.txk) в любое место на жестком диске и в файле квика QRYPTO.CFG в самом начале указать путь к ним (например, secring=C:\Program Files\QUIK\secring.txk 

pubring=C:\Program Files\QUIK\pubring.txk ). Теперь вам не нужно будет мучиться с дискетой.  

И, напоследок, ложка дёгтя — так как экспортный модуль QUIK'a не дает потока bid/ask и некоторых параметров Daily тайм-фрема, то в RadarScreen'e некоторые колонки рассчитываюся неверно. 
 
Разработка метода экспорта: 
Vedmed', Staer. 
 
Идея блокировки обращения ГС к системному времени: 
Андрей Назаров aka Andrew.

Pavel Gelium 2000-2017 © All rights reserved.