По вопросу отображения комиссии в Таблице сделок Рабочего места QUIK рекомендуем обратиться к Вашему обслуживающему брокеру.
Что касается получения значений комиссии из таблицы с помощью QLua, просим Вас уточнить версию Рабочего места QUIK, а также предоставить для анализа используемый скрипт. Вы можете отправить запрошенную информацию на нашу почту quiksupport@arqatech.com.
Регистр символов в командах по умолчанию игнорируется интерпретатором QPILE, все строковые константы переводятся автоматически в верхний регистр - поэтому некоторые коды инструментов, например, SiM3, не могут быть корректно обработаны.
В данном случае необходимо отменить автоматический перевод символов в верхний регистр, добавив между заголовком и телом программы строку:
Код
USE_CASE_SENSITIVE_CONSTANTS
При добавлении указанного ключа значения строковых переменных не будут переводиться в верхний регистр.
В таблице "Позиции по деньгам" есть поле "Доступно" - в нем отображается сумма средств, доступных для совершения операций. При расчете этой суммы учитываются также доступные заемные средства; рассчитать аналогичное значение только с использованием собственных средств можно, если вычесть из "Доступно" значение поля "Текущий лимит".
С подробным описанием таблицы "Позиции по деньгам" и ее полей Вы можете ознакомиться в Руководстве пользователя QUIK (Раздел 3. Просмотр информации / Позиции по деньгам).
Просим Вас прислать для анализа копию используемого Рабочего места QUIK, а также используемые скрипты на нашу почту quiksupport@arqatech.com. Просьба дополнительно указать в письме Ваш UID, а также ссылку на данную тему форума.
Проблему воспроизвести не удалось, приведенный код возвращает корректный результат. Попробуйте выполнить перезаказ данных Рабочего места QUIK (Система / Заказ данных / Перезаказать данные - Торговые данные текущей сессии, Локальные справочники) и повторно запустить скрипт.
К сожалению, в данном случае не можем предложить какой-либо алгоритм, кроме описанного ранее.
Для инструмента SRM3 действительно указан базовый актив SBRF - эта информация транслируется из торговой системы биржи. За более подробной информацией о данном коде базового актива Вы можете обратиться к специалистам Московской биржи.
TRANS_ID на заявках проставляет сервер QUIK, связывая номер заявки с тем, что получен в ответе на транзакцию. В некоторых случаях тело заявки бывает получено раньше ответа на транзакцию. Тогда сервер просто не знает, какой TRANS_ID ей указать, и отправляет пользователю как есть (с TRANS_ID=0). Позже, когда ответ на транзакцию получен, сервер проставляет на заявке верный TRANS_ID.
К сожалению, сейчас какой-либо анализ сложившейся ситуации не представляется возможным: исходной информации недостаточно, и нам не удалось воспроизвести ошибку на своей конфигурации. Если Вам удастся зафиксировать проблему и точно определить условия ее воспроизведения, мы возобновим разбор.
Уточните, пожалуйста, что понимается под сбоем ДФА? Правильно понимаем, что в этот момент соединение с сервером не установлено? Есть ли возможность записать видео с воспроизведением эффекта?
Просим Вас прислать для анализа Lua-скрипт, выполнение которого приводит к такой ошибке. Вы можете отправить файл на нашу почту quiksupport@arqatech.com, в этом случае необходимо указать в письме ссылку на данную тему форума.
Возможно, у Ваших дополнительных учетных записей не настроен доступ к получению информации по Срочному рынку. Рекомендуем уточнить данный вопрос у Вашего обслуживающего брокера.
Просим Вас предоставить для анализа используемый Lua-скрипт или его фрагмент, в котором локализуется проблема. Вы можете отправить информацию на нашу почту quiksupport@arqatech.com, в этом случае необходимо указать в письме ссылку на данную тему форума.
Сергей Гусаков, к сожалению, в представленном терминале не нашли среди открытых таблиц те, что зафиксированы на скриншоте. Просим Вас еще раз сделать архив с открытыми таблицами (необходимо открыть таблицы, затем обязательно закрыть терминал - проверьте в Диспетчере задач, что процесс info.exe пропал из списка активных) и повторить загрузку.
Для анализа эффекта нам потребуется копия данного Рабочего места QUIK. Просим Вас сделать архив терминала QUIK (без файлов ключей pubring.txk и secring.txk, если используются), разместить на любом удобном Вам файлообменном сервисе и прислать на указанный адрес ссылку на загрузку файла.
Правильно понимаем, что такое отображение наблюдается непосредственно в таблицах Рабочего места QUIK? Просим Вас сделать и прислать скриншот таблицы с таким отображением. Вы можете отправить скриншот на нашу почту quiksupport@arqatech.com, в этом случае в письме необходимо указать ссылку на данную тему форума.
По обращению 1 мы производим анализ проблемы, к сожалению, он еще не завершен. Как только результат будет получен, мы поделимся с Вами информацией. По обращениям 2, 3 отвечали Вам ранее, что доработки в Lua 5.3 не будут выполняться, рекомендуем использовать Lua 5.4.
Параметр "Маркеры рассылки" предназначен для служебного использования, интерпретация и использование отображаемой информации конечными пользователями Рабочего места QUIK не предусмотрены.
Информация об указанном параметре будет добавлена в документацию в одной из ближайших версий ПО.
Для проверки исполнения заявки достаточно получить набор битовых флагов и определить значение бита 0 (заявка активна, иначе – не активна) и бита 1 (заявка снята). Если значения битов 0 и 1 равны "0", то заявка исполнена.
Мы постараемся рассмотреть возможность размещения приложения в альтернативных магазинах, благодарим Вас за предложение.
В настоящий момент кроме установки из PlayMarket есть возможность загрузить .apk-файл приложения с нашего сайта: https://arqatech.com/ru/support/files/ (раздел QUIK Android X).
Рекомендуем активировать опцию "Получать обезличенные сделки с момента подключения" (Основные настройки (F9) / Программа / Получение данных / Обезличенные сделки), чтобы ограничить объем получаемой информации и не загружать "пропущенные" сделки.
Действительно, при вызове getDepo из Lua-скрипта из-за синхронизационных проблем могут возникать ошибки. Данная проблема будет устранена в одной из ближайших версий ПО. В качестве решения проблемы рекомендуем использовать вызов getDepoEx.
Просим Вас предоставить для анализа копию Вашего Рабочего места QUIK (без файлов ключей secring.txk и pubring.txk, если используются). Архив с файлами терминала можно выложить на любой удобный Вам файлообменный сервис и прислать ссылку на загрузку файла на нашу почту quiksupport@arqatech.com (в письме необходимо указать ссылку на данную тему форума).
Причиной аварийного завершения работы терминала с данным сообщением может являться появление ошибки в файлах настроек или иных рабочих файлах, ошибка в работе терминала или несовместимость используемых Lua-скриптов и dll от сторонних разработчиков.
Для установления точной причины возникновения ошибки просим Вас прислать указанный в тексте сообщения об ошибке файл info_20230209_132747.dmp, расположенный в директории dmp в папке с рабочим местом QUIK, на нашу почту quiksupport@arqatech.com.
1. Можно ли сразу получить статус заявки (снята/выставлена/исполнена) через TRANS2QUIK_SEND_SYNC_TRANSACTION (TRANS2QUIK_SEND_ASYNC_TRANSACTION) без использования функции обратного вызова TRANS2QUIK_ORDER_STATUS_CALLBACK?
Возврат из функции TRANS2QUIK_SEND_SYNC_TRANSACTION происходит только после получения результата выполнения транзакции (или после разрыва связи терминала QUIK с сервером); таким образом, есть возможность получить сообщение в торговой системе и номер выставленной заявки в случае успешной отправки транзакции, либо сообщение о возникшей ошибке. При этом узнать о дальнейших изменениях статуса выставленной заявки - например, об исполнении - в рамках вызова TRANS2QUIK_SEND_SYNC_TRANSACTION уже не представляется возможным.
TRANS2QUIK_SEND_ASYNC_TRANSACTION после отправки транзакции не ожидает получения результата. Для получения результата транзакции необходимо использовать функцию обратного вызова.
Цитата
2. Можно ли одним вызовом отправить две заявки по разным бумагам с условием, если исполняется первая заявка (например, FILL-OR_KILL), то выставляется заявка по второй бумаге?
В Вашей программе происходит обращение к графикам с идентификаторами "idSih5M", "TABLE5", "idSih1M", "TABLE1" - рекомендуем убедиться, что графики с указанными идентификаторами открыты в Рабочем месте QUIK.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
"1) исчисляется true and false, результат - false" но результат НЕ false. Hезультат выполнения true. Хотя должен быть false.
Результат исчисления "true and false" - false, расхождений поведения программы с ожидаемым результатом нет. Просим Вас уточнить, каким образом Вы получили результат true для выражения "true and false".
В фиксированном формате описания транзакции признак "Только пассивная" в данный момент не поддержан. Мы можем зарегистрировать пожелание на добавление данного признака. Уточните, пожалуйста, регистрируем такое пожелание?
Ошибок нет, результат верный. Необходимо принимать во внимание порядок выполнения логических операций: конъюнкция ("and") имеет более высокий приоритет, чем дизъюнкция ("or").
Рассмотрим приведенные Вами выражения:
Код
dis_not = true and false or true
1) исчисляется true and false, результат - false; 2) исчисляется false (результат п.1) or true, результат - true.
Код
dis_not = false and false or true
1) false and false, результат - false; 2) false or true, результат - true.
Код
dis_not = true and true or false
1) true and true, результат - true; 2) true or false, результат - true.
Код
dis_not = false and true or false
1) false and true, результат - false; 2) false or false, результат - false.
Если требуется изменить порядок выполнения логических операций, необходимо воспользоваться скобками.
Формат вызова функции getBuySellInfo: TABLE getBuySellInfo (STRING firm_id, STRING client_code, STRING class_code, STRING sec_code, NUMBER price)
Функция возвращает таблицу Lua с параметрами из таблицы QUIK «Купить/Продать», означающими возможность купить либо продать указанный инструмент «sec_code» класса «class_code», указанным клиентом «client_code» фирмы «firmid», по указанной цене «price». Если цена равна «0», то используются лучшие значения спроса/предложения.
Если функция getBuySellInfo действительно возвращает nil, несмотря на корректно переданные параметры, просим Вас прислать фрагмент Вашего скрипта с вызовом данной функции, а также скриншот таблицы "Купить/продать". Запрошенную информацию Вы можете направить на нашу почту quiksupport@arqatech.com, указав в письме ссылку на данную тему форума.
Для экспорта информации из Рабочего места QUIK указанной версии (9.3) ODBC источник необходимо создавать в программе Администратор источника данных ODBC 64-разрядной версии (путь: %windir%\system32\odbcad32.exe).
Рекомендуем Вам убедиться, что источник ODBC был создан корректно, а также в случае необходимости создать новый источник.
Вывод данных с неактивным признаком "Запускать приложение DDE сервера автоматически" возможен, если заполнены поля "Рабочая книга" и "Лист" и соответствующий файл открыт в MS Excel.
Что касается возможности экспорта данных в другие системы, просим Вас уточнить, о каких именно системах идет речь.
Уточните, пожалуйста, о вызове какой функции идет речь? Просим Вас описать проблему более подробно, а также предоставить Lua-скрипт, для которого воспроизводится данное поведение.
С помощью функции getItem(STRING TableName, NUMBER Index) можно обратиться к произвольной таблицы Рабочего места QUIK и получить информацию о данных из строки с номером «Index» из таблицы с именем «TableName».
Для решения описанной Вами задачи необходимо обратиться к таблице "securities" и получить коды для инструментов из интересующего класса (например, TQCB). Код может выглядеть так (с записью кодов инструментов в .txt-файл):
Код
sec = ""
for i = 0, getNumberOf("securities") - 1 do
if getItem("securities", i).class_code == "TQCB" then
sec = sec .. getItem("securities", i).code .. "\n"
end
end
f = io.open("tqcb.txt", "w")
f:write(sec)
f:close()
Более подробная информация о функциях для обращения к данных таблиц Рабочего места QUIK и структурах данных представлена Руководстве пользователя QLua.
Сергей написал: при наложении объектов, их узлов, берётся не то что нужно (не то что выделено).
Ранее Вы действительно упоминали о таком поведении (https://forum.quik.ru/messages/forum8/message63865/topic7426/), однако мы не получили от Вас запрошенную информацию, а именно данные о версии терминала QUIK, в которой наблюдается описанный эффект и, если возможно, видео с его воспроизведением.
Просим Вас предоставить данную информацию (можно направить на нашу почту quiksupport@arqatech.com, указав в письме ссылку на данную тему форума).