Отправлено 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.
Вам представляется технология экспорта из 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.