Блог им. Dartanian

Вопрос по автоматизации QUIK (как узнать что сейчас идет сессия квика?)

Доброго времени суток. 
Дамы и господа подскажите, есть ли в квике какой нибудь надежный индикатор, что сейчас идет сессия? 
Нужно для автоматизации торговой системы, чтобы автоматически изымать наличие сессии. Сответственно сессия идет — радобаем, не идет — ждем когда начнется.

Сколько не ковырял, честно говоря не нашел индикатора того что сессия идет (нужно и по акциям и по фьючам)

Исключу сразу несколько вариантов ответов:
1. Время — это костыльный вариант, если что-то поменятеся, то все пошло прахом
2. Столбец «Сессия» в акциях, работает криво и годен только для акций.
★1
18 комментариев
1. Проверяете статус коннекта к серверу.
2. Проверяете статус торговли акцией или бумагой. Работает отлично.
Вам примеры кода нужны?
avatar
Eldar Shaymardanov, было бы великолепно) Огромное спасибо

avatar
getParamEx("...", "...", "TRADINGSTATUS").param_value

=1, торгуется.
avatar
Андрей К, Не подходит для фьючей ибо всегда пуста.
avatar
Константин Б, 
1) toNumber (getParamEx....) == 1
2) Меню Связь/Списки/Forts — фильтр параметров, добавьте нужные загружаемые параметры.
avatar
Андрей К, STATUS это поле Статус (Торгуется/Заморожена), а TRADINGSTATUS это поле Сессия, из Текущей таблицы параметров
разные значения
avatar
1. isConnected() — возвращает 1 если есть соединение с сервером. 0 — нет соединения.
2. getParamEx(ClassCode,  SecCode, «status»).param_value — возвращает 1 если торгуется и 0 если не торгуется.

avatar
есть такай функция, CONNECT=IS_CONNECTED () но я ей не пользуюсь.

Я просто беру текущую цену бумаги LASTPRICE_GD = get_param(ClassCode,SecCode,«last») , если ее возвращает функция, то все ОК)
avatar
Dachnik, данная функция хороша тем, что просто получить статус коннекта к серверу достаточно, чтобы не пересчитывать и не пытаться получить данные индикаторов, которые в противном случае могут вернуть ошибки.
avatar
вообще TRADINGSTATUS применяется к акциям, потому как там есть еще статусы торгов как «Аукцион открытия», «Аукцион закрытия», кроме «сессия открыта» — торгуется и «сессия завершена» — не торгуется.
на фьючах такого нет. там применяют status.
avatar
это я про lua пишу конкретно. но в qpile должен быть такой же синтаксис, может только возврат значений чуть другой
avatar
Eldar Shaymardanov, О это важное замечание. Так как нам интересней qpile. Как вообще в пользовании Lua? лучше квика? надежней?
avatar
Константин Б, в quik программируют тремя путями -
1. через портфели qpile
2. через скрипты lua
3. через коннекторы (типа trans2quik.dll) с помощью любых других языков.

мне проще через lua.
avatar
Константин Б, это надо спрашивать у техподдержки.
и то и другое выполняется в одном своем потоке. вроде читал, что в будущем скрипты на lua будут работать в мультипотоке, соответственно скрипты и код индикаторов друг другу мешать не будут.
плюс код индикаторов только на lua
avatar
на qpile используются точно такие же функции, только синтаксис чуть другой. Есть все подробно в хелпе
avatar
Я работаю с фьючами. Ни один из описанных методов для них к сожалению не работает, по крайней мере для дневного клирина. Только что проверял.
Поля STATUS И TRAIDSTATUS — всегда нулевые. lastprice в дневной клиринг прекрасно возвращается. Сейчас еще попробую проверить еще на вечернем клиринге и добавлю в качестве доп. параметра данные стакана
avatar
Иван Ру,  я работаю с фьчами  — параметр STATUS отлично работает.
если у вас нули — ЗАКАЖИТЕ данные в квике, вам уже писали
avatar
Увы. В вечерний клиринг возвращается и цена последней сделки, и стакан. Так что вопрос о способе определения столь важного параметра остается открытым. 
avatar

теги блога Константин Б

....все тэги



UPDONW
Новый дизайн