Sergey Gorokhov (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 ... 7 8 9 10 11 12 13 14 15 16 17 ... 78 След.
Контекстное меню в Lua-таблицах
 
Цитата
Старатель написал:
Если задана SetTableNotificationCallback (как для ячеек так и для заголовков) по событиям QTABLE_RBUTTONDOWN, QTABLE_RBUTTONDBLCLK, QTABLE_RBUTTONUP, то контекстное меню, в том виде, в котором сейчас есть (не настраиваемое) не нужно!

Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
QUIK 7.25.1.3. Условное форматирование таблиц., Желательно, для ячеек выставить по умолчанию "Нет цвета"
 
Цитата
Старатель написал:
Как сделать, чтобы условие «задано» корректно работало для числовых ячеек?

К сожалению такой возможности не предусмотрено
Контекстное меню в Lua-таблицах
 
Здравствуйте,
такой возможности нет.
Объяснение процесса обратного получения заявок, Объяснение процесса обратного получения заявок
 
Цитата
GrigoriyA написал:
ну вот я транзакции вижу , а заявки нет

и что Вы видите в транзакциях? А если точнее, то в колонке "Сообщение" таблицы транзакций?
Информация по заявка в quik и trans2quik, Информация по заявка в quik и trans2quik
 
Цитата
GrigoriyA написал:
то есть транзакция может стать ордером, а ордер сделкой?
Если биржа не будет отклонять по каким то причинам?

Транзакция может привести к регистрации заявки.
Заявка может исполниться и тогда по ней будут сделки.

Если транзакция не будет одобрена сервером QUIK или биржей, то заявки соответственно не будет, а значит не будет и сделок.
Информация по заявка в quik и trans2quik, Информация по заявка в quik и trans2quik
 
Цитата
GrigoriyA написал:
Спасибо, Сергей!

Я нашел транзакции. Я так понимаю в этой таблице заявки на ордера?

Как следует из названия, в таблице транзакций отображаются транзакции.
Транзакция, это далеко не всегда "заявки на ордера".
Объяснение процесса обратного получения заявок, Объяснение процесса обратного получения заявок
 
GrigoriyA,

1) В начале вызывается TRANS2QUIK_SUBSCRIBE_ORDERS в котором Вы указываете Код класса, для которого будут заказаны заявки и Список кодов инструментов
2) Потом вызываете TRANS2QUIK_START_ORDERS в котором Вы указываете имя функции которая будет срабатывать при получении заявок, описание функции см. в TRANS2QUIK_ORDER_STATUS_CALLBACK
3) И далее смотреть что приедет в этой функции из п.2

Судя по приведенным частям кода все описанное есть.

Если заявок нет, то и в колбеке Вы ничего не увидите.
Следовательно вопрос, заявки есть? откройте в терминале QUIK таблицу заявок и посмотрите.
Если есть, значит в коде что то выполнено не верно.
на нашем примере из "SAMPLE_C#\test_x64.exe" проблема не воспроизводится. Проверьте поступление заявок на нем.
Получение статуса выполнения асинхронной заявки, Получение статуса выполнения асинхронной заявки
 
Цитата
GrigoriyA написал:
Подскажите, пожалуйста, процесс получения статуса по отправленной асинхронной заявке.
Вы отправляете транзакцию через функцию
А ответ на транзакцию ищите не в результате работы функции, а в отдельном колбеке.
В общем то всё.
Цитата
GrigoriyA написал:
Тот пример что предлагают скачать здесь, отправляет асинхронную заявку , но не получает ответ по ней.
Не воспроизводится.
От слова совсем. Все прекрасно работает.
Смотрим наш пример SAMPLE_C++
если речь про параллельную тему "Объяснение процесса обратного получения заявок" которую Вы создали, то ответ по ней будет там.
Информация по заявка в quik и trans2quik, Информация по заявка в quik и trans2quik
 
Цитата
GrigoriyA написал:
В окне сообщений ничего нет.
Поищите еще в таблице транзакций
19-значные номера заявок и сделок на MOEX
 
