Экспорт данных из 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.

Для души и разума.

Деревенский кузнец нашел себе помощника, согласившегося выполнять тяжелую работу за минимальную плату. Кузнец сразу же принялся наставлять парня:

- Когда я выну полосу металла из огня и положу ее на наковальню, я кивну тебе головой. В этот момент бей по ней молотом.

Ученик сделал так, как понял. На следующий день он стал деревенским кузнецом.




Перепечатка авторских материалов сайта без указания ссылки на
сайт Gelium.net запрещена.

Pavel Gelium 2000-2017 © All rights reserved.