Что подразумевается под "в момент отправки рыночной заявки менять её тип на лимитную"? Если транзакция на ввод заявки по рыночной цене уже отправлена в торговую систему, изменить результате ее выполнения заявку не удастся, так как она сразу же будет исполнена, то есть описанный Вами алгоритм реализовать не получится.
Для решения Вашей задачи, как выше упомянул 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 кажется Вам некорректным, просим привести пример.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
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 - установленное в параметрах индикатора количество периодов.
Если необходимо рассмотреть что-то более подробно, просим Вас уточнить вопрос.