Подскажите пожалуйста функцию, для фьючерсов и/иди акций, через которую можно узнать значение максимально возможного количества бумаг которое я могу использовать при открытии сделки? По аналогу в форме заявки Значение MAX.
Дополним. Информация для срочного рынка есть, ее можно посмотреть в таблице "Состояние счета", однако доступа к этом таблице через Qlua нет. Что касается акций, то данную информацию можно получить функцией getBuySellInfo, параметры can_buy_own и can_sell_own.
Для срочного рынка такой функции нет, вернее в самом QUIK такой информации нет.
Почему же нет? А это что:
CalcBuySell Функция предназначена для расчета максимально возможного количества лотов в заявке. Формат вызова: NUMBER qty, NUMBER comission CalcBuySell(STRING class_code, STRING sec_code, STRING client_code, STRING account, NUMBER price, BOOLEAN is_buy, BOOLEAN is_market)
Борис Гудылин написал: В списке функций взаимодействия скрипта LUA и Рабочего места QUIK она именуется по другому ) CulcBuySell - функция для расчета максимально возможного количества лотов в заявке
Опечатка на странице со списком функций. На странице с описанием CalcBuySell всё правильно.
Спасибо, за уточнении! Небольшая ремарка к производителю: CalcBuySell и CalcBuyBuy - расчёт ведётся самой программой (не сервером) и в случае изменения биржей формулы расчёта, нужно обновлять Квик с доработкой этих функций?
Борис Гудылин написал: В списке функций взаимодействия скрипта LUA и Рабочего места QUIK она именуется по другому ) CulcBuySell - функция для расчета максимально возможного количества лотов в заявке
Опечатка на странице со списком функций. На странице с описанием CalcBuySell всё правильно.
Добрый день,
Документация будет исправдена в одной из очередных версий программы.
>> Да. - Без client_code вы не получите результат расчета. Егор, я правильно вас понял, если client_code будет равен NULL он не рас читает правильно??? Просто, не могу поставить это значение, нужно всю цепочку запросов переписывать ...
Роман написал: >> Да. - Без client_code вы не получите результат расчета. Егор, я правильно вас понял, если client_code будет равен NULL он не рас читает правильно??? Просто, не могу поставить это значение, нужно всю цепочку запросов переписывать ...
Добрый день.
Это работает для фондового и валютного рынка. Для срочного да, код клиента не обязателен.
в общем с NULL не работает, это глюк? Если нет, то вопрос остался, как по торговому счёту узнать код клиента? (вообще зачем он нужен в этой функции, что номер счёта и код клиента бывают разные).
Почему вы везде пишите null вместо nil? В Lua, насколько я понимаю, нет такого ключевого слова как null, поэтому это будет интерпретироваться как некая переменная с именем null, которая не определена и соответственно вместо неё будет подставляться значение nil. То-есть, по сути, пока кто-то случайно не определил null со своим значением, такой код будет работать без ошибок и использование null будет равнозначно nil. Но тем не менее, это всё-таки синтаксическая ошибка, и лучше наверно не стоит так писать...
*** По теме... я ещё не разбирался с функцией CalcBuySell, поэтому не знаю что там за параметр client_code ей требуется... у меня поле с таким именем в OnTransReply, OnOrder и OnTrade точно равно полю account, а в вызове sendTransaction оно задаёт комментарий, который возвращается потом полем brokerref... то-есть полная путаница получается...
Подозреваю, что в вызове CalcBuySell параметр с таким же именем client_code должен задавать значение, которое возвращается в поле uid в OnTransReply, OnOrder и OnTrade, это уже пусть тех. поддержка точно скажет...
Тогда, если это так, то может вытащить это значение оттуда из uid? это так на вскидку, не зная структуры вашего кода...
Роман написал: в общем с NULL не работает, это глюк? Если нет, то вопрос остался, как по торговому счёту узнать код клиента? (вообще зачем он нужен в этой функции, что номер счёта и код клиента бывают разные).
Добрый день.
На фондовом/валютном рынке есть торговый счет и код клиента. Для расчета максимального кол-ва код клиента обязательный. Для срочного рынка код клиента не используется, там только торговый счет.