Юрий С написал: В чем причина не реализации данного пожелания аж с 2016 года ?
Можем только сообщить что отказа в реализации не было. Значит когда-нибудь оно будет реализовано.
Цитата
Юрий С написал: Тем более, что реализация данного пожелания достаточно элементарна и не затрагивает ни коим образом ни функциональность Квика, ни его быстродействие и вообще не несет ни какой дополнительной нагрузки на систему .
Простота реализации не является критерием для принятия решения о реализации.
автоматический запуск скрипта, автозапуск
Пользователь
Сообщений: Регистрация: 23.01.2015
19.02.2020 10:59:10
Юрий С, Возможно речь о том что было зарегистрировано пожелание на доработку. рекомендуем ознакомиться с регламентом рассмотрения пожеланий:
Мышь окочурилась :)
Пользователь
Сообщений: Регистрация: 23.01.2015
19.02.2020 10:46:10
Цитата
Kolossi написал: Да, приношу извинения за свою опечатку. Проблемы изначально с QTABLE_RBUTTONDBLCLK
Все равно не воспроизводится:
Может дело в условии "par1==1 and par2==2"?
Мышь окочурилась :)
Пользователь
Сообщений: Регистрация: 23.01.2015
18.02.2020 16:26:05
Kolossi, Вынуждены сделать предупреждение, старайтесь избегать некультурных фраз в диалоге.
ранее Вы говорили дословно что проблема с QTABLE_LBUTTONDBLCLK Цитата Ваших слов:
Цитата
Kolossi написал: Только теперь при двойном клике по ячейке данных функция MouseClick(...) перестала возвращать QTABLE_LBUTTONDBLCLK.
теперь говорите что проблема с QTABLE_RBUTTONDBLCLK
Цитата
Kolossi написал: При двойном клике правой клавишей выходит меню:
т.е. правильно понимаем что изначально проблемы с QTABLE_LBUTTONDBLCLK не было?
Добавить функцию getServerTime()
Пользователь
Сообщений: Регистрация: 23.01.2015
18.02.2020 12:17:01
Цитата
Сергей Привалов написал: но никак не могу понять как мне узнать с хорошей точностью когда это произошло, нужно время сервера, а не моё локальное ?
Никак, пожелание о котором идет речь еще не реализовано, а это означает что функционала нет. раз нет функционала то никак задачу не решить Ищите альтернативные пути, ранее пару постов выше например предлагалось использовать локальное время.
Мышь окочурилась :)
Пользователь
Сообщений: Регистрация: 23.01.2015
18.02.2020 12:11:45
Цитата
Kolossi написал: Великолепно! Только теперь при двойном клике по ячейке данных функция MouseClick(...) перестала возвращать QTABLE_LBUTTONDBLCLK.
У нас на версии 8.3.2 проблема не воспроизводится. Приведите пример кода на котором воспроизводится проблема. И уточните какая именно у Вас версия.
автоматический запуск скрипта, автозапуск
Пользователь
Сообщений: Регистрация: 23.01.2015
18.02.2020 11:54:12
Юрий С, В текущей реализации такой возможности не предусмотрено.
Таблица не обновляется
Пользователь
Сообщений: Регистрация: 23.01.2015
17.02.2020 12:40:11
Здравствуйте, Согласно документации:
Цитата
Для столбцов со строковыми типами данных параметр «value» не задается.
А он у Вас указан в функции QTable:SetValue
Следует понимать что пример приведенный в документации является именно примером одной из возможных реализаций функций. никто Вас не принуждает слепо использовать именно его, так как это пример, не более. Если Вам нужно вставлять строковые данные, тогда перепишите пример под свои нужды так чтобы для строковых данных, в SetCell параметр «value» не задавался. Либо напишите свои функции. либо не пишите и используйте те что в документации, а не в примерах. на Ваш выбор.
Загрузка скриптов в QUIK, Загрузка таблиц скриптов LUA в QUIK
Пользователь
Сообщений: Регистрация: 23.01.2015
17.02.2020 10:32:12
Здравствуйте, В QLUA нет возможности указать вкладку для таблицы. Размер и положение, можно запомнить в каком либо текстовом файле. Получить данные можно функцией GetTableSize, потом сохраняете их в файл. В init или в main, считываете цифры из файла и устанавливаете размер и положение на таблицу, через функцию SetWindowPos
Дмитрий написал: Каким либо ещё образом можно выполнить эту транзакцию из скрипта qpile?
например снять старую заявку и выставить новую.
Сделка по точному времени сервера
Пользователь
Сообщений: Регистрация: 23.01.2015
28.01.2020 11:14:41
Цитата
Александр написал: До этого момента os.time(FixTime(stime)) >= os.time(FixTime(base_time)) всегда верное значение выдает.
Добавьте в код логирование и посмотрите что с чем сравнивается.
выход из позиции, закрытие позиции
Пользователь
Сообщений: Регистрация: 23.01.2015
27.01.2020 05:46:14
Цитата
Aleksandr написал: OnFuturesClientHolding вызывается терминалом QUIK при изменении позиции по срочному рынку. Мне же нужно позицию самостоятельно изменить, поэтому не подходит.
Вопрос тут не к коду, а к пониманию того что Вам нужно. На сколько становится понятно, Вы хотите применить код по факту совершении сделки. Если так то при этом срабатывает OnOrder, OnTrade и OnFuturesClientHolding. Если Вам нужно применить код не в момент совершения сделки, а в другой, тогда потесните, какой момент Вам нужен.
Снятие всех заявок
Пользователь
Сообщений: Регистрация: 23.01.2015
27.01.2020 05:36:00
Цитата
Александр М написал: В терминале есть ограничение на число транзакций на снятие в секунду?
В терминале нет. И даже на сервере нет. А вот на бирже есть. Легко можно попасть на флуд контроль.
Цитата
Александр М написал: Я могу в цикле запулить 500 транзакций через sendTransaction(Transaction), если мне надо снять 500 заявок? Если нет, то как мне гарантированно это сделать?
Вы можете в цикле делать что угодно, вопрос с какой скоростью оно обработается дальше.
Снятие всех заявок
Пользователь
Сообщений: Регистрация: 23.01.2015
24.01.2020 13:43:50
Цитата
Александр М написал: Вы не ответили. Тип "KILL_ALL_FUTURES_ORDERS" работает в Lua? Если да, то почему фьючерсы я могу снять 1 командой, а акции нет?
KILL_ALL_FUTURES_ORDERS работает по акциям не работает. связано это с исторически сложившимися (еще со времен QPILE) архитектруными особенностями. Изменить это нельзя.
Сами по себе транзакции ALLL Выполняются НЕ сервером QUIK, а непосредственно терминалом QUIK. Терминал просто в цикле перебирает заявки и снимает те которые удовлетворяют заданным условиям. В коде Вы легко можете сделать то же самое.
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
24.01.2020 10:26:47
Цитата
Борис написал: Правильно ли я понимаю, что в ТВС появляются, наряду с реальными сделками, происходящими на СПБ, также фиктивные сделки (с количеством 1), отражающие "международные рынки"?И что эти фиктивные сделки ничем не отличаются от настоящих?
Вы можете уточнить это у биржи, поток CurrentPriceOfMarket является биржевым, нам честно не известно как биржа его формирует, мы просто его транслируем.
выход из позиции, закрытие позиции
Пользователь
Сообщений: Регистрация: 23.01.2015
24.01.2020 10:17:43
Цитата
Aleksandr написал: На какой callBack повесить код?
Возможно на OnFuturesClientHolding?
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
24.01.2020 05:44:48
Цитата
Борис написал: Как маркируются эти "данные мировых рынков"? Особыми классами бумаг?
Речь про биржу СПБ, следовательно и смотреть надо классы биржи СПБ, например "SPB: Акции"
Цитата
Борис написал: Как узнать, по каким бумагам есть соответствующие "данные мировых рынков"?
Если данные едут значит они есть.
Цитата
Борис написал: С какой периодичностью (или по каким иным принципам) они транслируются?
Вопрос не понятен. Есть торги значит транслируются, нет торгов значит не транслируются. А разве бывает по другому?
Цитата
Борис написал: Соответствует ли CurrentPriceOfMarket какому-либо отдельному объекту в Квике или это просто обозначение категории транслируемых данных?
Как уже было сказано и еще раз повторим:
Цитата
Sergey Gorokhov написал: Кроме того по рынку СПБ был выполнен переход на новую технологию трансляции обезличенных сделок из потока CurrentPriceOfMarket
Вам понятно из сказанного что в QUIK речь про таблицу обезличенных сделок?
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
23.01.2020 14:23:55
Цитата
Sergey Gorokhov написал: Там ведь бессмысленно указывать количество?
Возможно речь про количество которое транслируется в обезличенных сделках? Если так, то при трансляции их из CurrentPriceOfMarket в количестве всегда указано "1"
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
23.01.2020 14:16:53
Цитата
Борис написал: То есть стоп-заявка превращается в обычную, когда "мировая" цена пересекает заданный уровень?А потом эта активированная заявка исполняется, при наличии контрагента по заданной цене исполнения, уже на СПБ?
Да, верно.
Цитата
Борис написал: Как выглядят эти "мировые" данные в ТВС? Там ведь бессмысленно указывать количество?
Вопрос не понятен. Вы же сами можете открыть таблицу и посмотреть как она выглядит.
Цитата
Борис написал: И откуда они берутся -- с какой-то одной биржи (например, NYSE) или как-то иначе?
Данные транслирует биржа, Вы можете спросить у биржи.
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
23.01.2020 11:08:21
Борис, В первую очередь это полезно для корректного срабатывания стоп заявок. На самой бирже СПБ довольно мало сделок. А на мировых биржах их много. В результате если раньше пользователь выставлял стоп заявку она могла не сыграть при движении мировых рынков (ранее это был график индикативной котировки) т.к. на СПБ просто небыло сделок с такой ценой. Теперь, благодаря тому что мы изменили трансляцию обезличенных сделок, стоп заявки будут срабатывать по графикам мировых рынков.
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
В том что раньше ТВС содержала только сделки совершенные исключительно на бирже СПБ А теперь содержит данные мировых рынков. Если Вам не нужны рынки СБП Вы можете попросить брокера отключить соответствующие классы.
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
23.01.2020 05:55:15
alltrade.dat это таблица обезличенных сделок
файл мог стать больше по разным причинам. например в какой то из версий в обезличенные сделки был добавлен параметр "Открытый интерес", время с точностью до мск. и некоторых других. Даже если эти параметры у Вас не добавлены в таблицу они все равно скачиваются с сервера. Кроме того по рынку СПБ был выполнен переход на новую технологию трансляции обезличенных сделок из потока CurrentPriceOfMarket, который в разы более информативен и как следствие увеличивает количество данных.
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
22.01.2020 06:48:03
Борис, С версии 6 на 7 много чего поменялось Уточните конкретней о каких файлах идет речь?
У Вас функция FixTime не правильная. При указании "9:50" Вы отправляете строку размером 4 символа, а в функции у Вас проверка для строки 5, 6 и больше 6 символов. Если же указать "09:50" - 5 символов, то функция string.match не сможет корректно обработать строку т.к. в ней требуются параметры с секундами, т.е. "09:50:00"
либо переделайте функцию, либо указывайте время правильно.
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
21.01.2020 12:32:22
Цитата
Борис написал: Я сейчас использую QUIK версии 6. Будет ли он совместим с TRANS2QUIK версии 1.3?
Согласно сайту:
написано следующее:
Цитата
API импорта транзакций 1.3 x64 (для версии Рабочего места QUIK 7.0 и выше)zip, 184.4 КБ
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
21.01.2020 12:21:51
Цитата
Борис написал: Так я как раз хочу после перехода на x64 продолжить использовать версию 1.2, которая уже есть в проекте.
Версия 1.2 является 32х разрядной ее не получится использовать в х64 проекте. Если хотите х64 проект Вы вынуждены перейти на х64 версию библиотеки, а это 1.3
Цитата
Борис написал: Проблемы начались, когда я перекомпилировал проект под x64.
Просто перекомпилировать проект недостаточно, см выше. Если не получается, значит что то делаете не так, компилятор какую ошибку выдает?
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
21.01.2020 12:15:24
Борис, недостаточно просто заменить dll в проекте. Потребуется перекомпилировать проект под х64, при этом понадобится актуализировать заголовочный файл с функциями trans2quik_api.h
Как определить Код класса (CLASSCODE) по коду инструмента (SECCODE)?
Пользователь
Сообщений: Регистрация: 23.01.2015
21.01.2020 10:16:25
Цитата
Андрей написал: В таблице QUIK depo_limits согласно документации QLUA по инструменту представлен только "код инструмента" sec_code. Как мне проще и быстрее вычислить "код класса" для инструмента, представленного в таблице лимитов по бумагам depo_limits? Код класса требуется, например, для вызова функции getSecurityInfo.
Один инструмент может торговаться в нескольких классах. getSecurityInfo при отсутствии кода класса, вернет параметры инструмента из первого попавшегося класса, но не факт что нужного. В связи с чем, правильно самому указывать нужный класс
TRANS2QUIK -- Переход на x64, Можно ли в x64-программе использовать TRANS2QUIK v.1.2
Пользователь
Сообщений: Регистрация: 23.01.2015
21.01.2020 06:09:37
Цитата
Борис написал: Я бы предпочёл продолжить использование TRANS2QUIK версии 1.2.
версия 1.2 совместима с последними версиями рабочего места QUIK.
Цитата
Борис написал: После перехода проекта на 64-битную разрядность линкер перестал видеть все функции TRANS2QUIK.dll (выдаёт "unresolved external").
на чем пишите?
Небольшая ошибка в меню редактирования настроек графиков
Пользователь
Сообщений: Регистрация: 23.01.2015
21.01.2020 05:46:36
Здравствуйте, Обновите терминал до более свежей версии. Сейчас актуальная версия 8.3.2
Сделка по точному времени сервера
Пользователь
Сообщений: Регистрация: 23.01.2015
20.01.2020 13:47:33
Цитата
Александр написал: но где-то от моего взора прячется ошибка
Опишите симптомы
Индикаторы в QUIK
Пользователь
Сообщений: Регистрация: 23.01.2015
14.01.2020 05:39:05
Vasiliy, Ключевое слово здесь "встроенные". Вы не увидите коды "встроенных" индикаторов, просто потому что они встроены в код.
table.ssort, зависает терминал при выполнении table.ssort в main
Сергей Запольских написал: ds:Size() содержить уже кол-во свечей за указанный промежуток времени.
В функции CreateDataSource Вы указываете НЕ "промежуток времени", Вы указываете интервал (таймфрейм) графика. INTERVAL_D1 - означает дневной интервал. Т.е. Вы заказываете кучу дневных свечек, а не свечки за 1 день как Вам кажется
Цитата
Сергей Запольских написал: Если это не так, то как реализовать скрипт чтобы он выдавал кол-во свечей за указанный промежуток времени?
Вы это сами написали: local current_candle = ds:Size() local max_candles = math.min(1000, ds:Size()) ... while current_candle > ds:Size() - max_candles do
max_candles получается равным 1000. т.е. в цикле Вы и перебираете последние 1000 свечек.
Ваш текущий код по русски звучит так: "взять последние 1000 свечек дневного графика и пробежаться по ним"
а зачем вообще потребовалось пробегаться по всему графику? если Вам надо выяснить мин макс за день, то не проще с дневного графика, со свечки текущего дня вытащить hight и low? ds:H(ds:Size()) ds:L(ds:Size())
нет не должен, от куда такая инфомрация? Вы в коде, на дневном интервале просматриваете свечки за последние 1000 дней, и в этом периоде был минимум ~82. почему Вы считаете что за последние 1000 дней не было такого минимума?
OnTransReply() всё время приходит информация о транзакции с одним и тем же trans_id=2147483647
Пользователь
Сообщений: Регистрация: 23.01.2015
25.12.2019 13:29:24
в документации сказано
Цитата
Уникальный идентификационный номер заявки, значение от «1» до «2 147 483 647»
у Вас ['TRANS_ID'] = 2512051601, что явно больше чем "2147483647"
Перестают работать события SetTableNotificationCallback
Пользователь
Сообщений: Регистрация: 23.01.2015
25.12.2019 08:44:01
Старатель, проблема изучается. Постараемся в ближайшее время дать ответ.
недокументированные события QTABLE при нажатии мышки
Пользователь
Сообщений: Регистрация: 23.01.2015
24.12.2019 12:49:12
Старатель, Ваше пожелание зарегистрировано. Мы постараемся рассмотреть его и сообщить Вам результаты анализа. Впоследствии, по результатам анализа, будет приниматься решение о реализации пожелания в будущих версиях ПО.
Как расчитать объем?, Чтобы при срабатывании стопа убыток был какой мне надо.
Пользователь
Сообщений: Регистрация: 23.01.2015
20.12.2019 05:37:22
Здравствуйте, объем можно посчитать по формулам приведенным в документации: -Раздел 5. Торговые операции клиента --Ввод заявки --Окно «Ввод заявки»
Цитата
для акций: «Объем» = «Цена» * «Количество» * «Размер лота»,
результат округляется в большую сторону с точностью до двух знаков,
Дмитрий написал: Подскажите, а как подобное сделать, если в индикаторе несколько линий ?
в луа одна функция может вернуть несколько значений.
проверьте
m, h, l = funcPC(тут остальное
19-значные номера заявок и сделок на MOEX
Пользователь
Сообщений: Регистрация: 23.01.2015
17.12.2019 13:24:51
Цитата
Vladimir написал: Не имеете право разглашать, до выхода какого релиза? Квика нового или имеется ввиду обновления Spectra ?
До выхода терминала QUIK который будет приурочен к обновлению Spectra с 19ти значными номерами. Биржа говорит что это произойдет не раньше февраля 2020 г.
недокументированные события QTABLE при нажатии мышки
Пользователь
Сообщений: Регистрация: 23.01.2015
09.12.2019 06:53:53
Цитата
Анатолий написал: Прошло 3 года. QTABLE_NEED_REFILL и QTABLE_CONTEXTMENU в документации не появились.
Да верно, пока не появились.
пожелание - сделать кнопки в панели управления для LUA скриптов, или хотя бы горячие клавиши
Пользователь
Сообщений: Регистрация: 23.01.2015
09.12.2019 06:07:12
Цитата
Denis написал: Lua окну даже нельзя назначить горячую клавишу.
Некоторые вопросы с горячими клавишами уже решаются через SetTableNotificationCallback