Kolossi написал: данные поступают только после перезапуска скрипта.
Проверьте, пожалуйста, удастся ли воспроизвести поведение на версии Рабочего места QUIK 11.0.1?
Если ситуацию удастся воспроизвести, просим Вас прислать для анализа копию используемого Рабочего места QUIK (без файлов ключей .txk) и файл с Lua-скриптом. Файлы можно поместить в архив и разместить на любом удобном для Вас файлообменном сервисе, затем прислать ссылку на загрузку на нашу почту quiksupport@arqatech.com. В письме просим указать ссылку на данную тему форума.
В документе "Интерпретатор языка Lua" описан также способ получения наименований параметров, не требующий использования Excel: включить опцию "Формальное представление данных" и скопировать содержимое Таблицы текущих торгов в любой текстовый редактор. Более подробное описание см. на с.39 указанного документа.
О причине отсутствия списка параметров в документации мы сообщали ранее - набор параметров отличается в зависимости от доступных торговых систем и режимов.
Воспроизвести проблему по-прежнему не удается - получаем корректные значения.
Просим Вас предоставить для анализа копию папки с Рабочим местом QUIK (без файлов ключей, если используются), в котором наблюдается проблема. В терминале должно быть открыто окно с графиком, на который добавляется индикатор. Перед созданием копии терминал необходимо закрыть.
Просим Вас поместить папку в архив и загрузить полученный файл на любой удобный Вам файлообменный сервис, затем отправить ссылку на загрузку на нашу почту quiksupport@arqatech.com. В письме укажите ссылку на данную тему форума.
Проверили работу приложенного скрипта - у нас описанное поведение не воспроизводится. Уточните, пожалуйста, какую версию Рабочего места QUIK Вы используете?
Kolossi написал: - убрать эту подписку можно только вручную после похода в меню настроек.
Действительно, в настоящий момент реализация такова, что в случае, когда открыта хотя бы одна таблица обезличенных сделок, даже по другому классу, то при отписке от обезличенных сделок через скрипт они не исчезнут из фильтра и продолжат заказываться терминалом.
Приносим свои извинения за длительное ожидание ответа.
правильно ли я понимаю, что при отсутствии с одной из сторон данных (планка) будет возвращен 0 в качестве значения?
Да, верно, так как такое значение транслируется из торговой системы.
Для получения информации о наличии спроса или предложения по инструменту рекомендуем проверять значения параметров "Суммарный спрос" (biddeptht) / "Суммарное предложение" (offerdeptht).
- ничего не появляется в фильтре таблицы обезличенных сделок
Если речь идет о том, что инструмент не добавляется в фильтр отдельной Таблицы обезличенных сделок, такое поведение корректно.
Цитата
- убрать эту подписку можно только вручную после похода в меню настроек.
Воспроизвели данное поведение при условии, что в терминале присутствует открытая Таблица обезличенных сделок. Проблема изучается. Постараемся в ближайшее время дать ответ.
Цитата
1. Достаточно ли такой подписки для корректной работы в скрипте колбэка OnAllTrade и выборки SearchItems("all_trades", .....) не имея этого инструмента в таблице обезличенных сделок?
Достаточно, наличие инструмента в открытой Таблице обезличенных сделок не обязательно.
Цитата
2. Как отписаться от этого счастья средствами Qlua при следующей смене иструмента?
Если в терминале нет открытых Таблиц обезличенных сделок, при вызове ds:Close() исключается получение обезличенных сделок по инструменту.
Для получения информации о котировках с помощью функции getQuoteLevel2 должен быть открыт стакан по интересующему инструменту, либо в Lua-скрипте необходимо запросить получение этого стакана с помощью функции Subscribe_Level_II_Quotes. В противном случае получить данные с помощью getQuoteLevel2 не удастся.
webQUIK, как и мобильные терминалы QUIK, представляет собой облегченную версию стационарного Рабочего места QUIK и изначально не рассчитан на работу с большими объемами данных. В связи с этим, к сожалению, стабильное функционирование webQUIK при работе с такими массивами данных не может быть гарантировано.
При работе с такими объемами заявок рекомендуем использовать стационарное Рабочее место QUIK.
С помощью getSecurityInfo можно получить инфомрацию об инструментах, которые в текущий момент доступны в Рабочем месте QUIK. По недоступному инструменту функция возвращает nil.
Попробуйте отправить транзакцию с описанием в универсальном формате.
Вы можете получить полный набор параметров транзакции в таком формате из "Кармана транзакций": 1) откройте таблицу "Карман транзакций"; 2) создайте транзакцию с необходимыми параметрами; 3) в контекстном меню таблицы выберите "Сохранить транзакции в tri-файл" - сохраненный tri-файл будет содержать список параметров и их значений введенной Вами транзакции, их можно использовать в Lua-скрипте.
Наблюдаемые различия могли возникнуть вследствие отличающихся накопленных данных в разных терминалах. Если расчет индикатора в QUIK кажется Вам некорректным, просим привести пример.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
nTransactionExtendedErrorCode передается в функции обратного вызова и может принимать значения: 1 - "Транзакция данного типа не поддерживается"; 2 - "В процессе отправки не удалось сформировать строку транзакции".
Расширенный код ошибки является технической информацией, в случае его появления необходимо обратиться в Техническую поддержку QUIK для анализа возникшей проблемы.
Минимальный код индикатора для получения кода инструмента на графике:
Код
Settings = {
Name = "getDataSourceInfo_Example"
}
function Init()
return 1
end
function OnCalculate(index)
seccode = getDataSourceInfo().sec_code
message(seccode)
end
При запросе информации о заявки будут получены ее текущие параметры. Частично исполненная заявка имеет статус "Активна", по мере ее исполнения будет изменяться значение неисполненного остатка.
Если этой информации недостаточно для решения Вашей задачи, просим Вас уточнить вопрос.
Получить информацию из Таблицы алгоритмических заявок с помощью QLua нет возможности. Отслеживать изменения алго-заявок с использованием указанных callback-функций также нельзя.
Эти значения в стакане соответствуют значениям параметров Таблицы текущих торгов "Суммарный спрос" и "Суммарное предложение". Соответственно, получить эти значения можно с помощью функции getParamEx.
Формула SMMA: SMMAi = (sum(Pi) - SMMAi-1 + Pi) / n, где Pi - значение цены в i-ом периоде, SMMAi-1 - значение SMMA в предыдущем периоде, n - установленное в параметрах индикатора количество периодов.
Если необходимо рассмотреть что-то более подробно, просим Вас уточнить вопрос.
Сделка и обезличенная сделка - это разные сущности.
В "Таблице сделок" отображаются только сделки, совершенные Вами (по счету и коду клиента, на которые у Вас есть права). В "Таблицу обезличенных сделок" поступает информация обо всех сделках, заключенных в Торговой системе, без указания сторон, с ограниченным набором параметров.
Итак, если есть задача отслеживать заключение сделок в Торговой системе вообще (не только своих), необходимо использовать OnAllTrade. Для получения информации об исполнении собственных сделок необходимо использовать OnTrade.
Действительно в терминале QUIK есть ошибка, из-за которой при загрузке в адресное пространство сторонних модулей в ходе исполнения Lua-скриптов происходит изменение языковых настроек процесса, и работа с зависимыми от языка ресурсами (меню, диалоги и т.п.) осуществляется неправильно. Ошибка будет исправлена в одной из очередных версий ПО.
Просим уточнить, что в данном случае означает "заявка отправляется успешно"? Речь идет об успешной отправке транзакции на сервер? Какой ответ получаете на эту транзакцию?
Настройки выбранных классов и инструментов для получения обезличенных сделок хранятся в файле основных настроек терминала info.ini, в .wnd-файлы эта информация не записывается.
Уточните, пожалуйста, в настройках в списке обезличенных сделок выбраны интересующие инструменты? Приходит ли по ним в этом случае информации в OnAllTrade?