Получение данных с помощью getParamEx

Страницы: 1
RSS
Получение данных с помощью getParamEx
 
Чтобы получить свечные данные, можно использовать открытый график и getCandlesByIndex, а можно не открывать график и применять DataSource. Второй способ лучше, т.к. пользователь может случайно закрыть график и скрипт перестанет получать данные.

Чтобы получить данные стакана, можно открыть стакан, а можно не открывать стакан, а вызвать функцию Subscribe_Level_II_Quotes. Второй способ лучше, т.к. пользователь может случайно закрыть стакан и скрипт перестанет получать данные.

По аналогии, хочется, чтобы функция getParamEx выдавала данные по инструменту всегда, вне зависимости от того, открыта ТТП с этим инструментом и нужными полями или нет. Можно ли как-то гарантировать эту функциональность? Если нет, то может имеет смысл добавить функцию Subscribe_Param(classCode, secCode)?
 
А где Вы прочитали, что ТТП надо открыть для получения данных функцией getParamEx?
 
Гипотеза такая была, которую я не проверил. В документации написано:
Цитата
Функция предназначена для получения значений всех параметров биржевой информации из Таблицы текущих значений параметров. С помощью этой функции можно получить любое из значений Таблицы текущих значений параметров для заданных кодов класса и бумаги.
Я понял буквально.

Выходит, что если в ТТП нет инструмента или все ТТП вообще закрыты, то данные всё равно доступны через getParamEx, если их получение настроено через "Связь -> Списки"?
 
_sk_, поддерживаю это пожелание.
 
Цитата
_sk_ пишет:
getParamEx
Добрый день.

Открывать таблицу не обязательно.
Вот простой пример:
step = getParamEx("SPBFUT","RIH6","SEC_PRICE_STEP").param_value
message(tostring(step),1)

Значение получает без открытой таблицы.
 
Egor Zaytsev,
Цитата
_sk_ пишет:
если в ТТП нет инструмента или все ТТП вообще закрыты, то данные всё равно доступны через getParamEx, если их получение настроено через "Связь -> Списки"
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Старатель пишет:
Egor Zaytsev ,
Цитата
_sk_ пишет:
если в ТТП нет инструмента или все ТТП вообще закрыты, то данные всё равно доступны через getParamEx, если их получение настроено через "Связь -> Списки"
Типа автодобавления тикера в списки при запросе данных из ТТП? Что же по-вашему должна ответить ТТП, если она даже не знает о существовании такого тикера?
Пошлют нас разработчики с таким пожеланием и будут правы.
 
Цитата
green_X5 пишет:
Что же по-вашему должна ответить ТТП, если она даже не знает о существовании такого тикера?
ТТП знает о всех существующих тикерах, независимо от того, выбран ли этот тикер в "Списках" или добавлен ли он  в таблицу. Если какой-то тикер не найден, значит его нет вообще, или у пользователя нет прав на работу с этим инструментом.

А я указываю, что getParamEx
Цитата
Egor Zaytsev пишет:
Значение получает без открытой таблицы
только, если нужный нам параметр явно выбран в "Связь -> Списки".
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Egor Zaytsev пишет:
Открывать таблицу не обязательно.
Вот простой пример:
step = getParamEx("SPBFUT","RIH6","SEC_PRICE_STEP").param_value
message(tostring(step),1)

Значение получает без открытой таблицы.
Egor Zaytsev, ваш пример некорректен: параметр "SEC_PRICE_STEP" - это т.н. статический параметр, который в любом случае "заезжает" на рабочее место.
Надо делать так, как надо. А как не надо - делать не надо.
 
Старатель,спасибо за разъяснения. По-хорошему, это должно быть указано разработчиками QUIK в документации явным образом.
 
Цитата
_sk_ пишет:
По-хорошему, это должно быть указано разработчиками QUIK в документации явным образом.
Если сотрудники сами об этом "забывают"?
По-хорошему, это должно быть указано разработчиками QUIK в документации явным образом в первую очередь для сотрудников техподдержки.
Надо делать так, как надо. А как не надо - делать не надо.
 
offtop
Надо делать так, как надо. А как не надо - делать не надо.
 
Цитата
Egor Zaytsev пишет:
Значение получает без открытой таблицы.
Так ведь нужно не только получать значения, но и заказать получение изменений по заданной бумаге. Сейчас программно не закажешь, надо чтобы пользователь добавлял бумагу в ТТП. Это еще не считая проблемы с заказом нужного параметра бумаги. Этот параметр нужно заказывать в ТТП, иначе он может быть недоступен.
 
Цитата
Старатель пишет:
А что по-вашему отвечает CreateDataSource, если ей задать несуществующий код бумаги в реальном классе? Как ни странно, CreateDataSource возвращает таблицу!
А что при этом говорит SetUpdateCallback? true, что согласно документации означает "успешное завершение".
Ужас.
 
Да я лично только ЗА авто-добавление тикера в списки по запросу параметров из ТТП. )
Оформляйте пожелание. Зима впереди долгая, и не одна, может быть дождемся. )
 
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
 
Добрый день.

Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что реализация пожелания признана потенциально целесообразной. Если по результатам дальнейшего анализа, включающего юридические аспекты, анализ на непротиворечивость с общей политикой компании, никаких возражений не возникнет, мы постараемся включить Ваше пожелание в план доработок при выпуске одной из следующих версий нашего ПО.
 
Цитата
_sk_ пишет:
может имеет смысл добавить функцию Subscribe_Param(classCode, secCode)?
Формат вызова функции лучше сделать таким:  Subscribe_Param(classCode, secCode, paramList). paramList - список параметров бумаги, по которым точно будут приходить данные с сервера Квика - аналогично тому как происходит при открытии ТТП и выбора параметров бумаги для отображения в таблице.
 
Цитата
green_X5 написал:
Да я лично только ЗА авто-добавление тикера в списки по запросу параметров из ТТП. )
Оформляйте пожелание. Зима впереди долгая, и не одна, может быть дождемся. )
Добрый день,  
     
    Ваше пожелание было реализовано в версии 7.1.0 терминала QUIK.
Страницы: 1
Читают тему
Наверх