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

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

Однажды к Мастеру пришёл молодой человек и сказал: — Я пришёл к тебе, потому что чувствую себя таким жалким и никчёмным, что мне не хочется жить. Все вокруг твердят, что я неудачник, растяпа и идиот. Прошу тебя, Мастер, помоги мне!

Далее...

Мастер, мельком взглянув на юношу, торопливо ответил:

— Извини, но я сейчас очень занят и никак не могу тебе помочь. Мне нужно срочно уладить одно очень важное дело,— и, немного подумав, добавил: — Но если ты согласишься помочь мне в моём деле, то я с удовольствием помогу тебе в твоём.
— С... с удовольствием, Мастер, — пробормотал тот, с горечью отметив, что его в очередной раз отодвигают на второй план. Мастер снял со своего левого мизинца кольцо с красивым камнем.
— Возьми коня и скачи на рыночную площадь! Мне нужно срочно продать это кольцо, чтобы отдать долг. Ни в коем случае не соглашайся на цену ниже золотой монеты!

Юноша взял кольцо и ускакал. Приехав на рыночную площадь, он стал предлагать кольцо торговцам, и те поначалу с интересом разглядывали его товар. Но стоило им услышать о золотой монете, как они тут же теряли к кольцу всякий интерес. Одни открыто смеялись ему в лицо, другие просто отворачивались, и лишь один торговец любезно объяснил ему, что золотая монета — это слишком высокая цена за такое кольцо и что за него могут дать разве что медную монету, ну в крайнем случае серебряную.
Обойдя весь рынок и предложив кольцо доброй сотне людей, юноша вновь оседлал коня и вернулся обратно. Сильно удручённый неудачей, он вошёл к Мастеру.

— Мастер, я не смог выполнить твоего поручения, — с грустью сказал он. — В лучшем случае я мог бы выручить за кольцо пару серебряных монет, но никак не золотую! Торговцы твердят, что это кольцо столько не стоит.
— Да, неплохо было бы узнать истинную ценность кольца! Ну а кто может сделать это лучше, чем ювелир? Скачи-ка к ювелиру да спроси у него, сколько он предложит за кольцо.

Юноша отправился к ювелиру. Тот долго рассматривал кольцо и, наконец, сказал:

— Передай Мастеру, что сейчас я не могу дать ему больше 58-ми золотых монет. Но если он даст мне время, я куплю кольцо за 70, учитывая срочность сделки.
— Семьдесят золотых монет?! — юноша радостно засмеялся, поблагодарил ювелира и во весь опор помчался назад.
— Садись сюда, — сказал Мастер, выслушав оживлённый рассказ молодого человека. — И знай, сынок, что ты и есть это самое кольцо. Драгоценное и неповторимое! И оценить тебя может только истинный эксперт. Так зачем же ты ходишь по базару, ожидая, что это сделает первый встречный?


Pavel Gelium 2000-2017 © All rights reserved.