Цитата
_sk_ написал:
С этим не поспоришь. Только лучше бы знать, к чему нам готовиться. Время то уже тикает, до 16 декабря не так уж много времени осталось. Хотя бы спецификации уже есть? Номера будут строками приходить, раз они в Lua NUMBER не укладываются? Или будет обновление Lua до 5.3, где есть поддержка long на 64-бита?
К сожалению мы не имеем права разглашать информацию до официального релиза.
Проблемы после перехода на 64 бит (Финам), Обновил квик от Финам до 64-битной версии, возникли проблемы с работой скриптов
 
Странно но у нас проблема не повторяется.
попробуйте тогда по другому:

Код
datetime = {}
datetime.month, datetime.day, datetime.year = string.match(os.date("%x"),"(%d*).(%d*).(%d*)")
Проблемы после перехода на 64 бит (Финам), Обновил квик от Финам до 64-битной версии, возникли проблемы с работой скриптов
 
Цитата
Иван Ру написал:
2. Перестал работать следующий код:

Попробуйте так:
Код
datetime = {}
datetime.month, datetime.day, datetime.year = string.match(os.date("%c"),"(%d*).(%d*).(%d*)")
19-значные номера заявок и сделок на MOEX
 
Здравствуйте,
Версия с поддержкой 19ти номеров еще не вышла и об этом явно сказано в уведомлении.
Получение данных из Доски опционов
 
Роман,
Такой возможности нет
Остановить скрипт при закрытии терминала
 
Цитата
s_mike@rambler.ru написал:
А (правильный) вариант исправления/добавления терминала уже не рассматривается в принципе? Базовая потребность - и только костылями?

Если речь о том чтобы зарегистрировать пожелание, тогда Вы должны его озвучить (пожелание)
Остановить скрипт при закрытии терминала
 
s_mike@rambler.ru,
Михаил,
Можно запоминать состояние stopped во внешнем хранилище.
Или добавить проверку на что то еще, например подключение к серверу.
GetInfoParam("SERVERTIME"), не всегда срабатывает
 
Цитата
Александр Кашников написал:
Лирика: ваша FixTime (V) избыточна применительно к проверкам такого рода совместно с GetInfoParam( "SERVERTIME" ). Просто убрать два двоеточия гораздо быстрее, а смысл тот же.
Ваше право.

Цитата
Александр Кашников написал:
Откуда берет значение getInfoParam("SERVERTIME")?
С пакета данных который прислал сервер QUIK.
Кроме того есть еще локальный счетчик который накручивает время при отсутствии свежих данных.

Цитата
Александр Кашников написал:
Через какое МИНИМАЛЬНОЕ время после соединения с вашим сервером ГАРАНТИРОВАННО можно понять, что данные получаемые с сервера корректны (время ПК +- пару секунд +- часовой пояс), а не далекое прошлое, как в примере выше?
такой константы не существует, всегда есть куча переменных в зависимости от которых время может быть разным.
QUIK 8.0 x64: что нужно знать перед обновлением на новую версию
 
Цитата
Андрей написал:
update.exe остался 32-битный?
Да
Цитата
Андрей написал:
есть 64-битная версия?
Нет, а Вам зачем?
Торгуемые классы
 
Цитата
s_mike@rambler.ru написал:
Господа разработчики, как понимаю, задача решения не имеет?

штатного решения нет
Получение данных из Доски опционов
 
Цитата
Роман написал:
Добрый день! Подскажите, как получить из Позиций по клиентским счетам код класса через getItem("FUTURES_CLIENT_HOLDING",i) -- SPBOPT (другими словами отделить опционы от фьючерсов)  и можно ли каким-то образом получить там же код базового актива для опционов ( или базовый актив только через getParamEx?). Хочу сделать индикатор вариационной маржи по опционным позициям, когда таковые есть, на графике базового актива.

В FUTURES_CLIENT_HOLDING нет кода класса, Вы можете в этом убедиться просто открыв таблицу в терминале. Отделить опционы можно по коду инструмента т.к. коды фьючерсов явно отличаются от опционов. Этого достаточно чтобы узнать все остальные параметры инструмента, например через getSecurityInfo
Получение данных из Доски опционов
 
