Уточните, пожалуйста, с отправкой какой транзакции возникает проблема? Пример транзакции "Изменение заявки" мы приводили в сообщении #8 этой темы. Если трудности возникают с отправкой другой транзакции, просим описать ситуацию более подробно.
В таком случае рекомендуем проверить, что в настройках терминала установлен "умный" заказ данных (Основные настройки (F9) / Программа / Получение данных / Котировки). Если после выбора "умного" заказа класс не появится в списке, Вам необходимо уточнить доступность необходимых инструментов у Вашего брокера.
Возможно, выполнение скрипта зависит от какого-либо параметра, значение которого становится неактуальным после смены сессии. Рекомендуем добавить в скрипт отладочные сообщения, чтобы выяснить причину описанного поведения.
Также рекомендуем Вам выполнить обновление Рабочего места QUIK до актуальной версии - на данный момент это версия 11.1.
К сожалению, для транзакции "Изменение заявки" описание в фиксированном формате не предусмотрено. Рекомендуем использовать описание параметров в универсальном формате, пример которого приведен выше.
Для изучения вопроса нам потребуется копия используемого Вами Рабочего места QUIK, как мы указывали в предыдущем сообщении. Просим Вас предоставить информацию.
Что подразумевается под "в момент отправки рыночной заявки менять её тип на лимитную"? Если транзакция на ввод заявки по рыночной цене уже отправлена в торговую систему, изменить результате ее выполнения заявку не удастся, так как она сразу же будет исполнена, то есть описанный Вами алгоритм реализовать не получится.
Для решения Вашей задачи, как выше упомянул BlaZed, могут подойти заявки с типом исполнения Book or Cancel.
При регистрации источника данных вызовом CreateDataSource по тикам данные берутся из обезличенных сделок. При этом если сделки по нужному инструменту ещё не заказаны, то они заказываются, а если уже заказаны, то терминал итерирует все имеющиеся обезличенные сделки и добавляет нужные в линию данных. Если обезличенных сделок достаточно много, то их перебор будет занимать значительное время.
Все остальные минутные графики строятся не по обезличенным сделкам, а по так называемым минуткам, которых в принципе не бывает больше чем 65000, поэтому в данном случае вызов CreateDataSource отрабатывает быстрее.
а есть возможность добавить 5ти,10ти,15ти и 30ти секундные тайм фреймы?
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Уточните, пожалуйста, как измеряли время? Если возможно, просим отправить используемый скрипт (можно прислать на quiksupport@arqatech.com, в письме необходимо указать ссылку на данную тему форума).
У сообщений системы QUIK отсутствуют числовые коды. Просим уточнить, каким образом получена строка "8635230 Вы не можете снять данную заявку"; если есть возможность, прикрепите скриншот данного сообщения в терминале.
Мы можем зарегистрировать пожелание на добавление числовых кодов для сообщений об ошибках, возвращаемых системой QUIK при выполнении транзакций. Для этого просим Вас описать желаемую реализацию.
У себя описанное поведение воспроизвести не удалось.
Просим Вас предоставить для анализа копию Рабочего места QUIK, в котором наблюдается данное поведение. Папку с терминалом QUIK (без файлов ключей .txk, если используются) можно поместить в архив, загрузить его на любой удобный Вам файлообменный сервис и прислать ссылку на файл на нашу почту quiksupport@arqatech.com. Перед созданием архива необходимо закрыть терминал. В письме просьба указать ссылку на данную тему форума. Также просим сообщить, покупку какого инструмента Вы пытались совершить.
(210) Снято заявок: 1. Снято количество: 1. Нельзя снимать: 0. (160) Заявка на покупку N 30534448 зарегистрирована. ОШИБКА: (916) Заявка не может быть отменена. Указанная заявка уже не активна. Текущий статус заявки 'W'
Данные сообщения возвращает торговая система в ответ на выполненную транзакцию. У нас нет полного списка таких сообщений. Возможно, эту информацию смогут предоставить специалисты Биржи.
Цитата
Вы не можете снять данную заявку
Данное сообщение появляется при попытке снять несуществующую или уже не активную заявку. Какого-либо специального кода для данного сообщения нет.
Список сообщений об ошибке, которые может возвращать система QUIK при вводе или замене заявки, представлен в Руководстве пользователя QUIK (Раздел 5. Торговые операции клиента / Сообщения об ошибках).
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 кажется Вам некорректным, просим привести пример.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.