Функции для получения значений Таблицы текущих торгов, getParamEx

Страницы: 1
RSS
Функции для получения значений Таблицы текущих торгов, getParamEx, Как обновлять данные через функцию. getParamEx
 
Здравствуйте. Я новичок в программирование, строго не ругаться :-)
Возник такой вопрос.
Воспользовался функцией getParamEx("QJSIM", "SPBE", "LAST").param_value -- цена последней сдел. При первом запуске скрипта она нашла данные. Но в дальнейшем, при изменение цены не работает. Ссылается на первые данные которые получила.  От сюда вопрос можно-ли заставить функцию обновлять данные и как это сделать?  Функция находиться до основного тела скрипта.
 
 
Цитата
Сергей ВАТ написал:
Здравствуйте. Я новичок в программирование, строго не ругаться :-)
Возник такой вопрос.
можно-ли заставить функцию обновлять данные и как это сделать?  Функция находиться до основного тела скрипта.
Все что вне функции main, кроме колбеков, исполняется один раз.
Перенесите функцию внутрь цикла в main.
 
Цитата
nikolz написал:
Цитата
Сергей ВАТ написал:
Здравствуйте. Я новичок в программирование, строго не ругаться :-)
Возник такой вопрос.
можно-ли заставить функцию обновлять данные и как это сделать?  Функция находиться до основного тела скрипта.
Все что вне функции main, кроме колбеков, исполняется один раз.
Перенесите функцию внутрь цикла в main.
Пробовал.  
 
Цитата
nikolz написал:
Цитата
Сергей ВАТ написал:
Здравствуйте. Я новичок в программирование, строго не ругаться :-)
Возник такой вопрос.
можно-ли заставить функцию обновлять данные и как это сделать?  Функция находиться до основного тела скрипта.
Все что вне функции main, кроме колбеков, исполняется один раз.
Перенесите функцию внутрь цикла в main.
Вот сам скрипт.

stopped = false
function OnStop()
stopped = true
return 5000
end

Kod_klienta = "10265"; -- нужно поставить свое значение
Torg_schet = "NL0011100043"; -- нужно поставить свое значение
CLASS_CODE = "QJSIM" -- Код класса
SEC_CODE = "SPBE" -- Код бумаги

local Sena = getParamEx("QJSIM", "SPBE", "LAST").param_value -- цена последней сдел


podgot={
ACCOUNT=Torg_schet,
CLIENT_CODE=Kod_klienta,
TYPE="L",
TRANS_ID="1",
CLASSCODE=CLASS_CODE,
SECCODE=SEC_CODE,
ACTION="NEW_ORDER",
OPERATION="B",
PRICE= tostring(Sena -(1)),
QUANTITY="1"
}  



function main()


while podgot   do

sendTransaction(podgot)
sleep (10000)


end
end
 
nikolz все правильно вам ответил.

Перенести запрос цены в main необходимо.

Все что расположено вне блоков выполняется первым и только один раз после запуска.
getParamEx("QJSIM", "SPBE", "LAST").param_value может вернуть nil, если нет заказа данных с сервера этого параметра.

Для заказа данные должна быть открыта таблица ТТТ с данным инструментом и параметром или осуществлен заказ данных самим скриптом через:
Код
BOOLEAN ParamRequest(STRING class_code, STRING sec_code, STRING db_name)
Запрос не мгновенный, и серверу необходимо время что бы начать отправлять запрошенное значение, поэтому вызов getParamEx сразу после ParamRequest вернет все тот же nil.
Хорошей практикой будет производить подписку в колбэке OnInit().
Страницы: 1
Читают тему
Наверх