Роман,

таблица торгов обновляется раз в период, по таймауту.
таблица обезличенных сделок обновляется по мере поступления данных.
По этому в таблице обезличенных сделок данные более актуальные чем в таблице текущих торгов.
Получение данных из Доски опционов
 
Цитата
Роман написал:
Всё в одном месте и без задержек данных.  

Это не правда. Доска опционов, это банальный калькулятор, который просто что то считает и отображает данные из других таблиц.
Логично что таблица из которой доска берет данные куда лучше чем сама доска.

Цитата
Роман написал:
Или же в расширениях сделайте Окно графиков открытого интереса наподобие окна графиков волатильности (только в виде гистограмм (по Х - страйки, по Y-количество, рядом две гистограмки на страйке (колы и путы)) в разделе стратегия. Или же можно в виде линии (как улыбка волатильности) - несколько линий разных цветов (разные даты экспирации по одному базовому активу. Выбираем актив FUT - и получаем на одной диаграмме все открытые интересы по всем страйкам и датам экспирации, например.

График открытого интереса Вы можете построить уже сейчас, по данным из таблицы текущих торгов.
Вам же, на сколько становится понятно хочется видеть график по данным из таблицы обезличенных сделок.
Через LUA Вы можете построить его уже сейчас используя LUA индикаторы.
в all_trades это параметр open_interest см документацию.

Другой момент в том что штатными средствами терминала QUIK построить график открытого интереса по таблице обезличенных сделок нельзя.
И на это мы можем зарегистрировать пожелание.
Получение данных из Доски опционов
 
Роман,
Чем поможет доска опционов для решения задачи построения открытого интереса на графике?
Снятие стопов после закрытия сделки., Снятие стопов после закрытия сделки.
 
Vasiliy,
Пример работы с функцией getItem есть в документации, глава "Функции для обращения к строкам произвольных таблиц QUIK"
Базовый актив
 
Цитата
Константин Рейм написал:
А можно по фьючерсу акцию определить?

также по параметру OPTIONBASE

Цитата
Константин Рейм написал:
Робот запоминает свое место в пространстве монитора, а вкладку на которой он открыт может запомнить, чтобы при отключении терминала бот открывал таблицу на той вкладке где был запущен первоначально?
такой возможности не предусмотрено
Робот не работает на графике с Аллигатором
 
Нужно переписать робота так чтобы он корректно обрабатывал ситуацию.
Снятие стопов после закрытия сделки., Снятие стопов после закрытия сделки.
 
Цитата
Vasiliy написал:
А как его получить этот номер с сервера в код?

например через функцию getItem
Снятие стопов после закрытия сделки., Снятие стопов после закрытия сделки.
 
Цитата
Vasiliy написал:
Спасибо. А если у меня на одном инструменте только одна стоп заявка все равно нужно прописывать ее номер?
Да.

Цитата
Vasiliy написал:
Если да, то откуда брать этот номер?
Из таблицы стоп заявок.

Цитата
Vasiliy написал:
Или его нужно самому присваивать, где и как?
Номер присваивает сервер, после того как Вы выставите стоп заявку
Снятие стопов после закрытия сделки., Снятие стопов после закрытия сделки.
 
Цитата
Vasiliy написал:
Подходит ли для этого функция KILL_STOP_ORDER?
Это команда на снятие стоп заявки. Вам же нужно снять стоп заявку? Тогда она подходит.

Цитата
Vasiliy написал:
Что прописывать в атрибутах функции "номер ордера"?
номер стоп заявки которую хотите снять.
Цитата
Vasiliy написал:
Нужно ли писать цикл проверки?
Не понятно о чем речь.
Если хотите проверять статус стоп заявки это Ваше право, проверяйте.
Цитата
Vasiliy написал:
Если можно скиньте пример, буду очень благодарен.
Можно воспользоваться поиском на форуме
например тут
https://forum.quik.ru/messages/forum10/message9212/topic996/#message9212
Получение данных из Доски опционов
 
Здравствуйте,
Функций не появилось
Якорь в таблицах созданных из LUA
 
Здравствуйте,
такой возможности не предусмотрено
Проблемы с TRANS2QUIK_SEND_SYNC_TRANSACTION, Возвращается TRANS2QUIK_SUCCESS, а значение тикета в pdOrderNum равно нулю
 
GrigoriyA,
ответ уже был дан выше
Функция выставления тейк профита, Ошибка в выставлении профита
 
Виталий,
У Вас в коде в цикле "for i=1,#index do" снимаются все активные стопы.
Видимо функция ProfitControl вызывается несколько раз, от этого предыдущий стоп и снимается.
либо не запускайте функцию по нескольку раз, либо предусмотрите в указанном цикле условия при которых стоп не должен сниматься.
Проблемы с TRANS2QUIK_SEND_SYNC_TRANSACTION, Возвращается TRANS2QUIK_SUCCESS, а значение тикета в pdOrderNum равно нулю
 
Цитата
Сергей написал:
Функция TRANS2QUIK_SEND_SYNC_TRANSACTION возвращает TRANS2QUIK_SUCCESS, а значение тикета в pdOrderNum равно нулю, заявки нет в терминале QUIK. Это случается не для каждого запуска функции. Происходит на Демо-счете Финама. В каком направлении двигаться дальше)?

Успешность отправки транзакции не гарантирует регистрацию заявки.
Например если биржа по каким-то причинам отвергла регистрацию. Транзакция дошла до биржи? Да дошла. Значит и статус у нее соответствующий.
А то что биржа отвергла регистрацию заявки это уже вопрос к бирже.
Могут быть и другие примеры ситуации, в любом случае нужно смотреть на ошибку которую вернула система.
Перенос лимитной заявки, Перенос лимитной заявки на фондовой секции!?
 
Цитата
Виктор Волков написал:
Ещё раз повторю вопрос- почему разработчик за много лет не сделает возможность автоматического переноса не исполненной лимитной заявки на споте как это делается на срочке!?
Еще раз повторим ответ, потому что такого функционала нет на бирже.

В QUIK всё уже давно сделано в алго модуле, но он платный
getItem vs SearchItems, (скорость получения выборки)
 
QApplication,
SearchItems быстрее.
На сколько именно, к сожалению затруднимся сказать т.к. число не постоянно и зависит от многих факторов.
Вы можете проверить это самостоятельно на Вашей конфигурации.
как узнать идентификатор таблицы
 
Здравствуйте,
идентификатор вернет функция AllocTable

t_id = AllocTable()
AddColumn (t_id , 1, "test", is_default, QTABLE_INT_TYPE, 10)
Минимальный размер видимой части у айсберга
 
Цитата
rodionos написал:
Было бы логично иметь соответствующий параметр и в самом Квике.
От куда ее транслировать? ведь в биржевом протоколе такого параметра нет.
Будет в протоколе, тогда появится и в QUIK.
Из воздуха к сожалению транслировать не умеем.
Минимальный размер видимой части у айсберга
 
rodionos,
Речь про биржевую транзакцию, в связи с чем вопрос к специалистам биржи.
На сколько нам известно в биржевом протоколе нет такого параметра.
Дробное значение balance
 
Старатель,
Да
Дробное значение balance
 
Цитата
Старатель написал:
Цитата
Sergey Gorokhov написал:
Если сервер выше 8.0 то количество требуется отображать с учетом точности инструмента, однако, на российских рынках как правило нет инструментов с дробным количеством, так что можно также умножать на 100.
Можно поподробнее?
В версии 8.1.0.30 balance отображается целым числом, зачем ещё умножать?

А никто не говорил что надо что-то умножать на версии 8.1.
речь про умножение была только про старую версию где был баг.
Дробное значение balance
 
Здравствуйте,
Цитата
Старатель написал:
В какой версии ошибка устранена?
Исправление было в 8.0

Цитата
Старатель написал:
В какой версии была добавлена ошибка?
ошибка обнаружена в 7.24

Цитата
Старатель написал:
Проблема на всех рынках?
не зависит.

Цитата
Старатель написал:
В версиях, где ошибка присутствует, чтобы получить корректное значение снятого остатка, достаточно balance умножить на 100, или размер лота, или другое значение? Или всё сложнее?
ответ зависит еще и от версии сервера.
Если сервер ниже 8.0 то да, надо просто умножить на 100.
Если сервер выше 8.0 то количество требуется отображать с учетом точности инструмента, однако, на российских рынках как правило нет инструментов с дробным количеством, так что можно также умножать на 100.
OnTrade flags - направленность сделки
 
rodionos,
добавим
NEWS in QUIK, callback on news
 
Здравствуйте,
такой возможности нет
OnTrade flags - направленность сделки
 
Цитата
rodionos написал:
подскажите, как правильно интерпретировать 5-ый и 6-ой биты таблицы trades.
Кстати, возможно это то что Вам нужно
TRADE_MAKER = 32; /**< Пассивная (сделка образована по ранее выставленной заявке). */
TRADE_TAKER = 64; /**< Активная (сделка образована по заявке выставленной для ее образования) */

Цитата
rodionos написал:
2) Был бы полезен getAllTradeByNumber по аналогии с getOrderByNumber, для быстрого получения строки с использованием индекса. Таблица all_trades большая и в отсутствие индекса поиск через SearchItems скорее всего будет медленным.
Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
OnTrade flags - направленность сделки
 
