getParamEx

Страницы: 1
RSS
getParamEx
 
Вот такой код:
Код
local status = getParamEx(class_code, sec_code, "tradingstatus")
message(status.param_value)
выводит "0.000000".
Но мы уже наученные - понимаем, что ноль в QUIK - это не всегда ноль. Проверяем тип данных, чтобы не был равен 0:
Код
message(status.param_type)
выводит 2.
Вроде, нормально. Ан, нет: для параметра "tradingstatus" тип должен быть 4. Значит данный параметр Квиком не получен. И так для многих параметров.

Но надо сделать так, чтобы можно было однозначно определить, без гаданий, получен ли параметр торговой системой или нет.
 
http://forum-archive.quik.ru/forum/lua/115526/115556/#m115556
 
является ли выполнение условия
Код
result=="1" and param_image~="" and param_type~="0"
необходимым и достаточным, чтобы быть уверенным, что значение параметра получено?
 
с такими выражениями - надо быть аккуратным в QLUA с его "ленивыми вычислениями"

а вообще, надо полный пример для теста и разбора. т.е. с указанием класса и кода бумаги и т. и т. п.
 
такое ощущение, что кто-то решил написать справку из вопросов и ответов форума по всей QLUA:)))))
 
Цитата
тот самый пишет:
с такими выражениями - надо быть аккуратным в QLUA с его "ленивыми вычислениями"
Именно, с учётом "ленивого" правильного вычисления это выражение является корректным.
Цитата
тот самый пишет:
а вообще, надо полный пример для теста и разбора. т.е. с указанием класса и кода бумаги и т. и т. п.
Зачем? Любой код бумаги подставляете.

Вот так выглядит таблица, возвращаемая getParamEx, если искомый параметр ("tradingstatus") не задан в списках:
Код
{param_type="2", param_value="0.000000", result="1", param_image=""}
А вот так, если параметр получен:
Код
{param_type="4", param_value="1.000000", result="1", param_image="открыта"}
 
полный пример в студию.
 
Скрытый текст
 
я - так и знал...
:)))))
 
тогда, предлагаю совместный проект. подробности вконтакте.
 
Скрытый текст
 
Скрытый текст
 
Скрытый текст
 
ну и замечательно))
 
Скрытый текст
 
нет смысла. я общаюсь только через озвученный источник.
если заинтересует детальный анализ любой из QLUA-функций - обращайтесь.
 
Вот такой код: [TABLE][TR][TH]Код[/TH][/TR][TR][TD]local status = getParamEx(class_code, sec_code, "tradingstatus")
message(status.param_value)[/TD][/TR][/TABLE]выводит "0.000000".

У меня постоянна такая ситуация. Можно ли как-то с ней бороться?
 
Добрый день.

Можете полный код выложить и уточните, что в самой таблице текущих параметров в поле
tradingstatus отображается?
 
1. Что-то не вижу в документации по QLua информации по полю result. Пропустили. У меня документация не самая последняя, но подозреваю, что и в последней этого описания нет.

2. Название параметра в каком регистре правильнее указывать? В QPILE написано, что требуется в верхнем регистре. В QLua все равно, как я вижу?
 
Цитата
Constantin написал:
1. Что-то не вижу в документации по QLua информации по полю result. Пропустили. У меня документация не самая последняя, но подозреваю, что и в последней этого описания нет.
Информация получена, проблема изучается. Постараемся в ближайшее время дать ответ.

Цитата
Constantin написал:
2. Название параметра в каком регистре правильнее указывать? В QPILE написано, что требуется в верхнем регистре. В QLua все равно, как я вижу?
В QLUA все равно, однако это касается только параметров наших функций.
Для Lua таблиц регистр имеет значение.
 
Constantin,      Добрый день,
   
    Документация будет исправлена в одной из очередных версий программы.
    Приносим извинения за причиненные неудобства.
 
Constantin,      Добрый день,
   
    Описаннная в данном инциденте проблема была устранена в версии 7.2.0     терминала QUIK.
    Рекомендуем Вам обновить версию программы.
   
    Приносим извинения за причиненные неудобства.
 
Извините, что не по теме, но этот топик выходит в первых строках результата Яндекса.

Я правильно понимаю, что список параметров, которые можно получить с помощью GetParamEx, до сих пор является тайной за семью печатями, и нигде-нигде официально не описан?
 
Цитата
Владимир написал:
Извините, что не по теме, но этот топик выходит в первых строках результата Яндекса.

Я правильно понимаю, что список параметров, которые можно получить с помощью GetParamEx, до сих пор является тайной за семью печатями, и нигде-нигде официально не описан?

Не совсем так, он не является тайной.
Он есть в info.chm
-Раздел 8. Алгоритмический язык QPILE
--Функции для получения значений Таблицы текущих торгов
---Значения параметров функций

Если там какого-то параметра нет, его можно узнать выведя таблицу по DDE с установленной галкой "Формальные заголовки"
 
В качестве совета.
чтобы не было мучительно больно при использовании значений X, которые должны быть числами, надо делать так:
if type(X)=="number" then
...
end
чтобы не попадаться на nil при условии, что X может быть лишь числом надо делать так:
Z=X or 0;
 
Цитата
Sergey Gorokhov написал:
Цитата
Владимир написал:
Извините, что не по теме, но этот топик выходит в первых строках результата Яндекса.

Я правильно понимаю, что список параметров, которые можно получить с помощью GetParamEx, до сих пор является тайной за семью печатями, и нигде-нигде официально не описан?

Не совсем так, он не является тайной.
Он есть в info.chm
-Раздел 8. Алгоритмический язык QPILE
--Функции для получения значений Таблицы текущих торгов
---Значения параметров функций

Если там какого-то параметра нет, его можно узнать выведя таблицу по DDE с установленной галкой "Формальные заголовки"
На мой взгляд совершенно не очевидно, что для того, чтобы писать скрипты на QLua необходимо сначала заглянуть в документацию по QPILE и внимательно её изучить. По крайней мере никаких ссылок такого плана на QPILE в документации на QLua не имеется.
Страницы: 1
Читают тему (гостей: 1)
Наверх