Действительно, при вызове getDepo из Lua-скрипта из-за синхронизационных проблем могут возникать ошибки. Данная проблема будет устранена в одной из ближайших версий ПО. В качестве решения проблемы рекомендуем использовать вызов getDepoEx.
Приносим извинения за причиненные неудобства.
На разных интервалах Quik показывает графики только за сегодня
Просим Вас предоставить для анализа копию Вашего Рабочего места QUIK (без файлов ключей secring.txk и pubring.txk, если используются). Архив с файлами терминала можно выложить на любой удобный Вам файлообменный сервис и прислать ссылку на загрузку файла на нашу почту (в письме необходимо указать ссылку на данную тему форума).
Ограничения Квик на однорвеемнные вызовы CreateDataSource
Причиной аварийного завершения работы терминала с данным сообщением может являться появление ошибки в файлах настроек или иных рабочих файлах, ошибка в работе терминала или несовместимость используемых Lua-скриптов и dll от сторонних разработчиков.
Для установления точной причины возникновения ошибки просим Вас прислать указанный в тексте сообщения об ошибке файл info_20230209_132747.dmp, расположенный в директории dmp в папке с рабочим местом QUIK, на нашу почту .
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), то выставляется заявка по второй бумаге?
Такой возможности нет.
Не могу запустить lua скрипт, Не могу запустить элементарный скрипт на реальном счете Quik
В Вашей программе происходит обращение к графикам с идентификаторами "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.
Если требуется изменить порядок выполнения логических операций, необходимо воспользоваться скобками.
Функции getBuySellInfoEx и getFuturesLimit возвращают nil по одному из клиентских счетов - почему такое может быть ?!
Формат вызова функции 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, несмотря на корректно переданные параметры, просим Вас прислать фрагмент Вашего скрипта с вызовом данной функции, а также скриншот таблицы "Купить/продать". Запрошенную информацию Вы можете направить на нашу почту , указав в письме ссылку на данную тему форума.
Для экспорта информации из Рабочего места QUIK указанной версии (9.3) ODBC источник необходимо создавать в программе Администратор источника данных ODBC 64-разрядной версии (путь: %windir%\system32\odbcad32.exe).
Рекомендуем Вам убедиться, что источник ODBC был создан корректно, а также в случае необходимости создать новый источник.
DDE export работает только в Excel, DDE export работает только в Excel
Вывод данных с неактивным признаком "Запускать приложение DDE сервера автоматически" возможен, если заполнены поля "Рабочая книга" и "Лист" и соответствующий файл открыт в MS Excel.
Что касается возможности экспорта данных в другие системы, просим Вас уточнить, о каких именно системах идет речь.
Обезличенные сделки, Слетают настройки списков инструментов для заказа обезличенных сделок
Уточните, пожалуйста, о вызове какой функции идет речь? Просим Вас описать проблему более подробно, а также предоставить Lua-скрипт, для которого воспроизводится данное поведение.
Использование getParamEx для облигаций, Получение данных по облигациям из таблицы Текущих торгов
С помощью функции 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.
Не знать будущего (чтобы на истории не было видно направления скользящих средних для будущих, скрытых за экраном, свечей)
Сергей написал: при наложении объектов, их узлов, берётся не то что нужно (не то что выделено).
Ранее Вы действительно упоминали о таком поведении (), однако мы не получили от Вас запрошенную информацию, а именно данные о версии терминала QUIK, в которой наблюдается описанный эффект и, если возможно, видео с его воспроизведением.
Просим Вас предоставить данную информацию (можно направить на нашу почту , указав в письме ссылку на данную тему форума).
Покупка/продажа по рыночной цене на указанную сумму, У акций на moex разная лотность и оперировать кол-вом акций, которые нужно купить/продать не всегда удобно
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Покупка/продажа по рыночной цене на указанную сумму, У акций на moex разная лотность и оперировать кол-вом акций, которые нужно купить/продать не всегда удобно
При вводе заявки Вы можете указать необходимый объем и рассчитать соответствующее количество. В форме ввода заявки необходимо указать интересующую цену (если речь идет о рыночной заявки - отметить признак "Рыночная"), объем в поле "Объем и комиссия" и нажать кнопку "Задать количество", после чего количество инструментов, доступное для покупки на указанную сумму, отобразится в соответствующем поле.
Данные по заключенным сделкам, не могу получить дату расчетов
В текущей реализации возможности настроить такое поведение не предусмотрено.
Мы можем зарегистрировать пожелание на доработку функционала Рабочего места QUIK - возможность настроить умолчательные значения для параметров "Срок действия", "Время действия" при вводе стоп-заявок. Уточните, пожалуйста, регистрируем пожелание с такой формулировкой?
Настройка ODBC драйверов для PostgreSQL или MySQL. Вопрос ТП и Пользователям ПО QUIK., Не передаются данные в БД.
В представленной инструкцию подробно описаны шаги, необходимые для установления связи Рабочего места QUIK с источником ODBC и запуска экспорта данных. Если на каком-либо из шагов у Вас возникли затруднения или вопросы, уточните, пожалуйста, что именно Вам не удается сделать.
В Приложении к Разделу 6 Руководства пользователя QUIK представлены форматы параметров в таблицах QUIK. Выбрать наименования для параметров в таблице БД Вы можете самостоятельно, с учетом представленных в инструкции общих рекомендаций (не использовать для названия полей таблиц зарезервированные слова, например, «money», «group», «order», «number», «date» и т.п.). Мы можем предложить Вам зарегистрировать пожелание на дополнение руководства пользователя и добавление в Приложение "Форматы данных для настройки экспорта через ODBC" списка возможных наименований полей в таблицах БД. Уточните, пожалуйста, регистрируем такое пожелание?
Цитата
Игорь написал: ПРИ ПОПЫТКЕ ЭКСПОРТА ПЕРИОДИЧЕСКИ ВЫСКАКИВАЮТ ОШИБКИ В ВИДЕ ОГРАНИЧЕНИЙ (БОЛЕЕ 50 ОКОН ОТКРЫТО) КАКИХ ОКОН НЕ ПОНЯТНО?
Просим Вас прислать скриншот описанной ошибки. Также просим уточнить, появляются ли какие-либо сообщения об ошибках при нажатии кнопки "Начать вывод данных"?
Настройка ODBC драйверов для PostgreSQL или MySQL. Вопрос ТП и Пользователям ПО QUIK., Не передаются данные в БД.
Уточните, пожалуйста, доступен ли в Рабочем месте QUIK созданный Вами ODBC-источник, удается ли присоединиться к нему и получить список доступных таблиц? Какой-либо дополнительной инструкции по настройке вывода данных по ODBC нет. Просим Вас уточнить, на каком именно шаге существующей инструкции Вы столкнулись с трудностями.
Цитата
Игорь написал: будут ли писаться данные если первоначально всем полям задать значение VARCHAR(250) а потом уже изменить значение в самой БД?
Нет, таблица базы данных, предназначенная для экспорта, должна повторять структуру исходной таблицы QUIK, для каждого параметра должен быть задан определенный тип значений и размер поля. Перечень параметров и типов данных в них приведен в Руководстве пользователя QUIK.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Не знать будущего (чтобы на истории не было видно направления скользящих средних для будущих, скрытых за экраном, свечей)
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
В bat-файл записывается последовательность команд, которые выполняются при открытии данного файла. В некоторых случаях в дистрибутив Рабочего места QUIK помещается bat-файл для "чистого" запуска терминала, который сначала удаляет некоторые .dat и .log файлы в директории с терминалом, а затем выполняет запуск самого .exe приложения QUIK.
Уточните, пожалуйста, не открываете ли Вы подобный файл для запуска терминала? Если запустить info.exe в папке с терминалом, будет ли выводиться сообщение об отсутствии справочников?
Использование getParamEx для облигаций, Получение данных по облигациям из таблицы Текущих торгов
Функция 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". Список всех параметров транзакции и их возможных значений представлен в (Раздел 6. Совместная работа с другими приложениями / Импорт транзакций / Фиксированный формат файла импорта транзакций).
Проблема с выводом по ODBC численных значений более 10^15 была исправлена в Рабочем месте QUIK версии 8.2.1. Рекомендуем Вам выполнить обновление до актуальной версии QUIK, поддерживаемой Вашим брокером.
Реализация Lua-машины такова, что перед входом в главный цикл интерпретатора объект синхронизации захватывается и отпускается только в некоторых случаях, например, при вызове внешних функций (в частности, sleep). Рекомендуем использовать вызов функции sleep() внутри цикла, чтобы исключить зависание приложения.
SetCell crash, Устновка цветов не по порядку вызывает краш Quik а
Просим Вас уточнить следующую информацию: 1) в какой версии Рабочего места QUIK столкнулись с описанным поведением; 2) в какой версии Администратора источника данных ODBC выполнялись создание и настройка источника; 3) какой драйвер используется ODBC-источником; 4) какой тип данных, размер указан в БД для поля "Номер заявки".
[Вопрос разработичкам Квика] SetUpdateCallback - не срабатывает после первого запуска скрипта
Воспроизвести описанное поведение у себя не удалось. Просим Вас сделать копию Рабочего места QUIK (без файлов pubring.txk, secring.txk, если используется аутентификация по ключам), в котором наблюдается данный эффект. Вы можете загрузить архив терминала на любой удобный Вам файлообменный сервис и отправить ссылку на файл на нашу почту .
в пользовательской документации, действительно, отсутствуют описания функций TRANS2QUIK_SEND_SYNC_TRANSACTION_EX, TRANS2QUIK_ORDER_QTY_SCALE, TRANS2QUIK_TRADE_QTY_SCALE, TRANS2QUIK_TRANSACTION_REPLY_QTY_SCALE. Остальные функции описаны в разделе "Функция TRANS2QUIK_TRANSACTION_REPLY_CALLBACK".
Мы добавим описания недостающих функций в одной из очередных версий программы.
Приносим извинения за причиненные неудобства.
Отписка от колбека SetUpdateCallback и сразу же подписка
Причина данной проблемы установлена и будет устранена в одной из ближайших версий библиотеки qlua. В качестве временного решения рекомендуем перед вызовом ds:Close() для закрытия таблицы устанавливать пустую функцию обратного вызова с помощью ds:SetEmptyCallback().
Причина данной проблемы установлена и будет устранена в одной из ближайших версий библиотеки qlua. В качестве временного решения рекомендуем перед вызовом ds:Close() для закрытия таблицы устанавливать пустую функцию обратного вызова с помощью ds:SetEmptyCallback().