ivan написал: Спасибо за ваш подробный ответ, а подскажите еще вот что: можно ли как-то из параметров таблицы сделок понять - вечерняя сессия или нет? Или только смотреть на время сделки и если она с 19:00 до 00:00, то вечерка?
Добрый день.
Как сказал Сергей выше, можно определять по дате торговой сессии, если она отличается от даты сделки, то это сделки вечерней сессии, а не новая сделка.
Цитата
Кстати, а если сделка совершена в вечернюю сессию перед большими праздниками, то дата торговой сессии будет соответствовать ближайшему следующему торговому дню, даже если это будет через неделю?
Дата торговой сессии будет та, когда была заключена сделка.
По данному обращению мы не обнаружили ошибок в работе серверного ПО QUIK. Неоднократные получения изменений ограничений по инструментам вызваны особенностью обработки действий пользователя и полученных торговых данных. При выполнении обычных операций пользователь может получать следующие изменения лимита по инструменту:
1. Обновление лимита с заблокированными значениями (в зависимости от направления - на покупку / продажу) после ввода заявки. 2. Обновление лимита со сброшенными заблокированными значениями и измененными значениями текущих остатков - после снятия заявки или заключения сделки. Кроме этого, возможные ситуации, когда сервер инициирует отправку лимита не два раза, а четыре.
Борис Гудылин написал: В QLUA.chm - "Функции и глобальные переменные переменные скрипта индикатора" Там нет AllocTable()
Когда-то было более четкое разделение: скрипт LUA и индикатор ТА. Со временем граница размывается, может их вообще хотят уравнять в возможностях? Документация соответствует этой размытости, а может, она является причиной таких недоразумений.
Интересно заканчивается вышеуказанный раздел, рекурсия какая-то Список функций, доступных из скрипта индикатора
Добрый день.
Борис, если есть конкретные предложения по переоформлению документации, вы можете их описать более подробно. На данный момент не видим трудностей в написании функций LUA и для индикаторов технического анализа.
Добрый день, Мы рассмотрели Ваше пожелание. По итогам его анализа сообщаем Вам, что пожелание отклонено по причине К сожалению, мы не можем предоставить какое-либо API для работы с WebQuik. Рекомендуем использование FIX Client Connector для ваших целей.
Доступа через QLUA к таблице "Состояние счета" в текущей реализации нет.
По поводу закрытия позиции. То Вам необходимо использовать функцию:sendTransaction Описание доступных транзакций можно посмотреть в руководстве пользователя QUIK. В разделе Формат .tri-файла с параметрами транзакций.
1) Обнаружил случайно, что на демо по некоторым тикерам getParamEx дает инфу, хотя в ТТП их нет. Проверил сегодня на рабочей - так же. Вопрос скорее в целом, хочется понимать - почему такое возможно? И как влияет удаление инструмента из таблицы на дальнейшее получение инфы по нему?
Добрый день.
Скорее всего эти данные у Вас заказаны в пункте меню Система - Заказ данных - Поток котировок. Qlua работает не с таблицами, а с данными с сервера.
Цитата
2) На форуме встречается фраза "перезаказ данных". Это имеется ввиду "Система-Заказ данных-Перезаказать данные" или еще что-то скриптовое?
Да.
Цитата
3) Сделки в ТОС по тикеру всегда поступают последовательно от первой в сессии и упорядоченно по времени их совершения или необязательно? При условии, что не было потерь при передаче данных.
Да.
Цитата
4) Если в процессе передачи данных от брокера случился сбой интернета и часть сделок до моей ТОС не дошла - это как-то обнаружится терминалом в процессе работы или за этим надо следить самому?
После очередного подключения данные по обезличенным сделкам прокачается в полном объеме. Если в пункте меню Система - Заказ данных - Заказ обезличенных сделок стоит признак "Получать информацию по всем обезличеным сделкам с текущего момента" То соответственно при подключении вы получите данные только с этого момента.
Цитата
5) Возникла реальная ситуация на рабочем квике. Где-то в 23:30 по Москве решил, что в ТОС мне нужно добавить еще пару колонок параметров и добавить с пару десятков инструментов. Сначала сделал это в одной таблице, но при выгрузке в эксел превысилось максимальное допустимое число строк в файле. Ок, разбил на несколько таблиц. В общем, пока это все делалось, аккурат время зашло за 23:50. Тем не менее, количество строк в таблицах не увелчивалось уже и я начал выгрузку данных в файлы. В итоге оказалось, что в примерно половине тикеров в одной из колонок не прогрузились данные полностью - часть полей оказались нулевыми. К слову, в последующие дни таких проблем не возникало. У меня вопрос - как бороться с такими ситуациями? Т.е. сделки, в смысле их числа = количество строк в ТОС оказалось корректным - именно столько сделок и было на момент окончания сессии, но по некоторым сделкам данные не загрузились полностью. Могло ли это быть связано с временем, когда я это делал? Мол если бы это было в разгар сессии, то данные догрузились бы. Или данные по сделке всегда подгружаются целиком и не могут приходить частями? И все же что делать в такой ситуации? Перезаказывать данные или заново делать CreateDataSource в скрипте?
Здесь нужно рассматривать конкретный пример с данными выгрузки, как понимаем Вы это делали при помощи Qlua.
Цитата
6) Если я правильно понял(поправьте, если нет) данные о торгах, которые приходят в квик, можно разделить на две части: данные за текующую торговую сессию, которые используются соответствующими таблицами, и данные за гораздо больший период, которые используют графики. И последние, в отличие от первых, сохраняются локально на комп. Перезаказ данных из меню позволяет удалять полностью и те, и те.
Да. На графике данные транслируются с сервера брокера, однако в последних версиях QUIK можно дополнительно хранить историю локально на компьютере. Однако при перезаказе именно архивов графиков, эта накопленная информация удалится.
Цитата
7) Последовательный вызов CreateDataSource (с колбеком) с одними и теми же параметрами без промежуточных Close() приводит к увеличению числа объектов или некий объект создается один раз, а множатся только ссылки? 8) Нетиковый вызов CreateDataSource с колбеком как-нибудь повлияет на ТОС? 9) Я читал на форуме уже немало про асинхронность (хотя не все, вероятно), но все же, встретились противоречивые комментарии. Уточню еще раз. ТОС, ТТП и CreateDataSource живут в своих независимых потоках данных каждый? Или все-таки какие-то пересечения есть? Не очень понятен еще такой момент, как связаны getNumberOf("all_trades") и ds:Size() для тиковых данных.
serg79 написал: У меня такая же проблема только с открытым интересом, но в настройках все правильно. Пока терминал включен все данные поступают, если был выключен - данные отсутствуют и получить их обновлением не получается, запрос не отправляется. Пропущенные данные появляются сами только на следующий день.
Добрый день.
Проверьте выданные выше рекомендации: Зайдите в пункт меню Настройки/Основные/Программа/Сохранение данных/ и выберите пункты "Данные, отражающие текущее состояние и всю историю изменений» и «Получать пропущенные данные
Если настройки выполнены, то нажмите на графике F5, в окне сообщения должна появиться запись, что данные пропущенные получены. Если ничто из выше указанного не помогает, то необходимо по данному вопросу обратиться к брокеру.
Комментарий необходимо проставит в параметре ["CLIENT_CODE"] 20-ти символьное составное поле, может содержать код клиента и текстовый комментарий (поручение) с тем же разделителем, что и при вводе заявки вручную.
Anastasia Gordienko написал: На рабочем столе ярлык к запуску QUIK В свойствах этого ярлыка, в поле «Рабочая папка»; ... Вас устроит такое решение?
Цитата
Egor Zaytsev написал: Если все же рабочее место устанавливается в ProgramFiles, то в ярлыке можете прописать рабочую директорию, и рабочие файлы QUIK будут сохраняться именно там.
К сожалению, у этого способа есть недостаток. А именно, не работает обновление версий из Quik запущенного таким способом. Выдаёт такую вот «прелесть»:
Понятно почему, потому что Quik запущен под обычным пользователем, и у него нет прав делать запись в системную папку программы в %ProgramFiles(x86)%. Файлы же скачиваются в папку %APPDATA%\QUIK_ИМЯБРОКЕРА\spool\frontend. В итоге либо вручную делать резервные копии старой версии и вручную переписывать все файлы в %ProgramFiles(x86)%\QUIK_ИМЯБРОКЕРА, либо запускать под администратором Quik на время обновления, что неправильно.
Соответственно. В Quik (или даже в update.exe) необходимо добавить вызов UAC для поднятия привилегий на время обновления программы, с запросом пароля, как это обычно и делается. Добавьте это к зарегистрированному ранее пожеланию.
Egor Zaytsev написал: Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Просьба к разработчикам. Пожалуйста, не делайте по умолчанию запись в одинаковую директорию. По умолчанию оставьте всё как сейчас.
Добрый день.
Пожелание анализируется, как будет результат сообщим.
Ростислав Дм. Кудряшов написал: Индикатор Зигзаг показывает "истинные тренды" заданной силы на текущий момент. И может быть полезен для подсчёта волн поклонникам Эллиота. Предлагаю включить в Quik индикатор Зигзаг, рисующий поворотные точки трендов заданной силы. В качестве образца предлагаю алгоритм, опубликованный в моём сообщении Код индикатора Зигзаг
Здравствуйте!
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Egor Zaytsev написал: 1. У нас проблема не воспроизвелась.
Хотел отправить уже, но выяснил подробности - так ведут себя метки, скопированные по CTRL+лев.кнопка мыши и после перезагрузки квика эти метки пропадают вовсе.
Добрый день.
Удалось повторить. Ваше обращение получено, проблема изучается. Постараемся в ближайшее время дать ответ.
Suntor написал: Настройка хранения рабочих файлов в папке профиля пользователя %AppData%\Quik не имеет отношения ни к брокеру, ни к установщику. Это настройка, которая должна быть внутри Quik.exe... также как настройка пути к *.wnd файлам. Примерно вот так:
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
ISR написал: 1. Ставлю несколько, например, 5-6 текстовых меток, после этого отредактировать свойства могу только у 2х последних - остальные не реагируют ни на двойной щелчок мыши ни на ее правую кнопку. 2. Можно добавить для фигуры прямоугольник галочки продолжить вправо и влево, как у линий?
Добрый день.
1. У нас проблема не воспроизвелась. Просьба зафиксировать проблему, закрыть QUIK, сделать архив рабочего места QUIK и прислать нам на адрес: quiksupport@arqatech.com 2. Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Мы не можем заставить брокера собирать дистрибутив в том или ином виде. Может дать рекомендации,а будет он их выполнять или нет, мы проследить и настаивать не можем.
Алексей написал: Единичный случай. Поэтому указал номер заявки. Quik 7.14.1.7
У меня такая же версия, 7.14.1.7, но brokerref всегда равно пустой строке. Это от брокера зависит, заполнение этого поля? И вообще зачем такое поле использовать? не могу понять... если есть поля client_code и order_num, которые эту информацию возвращают.
Добрый день.
При отправке заявки через QUIK код клиента и примечание добавляется в поле BrokerRef Поле BrokerRef используется для записи кода клиента и комментария. Для заявок в торговые системы МБ поле так и заполняется, например указываем код клиента 11 и комментарий Test, то поле BrokerRef будет содержать оба этих значения 11/Test.
Нужно смотреть конкретный пример вашего скрипта, что заполняете, какой ответ приходит.
Let_it_go написал: Прошу подсказать, как вылечить эту проблему. График Открытого интереса выглядит так (количество открытых позиций): Пропуски свечей за сегодня за то время, пока КВИК был выключен. Брокер Открытие.
--- Получение пропущенных данных включено:
--- Кнопка Обновить нажималась, даже пришло сообщение что "Получены пропущенные данные". Но это не так. Дырки на графике остались.
Добрый день.
Для возможности разобраться необходимо Вам обратиться к брокеру. Если брокер не поможет, то инициируйте обращение к нам.
Как я уже написал, брокер установит как обычное приложение в «%ProgramFiles(x86)%\ИМЯБРОКЕРА» и затем скажет запускать под админом..
Брокер может так настроить и указать для ярлыка рабочую директорию и тогда пользователю не придется запускать из под админа.
Но ведь брокеры этого не делают!... вот в чём проблема. По двум своим брокерам я могу сказать, что они этого не делают. И подозреваю, что и остальные не делают. Вы тогда либо выпускайте чёткие инструкции для брокеров, о том как им правильно конфигурировать установщик, либо сами сделайте по умолчанию этот установщик с правильными настройками.
Добрый день.
Мы не можем сделать умолчательный установщик один для всех брокеров. Так как у каждого брокера свои критерии для сборки дистрибутивов, которые могут включать различные плагины, которых нет у других брокеров. Также возможно не все компиляторы умеют собирать дистрибутив с предустановленной опцией рабочей директории из настроек ярлыка.
Egor Zaytsev написал: Проблема с brokerref возникает периодически или при каждой отправки транзакции? Сообщите версию QUIK и если есть возможность выложите свой скрипт.
Единичный случай. Поэтому указал номер заявки. Quik 7.14.1.7
С этим вопросом необходимо разбираться. Можно попробовать решить через брокера. Обратитесь к нему, пожалуйста. От Вас же потребуется номер заявки/архив рабочего места QUIK без ключей доступа/полный скрипт/ Дату выставления транзакции.
Egor Zaytsev написал: История всех сделок в QUIK не хранится. Вы можете выгружать их самостоятельно. Можно по ODBC, DDE или при помощи Qlua и Qpile.
А кстати почему? Можете зарегистрировать это как предложение к добавлению нового функционала... Даже при ручной торговле было бы удобно видеть на графике все свои сделки за предыдущие дни, а не только с последнего клиринга. Может сделать это отдельной таблицей «Все свои сделки»? Для начала хотя бы на уровне терминала, чтобы запоминал в истории содержимое таблицы сделок. А в перспективе, чтобы сервера хранили эту информацию и синхронизировали между собой, и её можно было получить при подключении с «чистового Quik».
Потому что QUIK интрадейная программа и данные по сделкам заявкам-рыночной информации хранится в рамках одной торговой сессии. В этом плане не планируются доработки.
Алексей написал: Сегодня 22.02.2018 в 11:59:56 на FORTS lua-скриптом была выставлена заявка 29545190638 с заполненным полем CLIENT_CODE. В ответ пришел OnTransReply с пустым полем brokerref = "". Последующие OnOrder и OnTrade содержали правильно заполненное поле brokerref. Проблема в том, что мой скрипт фильтрует поток по brokerref. В итоге его модуль обработки содержимого OnTransReply, OnOrder и OnTrade не получил OnTransReply.
Не заполненное поле brokerref в OnTransReply - это единичный баг сервера брокера или допустимое событие в протоколе обмена сервера с клиентским местом?
Добрый день.
Проблема с brokerref возникает периодически или при каждой отправки транзакции? Сообщите версию QUIK и если есть возможность выложите свой скрипт.
s_mike@rambler.ru написал: вы хотите то, чего не может быть в природе.
Цитата
s_mike@rambler.ru написал: поэтому берите стамеску и строгайте "костыль"
Касательно костылей, хранится ли в квике история всех сделок ? или же только сделки за день (ну или с момента запуска терминала) ? И из какой из таблиц их можно достать ?
Добрый день.
История всех сделок в QUIK не хранится. Вы можете выгружать их самостоятельно. Можно по ODBC, DDE или при помощи Qlua и Qpile.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
В прошлую пятницу была такая ситуация: Опционный робот выставил лимитную заявку на покупку 12 контрактов RI125000BN8D путов по 870 пунктов. Но в таблице сделок вывелось что часть контрактов исполнилось по 920 пунктов. Как такое вообще может быть для лимитного ордера?
Страшно покупать уже. А если купит по 500 000 в этом случае -
Как уже сказали дистрибутив готовит Ваш брокер, он сам решает в какую директорию устанавливать QUIK по умолчанию. Если все же рабочее место устанавливается в ProgramFiles, то в ярлыке можете прописать рабочую директорию, и рабочие файлы QUIK будут сохраняться именно там.
Андрей Пахомов написал: Никак не получается.( Напишите пожалуйста рабочий пример для "чайников", и если trade_dat является таблицей, то и все её параметры.
Например: Получение параметра - день даты сделки в первой строке таблицы обезличенных сделок (тип-NUMBER): var = getItem ("all_trades", 1)['datetime']['day'] или так: var = getItem ("all_trades", 1).datetime.day
Андрей, извините, данный параметр можно получить из таблицы getInfoParam, параметр TRADEDAT. Из таблицы обезличенных сделок нельзя.
sandyman написал: Я понимаю, что воспроизвести это довольно сложно. Подскажите в каких файлах хранятся данные для построения трендовых линий и есть ли какие-то различия в хранении линий в случае привязки графика к ТТП.
Настройки хранятся в info.wnd, различий в хранении линий в случае привязки к ТТП нету.
К сожалению, мало информации для изучения проблемы. У себя проверили эксперимент, проблема описанная не воспроизвелась. Просьба при повторении проблемы, сделать копию рабочего места QUIK (без ключей) и прислать нам на quiksupport@arqatech.com.
Андрей Пахомов написал: В таблице обезличенных сделок есть такие параметры как "дата" (дата сделки) и "дата торгов" (дата последних сохранённых торгов, может отличаться как от текущей даты на компьютере, так и от даты на сервере). Как получить значение первого параметра, я вроде бы разобрался. А вот как получить параметр "Дата торгов"?
Укажите в качестве "даты торгов" параметр trade_dat.
Андрей Пахомов написал: В таблице обезличенных сделок есть такие параметры как "дата" (дата сделки) и "дата торгов" (дата последних сохранённых торгов, может отличаться как от текущей даты на компьютере, так и от даты на сервере). Как получить значение первого параметра, я вроде бы разобрался. А вот как получить параметр "Дата торгов"?
Укажите в качестве "даты торгов" параметр trade_dat.
Anastasia Gordienko написал: Что Вы подразумеваете под "дневной прибылью по акции"?
Я имею ввиду прибыль/убыток по каждой акции с момента открытия торговой сессии. В итогах я могу видеть общий дневной результат по всему портфелю. А вот как посмотреть по каждой акции не могу найти.
Добрый день, по акциям можете смотреть в купить/продать параметр "прибыль/убытки"
Max написал: Добрый вечер. При построении уровней Фибоначчи, если тянуть фибу от максимум к минимуму то 100% уровень на максимуме. Если нужна фиба в другую сторону и тянешь от минимума к максимуму, то 100% уровень опять на максимуме. Чтобы ее перевернуть приходится вручную перебивать цены точки 1 и точки 2. Тогда она переворачивается. Но если ее совместить с пиком и нижним уровнем, то опять 100% появляется наверху. Можно это исправить? Т.е. чтобы уровень 100% был автоматически на начальной точке откуда строятся уровни.
Добрый день.
Просьба обрисовать проблему скриншотами, чтобы до конца понимать, что дорабатывать.