После обновления quik 10.1.2.2 ядро проца загружается на 100% - лаги
Пользователь
Сообщений: Регистрация: 08.04.2020
03.10.2023 19:51:54
Цитата
funduk написал: У Вас случайно не тёмная тема стоит? Попробуйте отключить, если да.
в курсе про тёмную тему, она всё ещё багает стоит светлая тема, возможно процик стал слабым для квика. откатил версию - полёт нормальный :)
После обновления quik 10.1.2.2 ядро проца загружается на 100% - лаги
Пользователь
Сообщений: Регистрация: 08.04.2020
02.10.2023 20:37:14
После обновления QUIK с версии 10.1.2.2 (могу ошибаться в точности версии, но переход с 10.1.3.3 до 10.3... точно) начал грузить одно из ядер процессора на 100% и терминал начал подвисать, особенно при пролистывании "разряженного стакана". Мне это видится как добавление разных функций для удобства, например более наглядная таблица ввода заявок, клиентский портфель, фильтры в таблицах и прочие визуально приятные мелочи.
В терминале на 1й вкладке открыто ~22-25 стаканов и около 44 графика и около десятка таблиц. Это много и не типично для большинства. Всё это ранее работало без подтормаживания, а теперь процессор не тянет такое количество стаканов. проц: Intel® Xeon® CPU E5-2640 v3 2.60GHz На вкладке с 2я стаканами и парой графиков - всё работает прекрасно.
Мне бы не хотелось отказываться от обновлений QUIK, пожалуйста сделайте настройку в пользу производительности в ущерб удобству, как в соседней теме человек предложил сделать стиль winXP или что то по типу этого.
С разными улучшениями терминала увеличиваются и системные требования, но многие любят квик за его практичность и прохождение стресс тестов в десятки тысяч сделок за день
Предлагаю отписать людям с похожей проблемой подтормаживания после последних обновлений, думаю я не уникальный
Звуковое оповещение на значения индикаторов.
Пользователь
Сообщений: Регистрация: 08.04.2020
30.01.2022 16:42:18
это делается с помощью скрипта луа
Оптимизация пинга и лагов. Правильный заказ данных
Пользователь
Сообщений: Регистрация: 08.04.2020
29.01.2022 00:52:49
Так же вопрос по открытым стаканам. например один открытый стакан равен всем заказанным параметрам по фьючерсам? размыто, но думаю смысл донёс :)
Оптимизация пинга и лагов. Правильный заказ данных
Пользователь
Сообщений: Регистрация: 08.04.2020
29.01.2022 00:49:32
Есть ли какая то разница в заказе данных: "Дата исполнения инструмента" и например "лучшая цена предложения". По логике дата исполнения не меняется в течении дня и должна делать меньшую нагрузку на трафик/лаги чем лучший бид или лучший аск, которые постоянно меняются.Этот вопрос при учёте что все параметры заказываются раз в минуту для избегания нагрузки. Или же заказ каждого параметра по отдельности грузит систему одинаково? количество сделок за сегодня - время последней сделки - биржевой статус сесии это всё одинаково использует трафик? Интересуюсь с целью оптимизации квика, чтобы потом не создавать темы про зависания и лаги квика
Перестал работать SERVERTIME. не могу понять в чём проблема
Пользователь
Сообщений: Регистрация: 08.04.2020
10.12.2021 09:19:47
уточню: данный скрипт на событие по времени сервера quik. скрипт зацикливается если например указать на 5-6 часов больше, если меньше 5 часов то условие срабатывает, хотя по факту время ещё не наступило может ли это как то связано с изменение формата времени в windows. сброс формата не помог, так перевод времени и часового пояса на МСК не помогло
Перестал работать SERVERTIME. не могу понять в чём проблема
Пользователь
Сообщений: Регистрация: 08.04.2020
10.12.2021 09:15:23
Скрипт работал примерно 2-3 месяца назад, потом был отложен на полку. Сейчас скрипт перестал работать, потратил примерно 6 часов, но ничего не помогло подскажите пожалуйста если ли в коде ошибка? Образец взят от самих разработчиков
Код
isRun = true
base_time = "09:07:00" -- время в которое исполнится заявка.время операционной системы
function FixTime(V)
V=tostring(V)
local Out = os.date("!*t",os.time())
local len = string.len(V)
if len > 6 then
Out.hour,Out.min,Out.sec = string.match(V,"(%d%d)%p(%d%d)%p(%d%d)")
elseif len == 6 then
Out.hour,Out.min,Out.sec = string.match(V,"(%d%d)(%d%d)(%d%d)")
elseif len == 5 then
Out.hour,Out.min,Out.sec = string.match(V,"(%d)(%d%d)(%d%d)")
end
return Out
end
function main()
while isRun do
stime = tostring(GetInfoParam("SERVERTIME"))
--stime = tostring(os.time)
message(tostring(stime))
message(tostring(base_time))
if os.time(FixTime(stime)) < os.time(FixTime(base_time)) then
elseif os.time(FixTime(stime)) >= os.time(FixTime(base_time)) then
result = 1
if result ~= 1 then
message(tostring("Транзакция не прошла проверку на стороне терминала QUIK"))
else
message(tostring("Транзакция отправлена"))
isRun = false
end
sleep(100)
end
sleep(1500)
end
message(tostring("====="))
sleep(100)
end
quik 8.13 - разряженный стакан - проблема с цветами
Пользователь
Сообщений: Регистрация: 08.04.2020
29.04.2021 20:38:34
После обновления квика до 8.13.1.16 появилась проблема: в разряженном стакане - выбираем в настройках: выделять котировки цветом 1) цвет в спреде почему то зелёный (дефолтные цвета) 2) так же за пределами видимости стакана цена и BUY и SELL перекрашены в зелёный 3) зелёный цвет сьезжает на цены продаж вообщем, баги и ошибки отображения цветов, именно при разряженном стакане мои настройки стакана: покупатели внизу, 3 столбца: покупка-цена-продажа
просьба поправить в следующих обновлениях quik
Нулевые значения PRICEMIN и PRICEMAX
Пользователь
Сообщений: Регистрация: 08.04.2020
07.07.2020 18:42:21
всё ещё не работает таблица параметров через lua
Не работает "getDepoEx" на реальном счёте. На демо - всё отлично
Пользователь
Сообщений: Регистрация: 08.04.2020
29.06.2020 15:19:59
Цитата
Sergey Gorokhov написал: , Проверьте визуально таблицу лимитов по бумагам, есть ли в ней строка с нужной бумагой и теми параметрами которые Вы передаете в функцию
Да. верно. Если не было покупок или заявок по бумаге, то возвращает nil. До этого думал что вернёт "0" по бумаге. Спасибо!
Не работает "getDepoEx" на реальном счёте. На демо - всё отлично
Пользователь
Сообщений: Регистрация: 08.04.2020
29.06.2020 14:48:18
почему то с определёнными акциями работает. например {"ALRS","CHMF","RKKE","RUSI"} - всё отлично если добавить GAZP или другие шлаки SARE KBTK - то выходит ошибка "attempt to index a nil value (global 'table_depo')"
Не работает "getDepoEx" на реальном счёте. На демо - всё отлично
Пользователь
Сообщений: Регистрация: 08.04.2020
29.06.2020 14:16:23
Здравствуйте! Подскажите в чём ошибка кода? На демо - всё работает, на реале пишет "attempt to index a nil value (global 'table_depo')" указывая на строку "code = table_depo.sec_code"
Код
firma = "MC0061900000"
kode_cl = "376622RI23KQ"
schet_depo = "L01+00000F00"
raschet_T = 2
class_code = "TQBR"
tiker = {"AFLT","GAZP","GMKN","SBERP"}
function main ()
for i = #tiker,1,-1 do
bumaga = tiker[i]
table_depo = getDepoEx (firma,kode_cl,bumaga,schet_depo,raschet_T)
code = table_depo.sec_code
message(tostring(code))
end
end
Инструмент "Линейка" не работает на горячих клавишах
Пользователь
Сообщений: Регистрация: 08.04.2020
14.06.2020 16:27:28
Со вторым вопросом разобрался. Может кому пригодится: в настройках стакана нужно убрать галочку "Применять глобальный фильтр клиентов". Так же появится отображение "своего объёма", если такие колонки выведены в стакан. По крайней мере на демо счёте так. Нет возможности проверить на реальных торгах из за выходного дня
Как настроить тикеры инструментов, Как заменить тикеры в названии Графика цены (фортс)
Пользователь
Сообщений: Регистрация: 08.04.2020
13.06.2020 20:27:31
Могу ошибаться, но думаю транслируемый сокращённый вид фьючерсов выбирает брокер и поменять его нельзя Например в финаме вид как на скрине сбера и за 4 года не менялся
Инструмент "Линейка" не работает на горячих клавишах
Пользователь
Сообщений: Регистрация: 08.04.2020
13.06.2020 20:19:57
Здравствуйте! Являюсь уверенным пользователем QUIK. Пользуюсь разными настройками и горячими клавишами
В прошлой версии QUIK 8.4. -- "Линейка" на клавишах не работала. Думал, что разрабам известна проблема и пофиксят в следующей версии 8.5.++, но проблема осталась.
Не работает "Линейка" на горячих клавишах, которая находится на панели около кнопок "увеличить/уменьшить" и "режим ввода/изменения заявки из окна диаграммы" Возможно делаю что то не так. Просьба объяснить мою ошибку или исправить данный баг
Ещё короткий вопрос, не создавая отдельную тему: Почему сейчас не получается убрать заявку правой кнопкой мыши в стакане с включённым скальперским режимом "Быстрый ввод/снятие заявки". Возможно добавили какие то отдельные настройки для этого, пробовал - не получилось
Удаление элемента из массива, который прошёл проверку
for i = #sec_code, 1, -1 do
local bumaga = sec_code
LowDnya = getParamEx (class_code, bumaga, "LOW").param_value
Last = getParamEx (class_code, bumaga, "LAST").param_value
Raznica = math.abs(LowDnya - Last)
if Raznica > 1 then
message(tostring(bumaga .. " " .. Raznica ))
table.remove(sec_code, i)
end
end
Спасибо! Этот способ сработал! Проблема решена. Всё оказалось проще, чем я думал :)
Цитата
Nikolay написал: Эту задачу можно решить разными способами.
Цитата
Anton написал: Предлагаю другой вариант: перед циклом for создайте временный пустой массив
Спасибо за советы! В будущем обязательно попробую предложенные варианты в более сложных скриптах!
Удаление элемента из массива, который прошёл проверку
Пользователь
Сообщений: Регистрация: 08.04.2020
11.04.2020 19:12:46
Здравствуйте! Не получается решить проблему с удалением элемента из массива, который прошёл проверку. Пробовал и поиск и разные способы, но ничего не помогло.
Нужно чтобы после выполнения условия "if Raznica > 1 then" выводилось сообщение и данный элемент (в моём случае в цикле это "bumaga") больше не входил в проверку и повторно не выводилось сообщение. Нужно убрать этот элемент из sec_code = { ... }, т.е. удалить конкретный элемент из массива sec_code
Понял лишь то, что после message ... нужно использовать "table.remove", что то вроде:
Код
if Raznica > 1 then
message(tostring(bumaga .. " " .. Raznica ))
table.remove (sec_code, 1)
sleep(3000)
но указать удаление конкретной акции (прошедшей проверку) в массиве не получается.
Надеюсь понятно изложил проблему. Начинающий говнокодер :) Может кто помочь советом?
Код
IsRun = true
sec_code = { "GAZAP", "LKOH", "SBER", "GMKN", "TRFM", "RAVN" }
class_code = "QJSIM"
function main()
while IsRun do
for _,bumaga in ipairs(sec_code) do
LowDnya = getParamEx (class_code, bumaga, "LOW").param_value
Last = getParamEx (class_code, bumaga, "LAST").param_value
Raznica = math.abs(LowDnya - Last)
if Raznica > 1 then
message(tostring(bumaga .. " " .. Raznica ))
sleep(3000)
end
end
end
end
function OnStop()
IsRun = false
end
Стакан котировок - Сумма лучших
Пользователь
Сообщений: Регистрация: 08.04.2020
08.04.2020 17:00:02
Подскажите пожалуйста, есть ли функция или параметр получения "суммы лучших" из стакана? Или только путём сложения всех бидов и асков? Новичок в этом деле, поиск пробовал.