Здравствуйте, Почитав форум я понял что алго-заявку можно выставлять и снимать через qlua(https://forum.quik.ru/forum10/topic3666/) Но доступа qlua к таблице алгоритмических заявок вроде как нет и не реализован. Можно ли каким то образом узнать статус алго-заявки снята она или нет? (может следить ее состояние через флаги в OnTransReply() или OnOrder()?)
Здравствуйте, Создаю айсберг заявку на фортс делаю все как тут написано https://fs.moex.com/files/21743 Допустим контракт VTBR-12.21 цена 5300 на продажу количество 300(общее), видимое количество 120, амплитуда отклонения 5. В таблице заявки либо в стакане вижу видимое количество 120контрактов, а не 120+5% отклонение, и как бы я не менял амплитуду отклонения, случайной надбавки не получается добиться в видимых контрактах. Я видимо что-то неправильно понял?
Egor Zaytsev написал: Добрый день.1. В целях унификации мы привели наименование к общему виду, так как параметр и назывался изначально.2. Такая проблема действительно была и уже исправлена в шлюзовой части срочного рынка. Обновление уже было разослано 1 октября всем брокерам.
Еще раз проясните ситуацию т.к. обычный пользователь не знает версию серверной части квика (обновлена она или нет) и у разных брокеров транслируется все по разному, видимо кто-то обновился кто-то нет. 1. Сейчас на последних обновления транслируется openintr и NUMCONTRACTS одновременно? 2. В будущем NUMCONTRACTS исчезнет?
Здравствуйте, В MOVE_ORDERS появился mode=3? По крайней мере квик этот режим принимает и не выкидывает ошибку. Он как в плазе работает? Описание от туда: Установить объемы заявок равными присланным за вычетом сведенной части заявки (не меньше 0). Если присланный объем меньше сведенной части заявки, удаляются обе заявки.
Дополните документацию квика тогда, а то там нет такого режима.
Андрей написал: На брокере открытие такое, причем на одном сервере по старому значения NUMCONTRACTS, на остальных по новому openintr, весело;)
Добрый день. Зависит от шлюзовой части срочного рынка. Видимо на другом сервере брокер еще не обновил шлюз.
Добрый день, Так получается это вы изменили имя параметра т.е. в ближайшем будущем NUMCONTRACTS совсем исчезнет у брокеров и будет только openintr? У многих брокеров вижу только NUMCONTRACTS еще. Еще STEPPRICET параметр убрали, оставили только STEPPRICE
В новом квике 8.11 не сохраняется checkbox "Получать обезличенные сделки с момента подключения", если нажать его и в этом же окне сохранить. Но сохраняется если перейти в другое окно и там нажать сохранить. (Настройки клиентского места-Программа-Получение данных-Обезличенные сделки)
Nikolay написал: А зачем перешли на lua 5.4.1? Опять библиотеки перекомпилировать, скрипты перекомпилировать. Что такого важного увидели в этом релизе, что надо было переходить. При этом, что текущий релиз 5.4.2.
Скачайте новый квик почитайте что обновили, вот ответ:
Поддержана Lua версии 5.4.1, использование которой должно устранить многие проблемы с исполнением скриптов. При этом версия 5.3.5 продолжает поддерживаться и остаётся версией по умолчанию. Ранее собранные скрипты должны быть пересобраны под новую версию LUA, то же самое касается внешних библиотек, если они используются. В основные настройки рабочего места QUIK добавлен раздел «Lua скрипты».
у меня настройка "На локальной машине" но почему в таблице Текущие торги, тогда дата погашения не очищается, потому что это справочник? почему тогда нельзя получить его значение
При подключении квика к серверу дата погашения возвращается правильно, после дисконекта от сервера тоже возвращается правильно. После выключения квика и повторного его запуска без подключения к серверу, тоже все правильно показывает. Ошибка проявилась у меня так, сделал дисконект от сервера это было около 17 часов дня, квик при этом не закрывал и в 9 часов утра следующего дня, закрыл квик и заного его запустил, без подключения к серверу. И дата погашения инструмента была 0, при этом в таблице Текущие торги дата погашения показывается по прежнему правильно. Квик версия 8.8
Здравствуйте, Мосбиржа уже почти как месяц обновила спектру и в ней появилась айсберг заявка на forts, но я не вижу тип этой заявки у своего брокера. Вопрос это брокер не включил ее или квик ее не поддерживает еще?
TGB написал: При запусках моего теста управления автоматической памятью во всех QLua версиях >= 8.5 в произвольные моменты времени, но в интервале 10 минут, возникают дампы ( все они пересланы мной в поддержку ARQU). Причем в QUIK версий < 8.5 проблем с управлением автоматической памятью QLua мной не обнаружено.
Может стоит им отправить свой тестовый стенд, быстрее дело пойдет.
_sk_ написал: Вчера опять терминал 8.6.0 упал с дампом. Дамп выслан разработчикам. Нестабильная работа, к сожалению. Когда будет новая версия -- не говорят, цикл выпуска релизов медленный, хотя ошибки критические.
Поэтому я решил, что Lua 5.3 в своих скриптах проверил, правки для восстановления работоспособности внёс, а теперь откачусь к версии 8.3, чтобы финансово не терять из-за таких внезапных падений в неподходящее время. Пусть останется один тестовый терминал с малыми торговыми объёмами, а основные объёмы пока доверять новым терминалам не буду
Даже брокеры уже официально на сайте вместо 8.5 стали опять 8.3 выдавать. Конкретный пример - БКС. Я специально звонил в тех.поддержку и официальное мнение - версия нестабильная. У меня 8.5 только в тесте крутится.
Ждем стабильной версии от разработчиков, времени осталось в обрез до 6 июля.
я так понял из самой последней новости, что релиз спектры 6.5(19 значные заявки) вообще непонятно когда будет, размытое понятие вторая половина 2020г, а 6 июля будут отрицательные цены https://www.moex.com/n28814
Если у Вас терминал падает с дампом, нам требуется получить этот самый дамп на адрес quiksupport@arqatech.com
Терминал не падает и дампа нет, ошибка в том что в OnAllTrade иногда приходит не таблица а nil, вот цитата, ошибка не критичная и решается проверкой типов данных
Юрий написал: У меня сегодня тоже упал опять, архив отправил разработчикам. Уже третье падение квика в момент подключения к серверам брокера еще до открытия торговой сессии.
Аналогичная ошибка. работает 5-7 дней супер стабильно. при подключении к серверу (перед открытием торгов) вываливается в функции OnAllTrade(t) при попытки получить t["price"]. до взятия цены отрабатывают стабильно : t["class_code"] t["sec_code"] t["datetime"] t["price"] -- говорит что такой таблицы нет(t==nil). а предыдущии данные валидные все ок. долго думал мб где напортачил а оказывается не у меня одного...
и терминал не падает. ловится ошибка и скрипт ее отрабатывает. но пришлось поставить на все данные проверки типов. :)
Юрий написал: У меня сегодня тоже упал опять, архив отправил разработчикам. Уже третье падение квика в момент подключения к серверам брокера еще до открытия торговой сессии.
Аналогичная ошибка. работает 5-7 дней супер стабильно. при подключении к серверу (перед открытием торгов) вываливается в функции OnAllTrade(t) при попытки получить t["price"]. до взятия цены отрабатывают стабильно : t["class_code"] t["sec_code"] t["datetime"] t["price"] -- говорит что такой таблицы нет(t==nil). а предыдущии данные валидные все ок. долго думал мб где напортачил а оказывается не у меня одного...
и терминал не падает. ловится ошибка и скрипт ее отрабатывает. но пришлось поставить на все данные проверки типов. :)
такую же ошибку ловил в OnAllTrade еще в квике 8.5.1 тоже решил проверкой типов данных и забил т.к. она плавающая, то она есть то нету и не поймешь в какой момент она придет
Уведомление о необходимости обновления торговых терминалов в связи с изменениями на срочном рынке Московской биржи, Список проблем при работе устаревших версий QUIK после обновления торговой системы срочного рынка МБ
Алексей Украинцев написал: коллеги, а когда собственно начнется трансляция 19-значных номеров на практике? в документации квика сейчас поле "Номер сделки DECIMAL(15,0) " ?
Сначала хотели на 8 июня 2020 года, а теперь уже перенесли на 6 июля 2020 года
Sergey Gorokhov написал: Андрей, Просьба прислать на quiksupport@arqatech.com архив всей папки с терминалом, созданный сразу после очередного падения И скриншоты из журнала событий Windows относящиеся к проблеме. В письме укажите ссылку на эту ветку форума
Если удастся повторить то пришлю.
Цитата
_sk_ написал: Спасибо за обратную связь! Похоже, что если перезагружать терминал раз в неделю, то этого уже хватит для эксплуатации с малыми рисками.
Наверное, то что я описал это было издевательство над терминалом, обычный пользователь так не переключается часто.
Тестирую квик 8.5.2, упал только один раз на седьмой день тестов. Было запущено 10 скриптов луа, в них использовались колбеки OnAllTrade OnParam OnTransReply OnTrade были подписки на графики и тики. Во время торгов все было замечательно, но заметил что при переключении(смене) сервера квика в выходные дни память скриптов иногда росла(брокер Открытие много серверов которые постоянно включены в выходные), а при начале торгов в итоге память очищалась(искал ошибку в своих скриптах). Вот переключался я так между серверами раз 20(память не увеличивалась и я забросил это дело), потом свернул квик, а как начались торги квик упал без дампа.
Просьба отписаться по возможности: всё ли хорошо, или есть проблемы/сложности. Заранее спасибо.
2 дня тестирую квик 8.5 пока не разу квик не упал. Но заметил одну неприятность при запуске квика появляется окно "Что нового в квике 8.5" там есть галка чтобы не показывать окно заного, так вот она не работает, это окно появляется всегда. При этом настройки окон и все остальное сохраняется. ОС windows 10, также запускал от имени администратора все равно окно появляется.
Аналогично квик 8.5 падает без дампа проработав 2-3 дня, луа скрипты были запущены, квик с Вашего фтп не имеет смысла его присылать т.к. он чистый и не от брокера. Действий никаких не совершалось в свернутом состоянии он находился. В скрипте все было в функциях pcall, но и там логов никаких не осталось просто грохнулся.
Александр М написал: Данная ошибка будет исправлена ДО июня, когда все обязаны перейти на 8.5? Сейчас 8.5 пользоваться нельзя, QUIK падает через 1-2 дня просто на ровном месте без дампа.
Причем в скриптах CreateDataSource вообще не используется, т.е. все значения берутся напрямую с графиков. Скрипт отработан на 7 и 8-х версиях и работает там без ошибок месяцами (естественно он исправлен под синтаксис 5.3), никаких внешних библиотек не используется в принципе.
У меня тоже квик упал через три дня тестов без дампа, пытался найти почему. Но теперь уже не буду спасибо за сообщение.
Действительно есть ошибка работы SetUpdateCallback приводящая к остановке работы garbage collector. Что в свою очередь приводит к повышенному потреблению RAM.
Мы исправим ошибку в ближайшем обновлении ПО.
Приносим извинения за доставленные неудобства.
Будем надеяться хотя бы в этом году это произойдет;)
Пример получения данных из blackterminal, если положить библиотеки из архива по ссылке выше в папку со скриптом, то все должно работать
Код
package.cpath = getScriptPath () .. "\\systree\\lib\\lua\\5.1\\?.dll;" .. package.cpath
package.path = getScriptPath () .. "\\systree\\share\\lua\\5.1\\?.lua;" .. package.path
--package.cpath = "C:\\Lua\\luarocks\\systree\\lib\\lua\\5.1\\?.dll;" .. package.cpath
--package.path = "C:\\Lua\\luarocks\\systree\\share\\lua\\5.1\\?.lua;" .. package.path
local https = require ( "ssl.https" )
PrintDbgStr ( "Start: [" .. getScriptPath () .. "]" )
is_run = false
function OnInit ()
is_run = true
end
function main ()
local request_body = "{ \" getemlist \" : \" flag \" , \" key \" : \" TEST \" }"
local response_body = {}
local res, code, headers, status = https.request{
url = "https://blackterminal.ru/api/0.0.8" ,
method = "POST" ,
headers =
{
[ "Content-Type" ] = "application/json; charset=utf-8" ;
[ "Content-Length" ] = string.len (request_body);
},
source = ltn12. source.string (request_body),
sink = ltn12. sink.table (response_body),
}
PrintDbgStr ( "res: " .. tostring(res))
PrintDbgStr ( "code: " .. tostring(code))
PrintDbgStr ( "headers: " .. tostring(headers))
PrintDbgStr ( "status: " .. tostring(status))
PrintDbgStr ( "body: " .. tostring( table.concat (response_body)))
end
function OnStop ()
is_run = false
end
function On Close ()
is_run = false
end
С вашими архивами и вашим примером выдает ошибку "error loading module 'ssl.core' from file 'C:\Lua\systree\lib\lua\5.1\ssl.dll': Не найден указанный модуль" Путь правильный... В чем может быть проблема? Ткните носом плиз)))
ниже приведен код когда память не растет(заменен SetUpdateCallback на SetEmptyCallback)
Код
function OnStop()
is_run = false
end
function main()
collectgarbage ("setpause",0)
collectgarbage ("setstepmul",600)
class="SPBFUT"
name="SiM0"
ds_chan=CreateDataSource(class, name, INTERVAL_M1)
ds_chan:SetEmptyCallback()
is_run=true
while is_run do
local t = ""
local a = tostring(getInfoParam("SERVERTIME"))
for s in a:gmatch('%d+') do
t=t..s
end
--sleep(15)
end
ds_chan:Close()
end
В итоге когда квик 8.5 с запущенным данным скриптом выедает полностью всю память, память очищается, и сново начинает заполнятся, затем на второй и третий раз полного заполнения памяти квик падает без дампа. Можно использовать sleep(15) тогда просто память медленнее растет. В 7 квике такого сильного роста памяти нет.
если запустить этот код то память постоянно ростет, смотрю по диспетчеру задач виндовс. Если заменить SetUpdateCallback на SetEmptyCallback то память в диспетчере задач не ростет. Сборщик мусора не помогает. Возможно не очищается переменная t
1. При аварийном завершении работы скрипта не удаляется окно(таблица AllocTable()) которое было создано в квике
2. Не освобождается память по коду ниже, при использовании SetEmptyCallback очищается нормально
Код
function OnCandle(index)
end
function OnStop()
is_run = false
end
function main()
collectgarbage ("setpause",50)
collectgarbage ("setstepmul",300)
class="SPBFUT"
name="SiM0"
ds_chan=CreateDataSource(class, name, INTERVAL_M1)
ds_chan:SetUpdateCallback(OnCandle)
is_run=true
while is_run do
local t = ""
local a = tostring(getInfoParam("SERVERTIME"))
for s in a:gmatch('%d+') do
t=t..s
end
--sleep(15)
end
ds_chan:Close()
end