Цена акции Газпрома - 27880 рублей. И количество акций в лоте - 10. И другие бумаги также. Так, вроде, быть не должно. Или я пропустил какую-нибудь новость? Да демо-счет сильно вырос. А может сильно снизился, с 300 т.р. до 230 т.р. и тут ее и деноминировали до 23.3 млн.руб.
В Руководстве пользователя "Интерпретатор языка Lua" есть даже глава 5. Описание битовых флагов Но по флагам транзакций ни в этой главе, ни в других местах не нашел информации. Гадать как-то дискомфортно, прошу описания.
Интерпретатор языка Lua.pdf, стр.33, 3.11 Функции для работы с заявками. читаем: STRING result sendTransaction(TABLE transaction) В качестве параметра принимает таблицу, в которой имена и значения полей соответствуют параметрам tri-файла (см. Руководство пользователя QUIK, Раздел 6 «Совместная работа с другими приложениями», п. 6.11.3). Там этот пункт отсутствует. Догадываемся, что следует читать п. 6.9.3. ACCOUNT Номер счета Трейдера. Параметр обязателен при «ACTION» = «KILL_ALL_FUTURES_ORDERS». В самом деле, при сделках купли-продажи в этом параметре может быть все, что угодно, его может и не быть вовсе. Но возник теоретический (т.к. на практике нет субсчетов) вопрос: как делать заявки при наличии нескольких субсчетов ФОРТС на одном QUIK?
В системе QUIK предусмотрен где-то признак счета "Единый" или еще какой другой? И почему на первом счете лимит открытых поз. нулевой, хотя деньги есть и они видны в другой таблице -лимитов по ДС, а на другом счете, где только ФОРТС - картинка кардинально отличается?
Задавал вопрос тут: https://forum.quik.ru/forum1/topic3969/ Задавал вопрос брокеру. Никакого ответа пока не получил. Теперь вопросы задаю тут, на ветке Lua.
Как из Lua узнать сумму денежных средств на начало торгов?
Имеем один счет, "Единый", картинка с таблицей "Ограничения по клиентским счетам" и "Таблица лимитов по денежным средствам":
Тот же брокер, только ФОРТС, те же таблицы:
Разница в наполнении ячеек, 1 и 2:
На первой картинке ячейка "Лимит откр. поз." в таблице "Ограничения по клиентским счетам" равна нулю, на второй - сумма денежных средств на начало торгов. На первой картинке ячейка "Входящий остаток" в таблице лимитов по денежным средствам равна сумме денежных средств на начало торгов, на второй - нулю.
Как из Lua определить, откуда брать общую цифру денежных средств на начало торгов в общем случае?
Выяснилось это как-то прозаично: присвоил идентификатор графику Volume и попытался получить ее значение через Lua-скрипт. Получил Price. Традиционный вопрос: как такое может быть?
-- classCode, trans_id, order_num заданы корректно
local trans_params = {
["CLASSCODE"] = classCode,
["TRANS_ID"] = trans_id,
["ACTION"] = "KILL_ORDER",
["ORDER_KEY"] = order_num
}
local res = sendTransaction(trans_params)
if string.len(res) == 0 then
message('Заявка на снятии: '..order_num)
-- момент снятия фиксируется в OnOrder()
else
message('Ошибка снятия заявки '..order_num..". Причина= " .. res)
-- какие-то действия при этом
end
Сегодня словил это, на демо:
Интересное явление: QUIK это увидел и отразил в сообщении, OnTransReply() никак не среагировал (((. Как же подобное отлавливать на QLua? Или это - особенности демо-версии?
Было дело, написали вы WndConverter (при переходе с Т0 на Т2). Я ей пользовался некоторое время перед экспирацией фьючерсов (подробнее на smart-lab.ru). Но время шло, версии Quik-а обновлялись, менялись структуры данных (наверное) и возможности утилиты тихо и молча иссякли. Было бы неплохо, если вы восстанóвите работоспособность программы, и вместо того, чтобы сетовать:
Код
«Перед экспирацией меняю инструмент на графиках, как обычно много лет уже…
Замена графика как обычно:
правой кнопкой тык в окно графика > параметры текущего окна > диаграмма > заменить инструмент >
выбираем нужный, сохраняем. А графиков меня более 20. Устаю»
Есть ли возможность настроить индикаторы на вывод с настраиваемой точностью (например, для контракта SRU5 выставить "0 цифр после запятой")? Причем настроить не только для вывода на график, но и для считывания скриптами на Lua.