Параметр "Маркеры рассылки" предназначен для служебного использования, интерпретация и использование отображаемой информации конечными пользователями Рабочего места 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, указав в письме ссылку на данную тему форума).
Покупка/продажа по рыночной цене на указанную сумму, У акций на moex разная лотность и оперировать кол-вом акций, которые нужно купить/продать не всегда удобно
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Покупка/продажа по рыночной цене на указанную сумму, У акций на moex разная лотность и оперировать кол-вом акций, которые нужно купить/продать не всегда удобно
При вводе заявки Вы можете указать необходимый объем и рассчитать соответствующее количество. В форме ввода заявки необходимо указать интересующую цену (если речь идет о рыночной заявки - отметить признак "Рыночная"), объем в поле "Объем и комиссия" и нажать кнопку "Задать количество", после чего количество инструментов, доступное для покупки на указанную сумму, отобразится в соответствующем поле.
В текущей реализации возможности настроить такое поведение не предусмотрено.
Мы можем зарегистрировать пожелание на доработку функционала Рабочего места QUIK - возможность настроить умолчательные значения для параметров "Срок действия", "Время действия" при вводе стоп-заявок. Уточните, пожалуйста, регистрируем пожелание с такой формулировкой?
В представленной инструкцию подробно описаны шаги, необходимые для установления связи Рабочего места QUIK с источником ODBC и запуска экспорта данных. Если на каком-либо из шагов у Вас возникли затруднения или вопросы, уточните, пожалуйста, что именно Вам не удается сделать.
В Приложении к Разделу 6 Руководства пользователя QUIK представлены форматы параметров в таблицах QUIK. Выбрать наименования для параметров в таблице БД Вы можете самостоятельно, с учетом представленных в инструкции общих рекомендаций (не использовать для названия полей таблиц зарезервированные слова, например, «money», «group», «order», «number», «date» и т.п.). Мы можем предложить Вам зарегистрировать пожелание на дополнение руководства пользователя и добавление в Приложение "Форматы данных для настройки экспорта через ODBC" списка возможных наименований полей в таблицах БД. Уточните, пожалуйста, регистрируем такое пожелание?
Цитата
Игорь написал: ПРИ ПОПЫТКЕ ЭКСПОРТА ПЕРИОДИЧЕСКИ ВЫСКАКИВАЮТ ОШИБКИ В ВИДЕ ОГРАНИЧЕНИЙ (БОЛЕЕ 50 ОКОН ОТКРЫТО) КАКИХ ОКОН НЕ ПОНЯТНО?
Просим Вас прислать скриншот описанной ошибки. Также просим уточнить, появляются ли какие-либо сообщения об ошибках при нажатии кнопки "Начать вывод данных"?
Уточните, пожалуйста, доступен ли в Рабочем месте QUIK созданный Вами ODBC-источник, удается ли присоединиться к нему и получить список доступных таблиц? Какой-либо дополнительной инструкции по настройке вывода данных по ODBC нет. Просим Вас уточнить, на каком именно шаге существующей инструкции Вы столкнулись с трудностями.
Цитата
Игорь написал: будут ли писаться данные если первоначально всем полям задать значение VARCHAR(250) а потом уже изменить значение в самой БД?
Нет, таблица базы данных, предназначенная для экспорта, должна повторять структуру исходной таблицы QUIK, для каждого параметра должен быть задан определенный тип значений и размер поля. Перечень параметров и типов данных в них приведен в Руководстве пользователя QUIK.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
В bat-файл записывается последовательность команд, которые выполняются при открытии данного файла. В некоторых случаях в дистрибутив Рабочего места QUIK помещается bat-файл для "чистого" запуска терминала, который сначала удаляет некоторые .dat и .log файлы в директории с терминалом, а затем выполняет запуск самого .exe приложения QUIK.
Уточните, пожалуйста, не открываете ли Вы подобный файл для запуска терминала? Если запустить info.exe в папке с терминалом, будет ли выводиться сообщение об отсутствии справочников?
Функция getParamEx() принимает на вход 3 параметра: class_code (код класса), sec_code (код инструмента), param_name (наименование параметра из Таблицы текущих торгов).
Посмотреть код класса и код инструмента можно в Рабочем месте QUIK, открыв окно информации об инструменте (ПКМ по интересующему инструменту в Таблице текущих торгов / Информация об инструменте, или сочетание Alt+I).
В текущей реализации Рабочего места QUIK возможно ограничить отображаемый диапазон данных (Редактирование настроек графика / Диаграмма / Свойства диаграммы - Диапазон данных). Таким образом, при изучении истории движения цен Вы можете вывести на графике информацию до определенного периода, что исключит отображение направления индикаторов к "будущим" свечам.
Сообщения говорят о том, что исполнение стоп-заявки привело к порождению лимитированной заявки с ценой 0.00, из-за чего она была отвергнута торговой системой. Возможно, при создании стоп-заявки было указан слишком большое значение защитного спреда, рекомендуем проверить данное предположение. Если указанная проверка не позволит обнаружить каких-либо критичных ошибок, просим Вас уточнить, с какими параметрами была отправлена транзакция на ввод стоп-заявки.
Ваше пожелание (повышение контрастности вкладок и выделение вкладок цветом) уже было зарегистрировано ранее, 31.10.2022. К сожалению, на данный момент решение о реализации данного пожелания еще не принято.
На данный момент ввод заявки с признаком "Только пассивная" с помощью функции sendTransaction возможен при использовании универсального формата транзакций. Чтобы получить необходимое описание в данном формате, Вы можете ввести требуемую транзакцию в "Кармане транзакций" и сохранить ее в .tri-файл, после чего использовать полученные параметры в вызове sendTransaction.
Скорее всего, Вы столкнулись с блокировкой загруженного из Интернета .chm-файла операционной системой. Для доступа к содержимому откройте свойства файла QLUA.chm и на вкладке "Общие" в разделе "Осторожно (Этот файл был получен с другого компьютера...)" отметьте "Разблокировать".
Правильно понимаем, что речь по-прежнему идет о Рабочем месте QUIK версии 8.13? В таком случае рекомендуем Вам выполнить обновление и проверить, будет ли воспроизводиться описанный эффект в актуальной версии приложения.
Статус условной заявки "Исполнена" говорит о том, что были выполнены указанные ценовые условия и выставлена биржевая заявка (лимитированная или рыночная). Снять заявку со статусом "Исполнена" нельзя.
QPILE может отправить любую транзакцию, если известно ее описание. Вы можете получить описание транзакции на ввод алго-заявки с помощью кармана транзакций - необходимо сформировать в кармане транзакций необходимую транзакцию, а затем загрузить транзакцию в tri-файл (см. Раздел 6. Совместная работа с другими приложениями / Импорт транзакций / Универсальный формат файла импорта транзакций).
В QLua для отправки транзакций используется функция sendTransaction(). Подробнее об интерпретаторе QLua и его использовании Вы можете узнать в соответствующей документации.
Скрипт, непосредственно используемый Вами, необходим для дальнейшего изучения вопроса по данному обращению. Просим Вас предоставить запрошенную ранее информацию.
Данное сообщение говорит о том, что транзакция была успешно отправлена на сервер QUIK, но не прошла проверку лимитов на сервере из-за попытки открыть короткую позицию по инструменту, для которого запрещены маржинальные продажи.
Рекомендуем Вам убедиться, что все параметры транзакции (торговый счет, код клиента, инструмент и код класса) указаны корректно и по указанному инструменту у Вас действительно есть открытая позиция. Если каких-либо ошибок в описании транзакции не обнаружится, просим Вас также проверить возможность подачи такой же заявки с помощью sendTransaction в версии Рабочего место QUIK, с которой Вы работали ранее (8.3).
Просим Вас после выполнения предложенных действий сообщить результат.
Установить срок действия "До отмены" возможно для условных заявок. Для подачи стоп-заявки со сроком действия "До отмены" необходимо указать в описании транзакции параметр EXPIRY_DATE со значением "GTC". Список всех параметров транзакции и их возможных значений представлен в Руководстве пользователя Рабочего места QUIK (Раздел 6. Совместная работа с другими приложениями / Импорт транзакций / Фиксированный формат файла импорта транзакций).
Проблема с выводом по ODBC численных значений более 10^15 была исправлена в Рабочем месте QUIK версии 8.2.1. Рекомендуем Вам выполнить обновление до актуальной версии QUIK, поддерживаемой Вашим брокером.
Реализация Lua-машины такова, что перед входом в главный цикл интерпретатора объект синхронизации захватывается и отпускается только в некоторых случаях, например, при вызове внешних функций (в частности, sleep). Рекомендуем использовать вызов функции sleep() внутри цикла, чтобы исключить зависание приложения.
Просим Вас уточнить следующую информацию: 1) в какой версии Рабочего места QUIK столкнулись с описанным поведением; 2) в какой версии Администратора источника данных ODBC выполнялись создание и настройка источника; 3) какой драйвер используется ODBC-источником; 4) какой тип данных, размер указан в БД для поля "Номер заявки".