Цитата
rodionos написал:
Сергей, интересует расшифровка flags таблицы trades, то есть таблицы с моими сделками.
Она приведена в документации о которой Вы же и говорили в начале.

Цитата
rodionos написал:
Из этого флага нужно получить направленность сделки аналогично тому, как она кодируется в AllTrades.
Биржа не транслирует этой информации, следовательно и в QUIK Вы ее увидеть не сможете.

Цитата
rodionos написал:
Иначе придется искать мою сделку по идентификатору в таблице обезличенных сделок.
Другого выхода нет
callback OnParam(args) and getParamEx2(args), Тип данных параметра (param_type) отсутствует в описании QLUA.chm
 
Цитата
QApplication написал:
он у вас в документации описан как string.
К сожалению Lua не умеет лезть в документацию.
Цитата
QApplication написал:
в qlua.chm допишите, что для result = false type = 0;  и все будет понятно.
Это не всегда так. Вернее нет гарантий что это всегда так.
Цитата
QApplication написал:
насколько я понял, у вас одна структура данных для указанной функции для всех поддерживаемых рынков.
Вам понятно что на бирже нет такого параметра, как QUIK может показать то чего нет? никак, и не будет он что то придумывать просто ради того чтобы было как везде.
Набор параметров для разных рынков разный, а функция одна на все рынки.
OnTrade flags - направленность сделки
 
Цитата
rodionos написал:
По сути необходимо значение нулевого бита так как он проставлен для этой сделки в AllTrades (обезличенные сделки).

Обратите внимание что речь про обезличенные сделки.
Сделка одна. А заявки приведшие к сделке две, от двух людей, у одного на покупку у другого на продажу.
Однако в сделке мы видим какое-то направление.
В документации на этот счет сказано следующее:
Цитата
«Купля» – заключена сделка путем выставления заявки на покупку против находящейся в торговой системе котировки на продажу;
«Продажа» – сделка на продажу;
OnTrade flags - направленность сделки
 
rodionos,
Честно вопрос не понятен.
Совсем.
бит 2 показывает направление, Вы же сами сказали.
callback OnParam(args) and getParamEx2(args), Тип данных параметра (param_type) отсутствует в описании QLUA.chm
 
Цитата
QApplication написал:
или в документацию на QLUA.chm допишите тип 0 - undef
Вы не туда смотрите, Вам на result смотреть надо, если false то нет параметра, значит и характеристик параметра нет. Как уже было сказано 0 это просто значение по умолчанию. Это не значимая константа.
Страницы: Пред. 1 ... 7 8 9 10 11 12 13 14 15 16 17 ... 78 След.
Наверх