Функция getBuySellInfo все время возвращает nil

Страницы: 1
RSS
Функция getBuySellInfo все время возвращает nil
 
Простой пример кода:
Код
firm_id = "SPBFUT000000"
client_code = "10260"
class_code = "SPBFUT"
sec_code = "RIZ8"

result = getBuySellInfo(firm_id, client_code, class_code, sec_code, 0)

message(tostring(result.can_buy))


Какой бы я ни брал инструмент (Акции, Фьючерсы), какой бы ни брал параметр - все время получаю nil.
Demo Quik 7.18.1.20
 
Дмитрий Минеев,
10260 - это код клиента на фондовой секции, а не на срочной.
SPBFUT000000 - это фирма срочной секции.
Нельзя по фирме срочной секции получить данные по коду клиента от фондовой секции.
Если по простому, откройте в терминале таблицу Купить/продать (из таблицы Клиентский портфель) и посмотрите что там написано и сделайте также.

Так по акциям, для нашего демо, строка будет следующей:
result = getBuySellInfo("NC0011100000", "10260", "QJSIM", "LKOH", 0)
 
У меня немного похожая проблема.


Почему-то на демо-счёте выдаёт ноль такой код:
result=getBuySellInfo("NC0011100000", "10089", "QJSIM", "SBER", 0)
message(tostring(result.can_buy))

Также выдаёт ноль такой код:

BuQty,comiss=CalcBuySell("QJSIM","SBER","10089","NC0011100000",0,true,true)
message(tostring(BuQty))

Но на срочном рынке (тоже демо-счёт) эта функция работает корректно.

QUIK-Junior 10.1.2.2
 
Igor_User, добрый день.

Проблему воспроизвести не удалось, приведенный код возвращает корректный результат.
Попробуйте выполнить перезаказ данных Рабочего места QUIK (Система / Заказ данных / Перезаказать данные - Торговые данные текущей сессии, Локальные справочники) и повторно запустить скрипт.

Просим Вас сообщить результат.
 
Сделал всё, как вы просили (перезаказ данных). При этом система попросила перезапустить Quik. Yо результат тот же - функции getBuySellInfo (can_buy) и CalcBuySell выдают 0.
К тому же, появилась ещё одна проблема - при попытке выставить рыночную заявку из скрипта, функция OnTransReply() выдаёт статус 6 (Транзакция не прошла проверку лимитов сервера QUIK), что совсем непонятно. Но если выставлять заявку не из скрипта, то всё проходит нормально.
 
Хотя может быть появление ошибки 6 не связано с перезаказом данных...
 

Появление ошибки 6 действительно связано с перезаказом данных. Попробовал на другом компе (на котором не было перезаказа данных) – заявки из скрипта выставляются без проблем. Но после того, как перезаказал данные, опять функция OnTransReply() стала выдавать статус 6. Причина непонятна.

Функции getBuySellInfo и CalcBuySell в обычном quik’е (не демо) на реальном счёте работают без проблем. Т.о. причина в некорретной работе QUIK-Junior. Я заметил, что таблица «Купить/Продать» в QUIK-Junior пустая (одни нули) в отличие от обычного quik’а. Может быть это как-то взаимосвязано…?

 
Igor_User, добрый день.

Просим Вас прислать для анализа копию используемого Рабочего места QUIK, а также используемые скрипты на нашу почту quiksupport@arqatech.com.
Просьба дополнительно указать в письме Ваш UID, а также ссылку на данную тему форума.
Страницы: 1
Читают тему
Наверх