Уменьшаю время локальной загрузки QUIK до нуля.- Это просто.
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2026 11:57:02
режим гибернации особо полезен для устройств с батарейным питанием(ноутбука и планшета).
Уменьшаю время локальной загрузки QUIK до нуля.- Это просто.
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2026 11:49:00
Преамбула: Раньше неоднократно пытался перейти на новые версии терминала, но получение тормозов при старте, и не только, терминала возвращало меня на версию 8.7 ----------------- Неделю назад Сбербанк без объявления перевел своих клиентов на единый брокерский счет, что привело к необходимости установить версию 12 без вариантов. --------------- В конечном итоге пришлось установить версию 12.8.3.4 из установочного пакета разработчиков, так как Сбербанк пока предлагает более глючную версию 12.6 ------------------ Сегодня на хабре написал статью, в которой привел высказывание автора Claude Code: «Мы начинаем видеть мир, в котором клиент жалуется на что-то, а проблема решается за считанные минуты, — сказал он. ------------------- Надеюсь, что когда-то и разработчики QUIK достигнут это. ------------------- Но пока актуальным является высказывание Остапа Бендера:"Спасение утопающих - дело рук самих утопающих" ----------------------- Поэтому, познав все прелести 6-8 минутной загрузки терминала был вынужден решать эту проблему самостоятельно. -------------- Решение: Свои результаты и рекомендации размещаю на этом форуме. Я никого не заставляю делать так, как делаю сам. Я лишь рассказываю что и как делаю и что из этого получилось. ================ В результате исследований мне удалось уменьшить время загрузки с 240...320 сек до 110 секунд. Из этих 110 секунд 70 секунд тратится на локальную загрузку терминала. Для тех, кто не читал мой пост по этой проблеме, поясняю: ---------------- Процесс старта терминала QUIK условно разделяю на три этапа 1) загрузка терминала на основе сохраненной на ПК информации до подключения к серверу брокера 2) ввод логина и пароля и подключение к серверу 3) ввод кода со смартфона для двухфакторной аутентификации и получения текущей информации с сервера. ====================== В этой теме рассказываю как сделал время первого этапа равным нулю. -------------------------------- Это можно сделать, если есть свободное место на жестком диске в размере объема памяти на ПК. Для этого включаю на ПК либо гибридный режим сна, либо режим Гибернации. Предпочитаю Гибернацию. Режим гибридного сна отличается от режима сна тем, что образ памяти сохраняется на диске и это позволяет восстановить состояние ПК при выходе из сна после отключения сетевого питания. ----------------- Режим Гибернации отличается от режима сна тем, что ПК полностью выключается, как обычно. Но перед выключением ОС запишет на диск образ памяти и загрузит его при включении. -------------------- Это не только исключает локальную загрузку QUIK, но и сокращает загрузку Windows. ============= При этом последовательность действий такая. Надо не закрывать QUIK, а лишь разорвать соединение с сервером. Перевести ПК в режим Гибернации. --------------------- После включения получаю состояние ПК в момент выключения и перехожу ко 2-ому этапу загрузки терминала QUIK.
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2026 08:54:41
На данный момент я завершил исследования способов сокращения времени и занимаемой памяти при старте терминала. Сделал вывод разных инструментов в разные окна. Но этот вопрос полагаю пока требует исследований, так как совмещение инструментов во втором окне не дает эффекта замедления загрузки как совмещение их ранее. ===================== Вот мое текущее решение и результаты его применения: ------------------ 1) применяю свой bat файл. Отличие этого способа от рекомендуемого разработчикам в том, что он сначала удаляет ненужные файлы, а потом загружает терминал. Решение разработчиков удаляет файл после загрузки терминала. ----------- решение с bat файлом позволяет легко добавить удаление лишних файлов при реализации скриптов ботов. Что применять дело вкуса , не принципиально. ================ 2) В настройках терминала установил очищать при смене даты на локальном компьютере ================ Результат: Время выполнения первого этапа загрузки 70 секунд. Объем занятой памяти 550 Мбайт Время выполнение третьего этапа загрузки 40 секунд. Объем занятой памяти 790 Мбайт ----------------------------- В процессе работы вчера объем занимаемой памяти уменьшался до 46 Мбайт и не превышал 330 Мбайт
Уменьшить объем памяти и время старта QUIK-это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
21.02.2026 08:43:59
На данный момент я завершил исследования способов сокращения времени и занимаемой памяти при старте терминала. Сделал вывод разных инструментов в разные окна. Но этот вопрос полагаю пока требует исследований, так как совмещение инструментов во втором окне не дает эффекта замедления загрузки как совмещение их ранее. ===================== Вот мое текущее решение и результаты его применения: ------------------ 1) применяю свой bat файл. Отличие этого способа от рекомендуемого разработчикам в том, что он сначала удаляет ненужные файлы, а потом загружает терминал. Решение разработчиков удаляет файл после загрузки терминала. ----------- решение с bat файлом позволяет легко добавить удаление лишних файлов при реализации скриптов ботов. Что применять дело вкуса , не принципиально. ================ 2) В настройках терминала установил очищать при смене даты на локальном компьютере ================ Результат: Время выполнения первого этапа загрузки 70 секунд. Объем занятой памяти 550 Мбайт Время выполнение третьего этапа загрузки 40 секунд. Объем занятой памяти 790 Мбайт ----------------------------- В процессе работы вчера объем занимаемой памяти уменьшался до 46 Мбайт и не превышал 330 Мбайт
Если бы я был архитектором QUIK, Что стоило бы изменить в QUIK по-крупному
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 14:23:41
Цитата
Йцукен написал: , можете написать прсевдокод, как по-вашему, использовать очередь событий?
Вы не читаете форум. Я специально выложил для начинающих писателей не псевдокод, а скрипт на Lua с очередью. Да и в документации на QLua есть еще один пример. -------------------- Ах, ошибся, Вы же не писатель, Вы же ПОЭТ.
Если бы я был архитектором QUIK, Что стоило бы изменить в QUIK по-крупному
В любой теме, где есть обсуждение, Он уже оставил свой след. Не вникая в суть предложения, Он вещает свой «важный» бред.
Прекрасно, Наконец-то вы занялись самокритикой. Сами сочинили или опять плагиат?
Если бы я был архитектором QUIK, Что стоило бы изменить в QUIK по-крупному
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 13:44:29
все что делается внутри sleep - это передается ядру время на которое надо остановить поток. Ядро настраивает таймер на событие -разбудить поток через надцать секунд и передает управление следующему в очереди потоку.
Если бы я был архитектором QUIK, Что стоило бы изменить в QUIK по-крупному
написал: Sleep останавливает поток main, а функции колбеков вызываются в другом потоке, на который sleep не действует.
Вы опять только пишите не читая. Мы же с Йцукен обсуждаем не системный Sleep и даже sleep QLua, а предложенный мной запускающий коллбеки. Вам опять надо проложиться между комментариев :: ?
Что вы так переживаете? Я написал пояснение о работе sleep в потоках. Так как г-н нефига в этом не понимает, а Вы ему ( я прочитал Ваш ответ)
Да, так называемые коллбеки, должны вызываться внутри sleep (выполняемой в потоке main) с данными из очередей.
Это полная чушь. Ничего внутри sleep не вызывается т к функция sleep выполняется ядром OS. В это время никакой колбек не успеет ничего сделать. -------------------
Уменьшить объем памяти и время старта QUIK-это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 13:35:04
, Посмотрел в док к QUIK
Код
-clear – очистить служебные файлы, которые содержат торговые
данные (info.log (или curr_data.log в зависимости от настроек терминала),
acnt.dat, alert.ik, alltrade.dat, trades.dat, orders.dat).
В действительности этот ключ приводит лишь к уничтожению файла info.log. Файл ,news.log не уничтожается , остаются и файлы *dat. ---------------------------------- Те действие этого ключа не соответствует документации. =================== Мой бат файл уничтожает все log файлы. При этом легко добавить в него удаление и других файлов. Кроме того, его действие прозрачно и управляемо. Т е велосипед не такой же, а другой.
Уменьшить объем памяти и время старта QUIK-это просто
написал: Да,я знаю, что разработчики всегда рекомендуют стирать файлы log Но про команду и ключи не знал. Можете дать ссылку на документацию, где это написано?
F1 > Раздел 1. Подготовка к работе > Ключи запуска Рабочего места QUIK.
Цитата
написал: Не нашел в установочном пакете файл clear.cmd. Можете показать где этот файл?
Видимо, его наличие зависит от версии, либо брокера. В 10-ой версии от ВТБ и Сбера он ещё есть, в Junior 12 - уже нет.
Цитата
написал: чтобы использовать ключ -clear при запуске info.exe. надо либо использовать командный режим либо написать bat Файл
Отнюдь. Достаточно в свойствах ярлыка QUIK, в строке "Объект" добавить " -clear".
Благодарю за подсказку.
Если бы я был архитектором QUIK, Что стоило бы изменить в QUIK по-крупному
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 12:50:07
Цитата
Йцукен написал: колбэки внутри sleep должны вызываться или как?
Sleep останавливает поток main, а функции колбеков вызываются в другом потоке, на который sleep не действует.
Почему Quik ест так много памяти??
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 12:25:57
Почему Quik ест так много памяти??
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 12:22:05
Цитата
Serge123 написал: Только стартовал Квик 12.8.3.4, ещё не залогинился, а уже занято 500 Мб! Стартую с параметром -clear, не помогает. Очистки через clear.cmd и т.п. тоже. Залогинился к ВТБ, он начинает неизвестно что качать изо всех сил и уже 740 Мб!! Причём, день ото дня это число подрастает! При этом торгую 1 тикером и получаю по нему ТТТ и обезличенные сделки (и всё!), которые получаю с момента подключения. Это уже становится невыносимым. Где взять версию Квика, которая ещё не ела столько памяти? Я микросхемы памяти не произвожу.
Если у брокера единый счет, то других вариантов кроме 12.8 нет. -------------------------- Проверьте подписку в настройках. когда ставите новую версию то бывает что на установлена для всех инструментов, а их более 4000. --------------------- Объем занятой памяти после старта обычно уменьшается. Удаляется мусор и выгружается не используемое на диск. ------------------ Например, при соединении с сервером у меня занятая память возрастает до 900 Мбайт. но сейчас она 43 MБайт ------------------------
Уменьшить объем памяти и время старта QUIK-это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 07:34:57
, чтобы использовать ключ -clear при запуске info.exe. надо либо использовать командный режим либо написать bat Файл -------------------------- что я и сделал для тех кто не хочет или не знает как писать Bat файл и трахатся с командным режимом.
Уменьшить объем памяти и время старта QUIK-это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 07:31:00
, Не нашел в установочном пакете файл clear.cmd. Можете показать где этот файл?
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 07:26:09
Третий этап старта, после того как разместил SBERF в другом окне, теперь занимает 1 минуту вместо 4. ---------------------- Объем памяти 970, при отключении индикаторов 890.
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
20.02.2026 07:06:07
Провел тесты, которые доказывают, что индикаторы на Lua и построение графиков являются определяющими в задержке запуска терминала по крайней мере 1-го этапа старта. ------------------------ Результаты: ----------------------------- 1) Исходный вариант рабочего варианта терминала. 90 сек. 680 Мбайт 2) Отключил скрипты Lua . Удалил каталог LuaIndicators. 45 сек. 620 Мбайт 3) Удалил построение графика 1мин для SBERF 20 сек 550 Мбайт ------------------ Полагаю, что сокращение времени от 2 до 4 раз наглядно доказывают влияние Lua индикаторов и графиков на время первого этапа старта терминала. ================= Резюме: В результате недельных исследований и тестирования терминала QUIK удалось выявить причины тормозов первого этапа старта терминала. В итоге время сократилось 3-6 раз, а занимаемая память с 900 до 680. ================ Остался лишь один вопрос, который я не могу понять. ----------------- Почему размер занимаемой памяти в третьем этапе старта терминала снова увеличивается до 900 Мбайт, при том, что ничего нового в начале торгов не возникло. --------------------- Вопрос риторический, так как дать на него профессиональный ответ никто не может. Или может?
Уменьшить объем памяти и время старта QUIK-это просто
написал: Предлагаю разработчикам включить этот bat файл в пакет установки.
В папке QUIK уже есть файл clear.cmd. Также, можно использовать ключ -clear при запуске info.exe. Поздравляю с изобретением очередного "велосипеда"!.
Да,я знаю, что разработчики всегда рекомендуют стирать файлы log Но про команду и ключи не знал. Можете дать ссылку на документацию, где это написано?
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 12:12:41
Для проверки своей гипотезы о том, что задержку создает размещение price двух инструментов в одном окне, вынес SBERF в отдельное окно
Время загрузки первого этапа составило 46 секунд т е гипотеза верна. Объем занятой памяти с применением bat файла тоже сократился и составляет 588 Мбайт вместо ранее 900.
Уменьшить объем памяти и время старта QUIK-это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 11:04:40
Предлагаю разработчикам включить этот bat файл в пакет установки.
Уменьшить объем памяти и время старта QUIK-это просто
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 11:00:54
Всем, добрый день, -------------------- Ранее я уже писал, что в старте терминала QUIK условно можно выделить 3 этапа. ------------ Первый - автономная загрузка терминала до момента запроса пароля. Второй - ожидание кода авторизации со смартфона Третий - загрузка с сервера брокера текущего состояния торгов ------------------------ В этой теме я расскажу как сократить первый этап. Для этого написал bat файл (nk.bat)
Код
@echo off
del /f /q "*.log"
start "" "info.exe"
создайте его текстовым редактором и поместите в папку QUIK, где находится info.exe ---------------- чтобы запустить QUIK надо запустить этот файл (щелкнуть вместо info.exe по файлу nk.bat) ==================== Зачем нужен этот файл? Проблема в том, что терминал QUIK зачем-то при старте загружает в память info.log (этот файл особо влияет на объем занимаемой памяти) Данный bat файл сначала сотрет все log файлы, а потом запустит QUIK. ---------------------- Если не хотите удалять все лог файлы, то вместо *.log поставьте info.log . Этого достаточно, чтобы получить сокращение. ----------------------------- У меня при использовании этого bat файла объем памяти занятой терминалом сокращается с 900 Мбайт до 600 Мбайт. ------------------------- Для сбора статистики просьба сообщить как влияет bat файл в Вашем случае на старт терминала.
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 10:33:27
Как следует с вышеприведенного эксперимента , основной причиной медленного старта терминала является размещение на графике двух разных инструментов. Если один любой из инструментов убрать с этого графика то время первого этапа старта сокращается с 240 секунд ло 40 секунд. ------------------------------ Следующий эксперимент показывает как влияет на время загрузки наличие индикаторов и открытых окон. --------------------------- Если в моем варианте QUIK убрать окно с интервалом 1 минута (это самое большое окно на графике), время первого этапа старта сокращается до 10-15 секунд. -------------------------- Если убрать оставшиеся два окна с графиками, то время первого этапа сокращается до 6-10 секунд. ----------------------- Далее я расскажу как сокращать объем занимаемой памяти при старте а также напишу свои предположения о причинах таких тормозов -------------------- Продолжение следует..
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 08:26:53
Как и обещал, рассказываю в чем причина медленной загрузки и большого объема занимаемой памяти. --------------------------------- Рассматриваю лишь первый этап старта терминала, когда нет связи с сервером. ------------------------------------ Вам интересно узнать почему загрузка длится 4 минуты (240 секунд)? ================== Все оказалась очень просто. В QUIK есть ошибка. Она связана с тем, что на одном графике нельзя совмещать различные инструменты. ------------------- Хочу обратить внимание на то, что разработчики неправильно указали ошибку - считая что она связана с наличием диаграмм графиков с различными интервалами. --------------------------------- Вот доказательства; У меня есть три диаграммы с графиками сбербанка 1 минута, 30 минут и 1 день. На диаграмме 1 минута ВНИМАНИЕ!!! совмещены графики SBER и SBERF -------------------------- Вот терминал с исходными диаграммами: и он загружается 240 секунд ------------------------------------------------- а это терминал на котором отсутствует график SBERF на 1 минутой диаграмме Я удалил файл его истории из архива
и он загружается 40 секунд ================================ Продолжение следует...
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 07:49:08
Цитата
Pivaev Maxim написал: , уберите график SBERF [Price] из диаграммы, в котором интервал 1 минута. Время запуска значительно сократиться.
Согласен. Я тоже это нашел. ------------------- Но Вы написали : в которых создано сразу несколько графиков, и, при этом, временные интервалы существенно отличаются между собой. ------------------- А это утверждение не верно. Интервалы на этом графике 1 минута. ============================================== Попробуйте сделать так. Удалите из моего пакета все диаграммы с другим интервалом кроме диаграммы 1 минутой. ================================== Вы удивитесь, но время загрузки не изменится по сравнению с исходной, когда ничего не удаляли. ===================== Поэтому Вы ошибаетесь в диагностике причины. =================== Причина другая. Она состоит в том, что на графике совмещены два инструмента , а то что есть диаграммы с разными интервалами не влияет на время загрузки. ======================== Я не против если Вы оплатите мою работу по поиску ваших глюков.
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 07:06:35
, Какие графики надо удалить чтобы терминал загрузился быстро?
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
19.02.2026 06:52:11
, Нашел причины всех этих проблем, в числе которых и указанные выше. Отчет об исследованиях напишу позже,
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
18.02.2026 10:48:09
это сейчас
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
18.02.2026 10:16:34
а это сейчас:
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
18.02.2026 10:13:56
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
18.02.2026 10:02:54
В данный момент совершены сделки и объем занимаемой памяти составляет 976 МБайт
написал: На объем и время при старте влияет повторный расчет индикаторов на Lua, циклический расчет индикаторов (возможно и графиков) для каждой свечи при старте и размер сохраненной истории, по которым считаются эти индикаторы.
Но как вы догадались, Холмс? Расчёт индикатора при старте не должен сильно отличаться от расчёта при его добавлении на график. При добавлении даже три раза пересчитывается, а при старте терминала - "только" два раза. Но если в индикаторе используется getCandlesByIndex, то есть свои нюансы в расчётах. Чтобы оценить влияние Lua-индикаторов, можно переименовать папку LuaIndicators, и сравнить время загрузки с индикаторами и без.
Приведите доказательства, Ватсон.
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
18.02.2026 07:12:35
После указанное выше рабочей гипотезы, я добавил в индикаторы сборщик мусора в начале расчета. ------------------------- Не берусь утверждать, является ли это причиной, но сегодня при старте объем занятой памяти составил 875 Мбайт, а время третьего этапа составило 2 минуты. -------------------- Так как это лишь единственный эксперимент, то исследования продолжаются.
Причины тормозов при старте. Вскрытие покажет.
Пользователь
Сообщений: Регистрация: 30.01.2015
18.02.2026 06:54:12
Всем,добрый день, Предлагаю обсудить проблему тормозов при старте терминала. ------------------- До последней прошедшей недели пользовался версией 8.7 Неоднократно пытался установить более свежую версию, но всегда получал тормоза и возвращался к 8.7 ------------------- На прошедшей неделе Сбербанк перешел на единый счет и мне пришлось устанавливать версии 12 так как исчезли параметры по фьючерсам. ----------------------- Сначала установил версию 12.6 которая выложена у Сбербанка. Получил увеличение объема занятой памяти терминалом в 2 раза с 600 Мбайт до 1200Мбайт и жуткие тормоза -------------------------- По совету разработчиков установил новую версию 12.8.4 Объем занимаемой памяти при старте сократился с 1200 до 900. Почему он изменяется ? ----------------------------- Самое странное, что во время торгов объем занимаемой памяти постепенно уменьшается. Если никаких действий не совершать , то объем занимаемой памяти сокращается до 50Мбайт. Но если начать что-то делать, то он снова увеличивается, но не более 700, а иногда и не более 350Mбайт. -------------------- Трудно что-либо придумать почему так происходит. -------------------------- Но так как максимальный объем всегда получается при старте и это приводит к очень длительной загрузки, то давайте обсудим возможные причины этого. ---------------------------- Время старта можно разделить на три этапа. Первый - запуск терминал. Второй -ввод пароля Третий- ввод кода со смартфона. ------------------- самый короткий интервал - второй. Задержки при нем пока не будем рассматривать. ----------------- Сначала я предположил, как и многие на форуме, что проблема медленной загрузки в длительном получении начальной информации с сервера брокера. Но теперь у меня другая рабочая гипотеза. ================= Основа ее в том, что время первого и третьего этапов одинаковое. Характерно , первый и третий этапы имеют одинаковое значение времени исполнения -в моем случае это по 4 минуты каждый. Но в первом этапе нет никакой связи с сервером. Получается, что соединение с сервером не влияет ни на объем занимаемой памяти ни на время старта. ================= Поэтому я считаю, что указанные проблемы (время старта и объем занимаемой памяти ) связаны исключительно с вычислениями, которые совершает терминал при старте. ===================== Более того, эта гипотеза подтверждается тем, что в третьем этапе терминал сначала уменьшает объем занятой памяти до 350 Мбайт. А потом медленно начинает увеличивать его до тех же 900 Мбайт что и в первом этапе. ===================== Как правило время и занятая память у всех пользователей разные. Это связано с конкретной настройкой интерфейса. Т е числом окон с графиками, числом таблиц и стаканов и числом скриптов на Lua. ===================== Полагаю, что максимальный объем памяти в момент старта возникает по причине, возможно не единственной, но одной из основных, РАСЧЕТА ИНДИКАТОРОВ НА LUA. ======================== Известно, что индикаторы на луа вычисляются несколько раз при открытии графика. ---------------------------------------- В результате такого расчета возникает куча мусора от этих расчетов, так как сборщик мусора при старте не работает. ------------------------ В начале третьего этапе терминал удаляет все расчеты первого этапа и память сокращается. ------------------------- Так как у меня установлена подписка вручную, то ничего нового при соединении с сервером не приходит. --------------------------------- Терминал снова начинает свой расчет индикаторов и графиков и это увеличивает объем памяти до максимума для всей сессии. ------------------------- Но это еще не все. Длительный расчет индикаторов и графиков при старте связан с тем, что хотя все свечи от первой до последней имеются в начале расчета, Расчет индикаторов, а возможно и построение графиков выполняется для каждой свечи отдельно в цикле Calculate. Так как большинство индикаторов - это интегральная обработка данных в окне, то при 3000 свечах (это то что сохраняет сервер) для каждого индикатора в цикле при старте вычисления в скользящем окне выполняются 3000 и более раз. Если история сохраняется на ПК, то со временем тормоза и объем занимаемой памяти растет. -------------------------------- Предположу, что это тупиковый момент в развитии QUIK и он требует кардинальных изменений. --------------------------- Еще заметил, что число подписанных инструментов не влияет на объем и время при старте. ------------------------ Резюме: На объем и время при старте влияет повторный расчет индикаторов на Lua, циклический расчет индикаторов (возможно и графиков) для каждой свечи при старте и размер сохраненной истории, по которым считаются эти индикаторы. ---------------------------- Тот факт, что объем памяти при старте версии 12.6 на 300 Мбайт больше, чем при старте версии 12.8 говорит о том, что, как говорил сатирик "что-то не так в консерватории" ------------------------- Возможно, решением было бы исключение повторных расчетов индикаторов и принудительный запуск сборщика мусора при завершении третьего этапа. ------------------------- Исследования продолжаются.... ========================= P.S. В настоящее время кувыркаюсь с единим счетом. Постоянно исчезают позиции по фьючерсам. Кроме того, как уже писал на форуме,но без ответа, сваливание в кучу информации об акциях и фьючерсах имеет не только систематические ошибки, но и противоречит ФЗ "О рынке ЦБ" Но это уже другая история
как вернуть левую шкалу на график?
Пользователь
Сообщений: Регистрация: 30.01.2015
18.02.2026 05:27:14
Миллион раз так делаю. Иногда не сразу получается. Перед написанием совета специально сделал это несколько раз без особых проблем.
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
17.02.2026 13:55:43
Обнаружил такой факт. Если в открытом окне с интервалом 1 минута сменить интервал на 5 минут, то объем занятой памяти сокращается примерно на 60 Мбайт.
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
17.02.2026 13:11:37
Специально удалил таблицу ТТТ ничего не изменилось
Причина очень медленной загрузки QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
17.02.2026 13:07:44
Цитата
Nikolay написал: Сегодня специально убрал все таблицы текущих торгов, особенно с иностранными акциями. Была, оказывается, открыта в свернутом виде. И терминал прямо ожил. Т.е. ТТТ с большим числом записей дает такую загрузку терминала.
, Если у Вас квики от нескольких брокеров, то напишите какой размер у них файла справочника sec.dat.
Окно сообщений закрывает окно ввода
Пользователь
Сообщений: Регистрация: 30.01.2015
17.02.2026 07:28:02
Версия 12.8.3.4 при старте терминала:
Как записать данные в массив?
Пользователь
Сообщений: Регистрация: 30.01.2015
17.02.2026 06:49:01
Пример записи данных в таблицу скрипта есть в док QLua Приложение 1
Как записать данные в массив?
Пользователь
Сообщений: Регистрация: 30.01.2015
17.02.2026 06:41:48
Цитата
prugramzer написал: Квик выдает "attempt to index a nil value (local 'cc14')" , и в сс13 тоже ничего не пишет, тоже nil Как записывать данные в массив на луа?
ошибка: local cc13, cc14={}
cc13 -таблица, а сс14 -nil ---------------- Правильно: local cc13, cc14={},{}
Скрипт для обнаружение задержек данных
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 18:32:12
Вот так сегодня тормозит Сбербанк:
Код
Mon Feb 16 10:27:48 2026,задержка(сек)=60
Mon Feb 16 10:28:18 2026,задержка(сек)=90
Mon Feb 16 10:28:48 2026,задержка(сек)=120
Mon Feb 16 10:29:18 2026,задержка(сек)=150
Mon Feb 16 10:30:18 2026,задержка(сек)=31
Mon Feb 16 10:30:48 2026,задержка(сек)=61
Mon Feb 16 10:31:18 2026,задержка(сек)=91
Mon Feb 16 10:31:48 2026,задержка(сек)=122
Mon Feb 16 11:11:18 2026,задержка(сек)=60
Mon Feb 16 11:11:48 2026,задержка(сек)=90
Mon Feb 16 11:12:18 2026,задержка(сек)=120
Mon Feb 16 14:25:19 2026,задержка(сек)=39
Mon Feb 16 14:25:49 2026,задержка(сек)=69
Mon Feb 16 14:26:19 2026,задержка(сек)=99
Mon Feb 16 14:26:49 2026,задержка(сек)=129
Mon Feb 16 16:43:49 2026,задержка(сек)=32
Mon Feb 16 16:44:19 2026,задержка(сек)=62
Mon Feb 16 16:44:49 2026,задержка(сек)=92
Mon Feb 16 16:45:19 2026,задержка(сек)=122
Mon Feb 16 16:45:49 2026,задержка(сек)=152
Mon Feb 16 19:22:50 2026,задержка(сек)=42
Mon Feb 16 19:23:19 2026,задержка(сек)=72
Mon Feb 16 19:23:50 2026,задержка(сек)=102
Mon Feb 16 19:24:20 2026,задержка(сек)=132
Mon Feb 16 19:24:50 2026,задержка(сек)=162
Mon Feb 16 19:25:50 2026,задержка(сек)=58
Mon Feb 16 19:26:20 2026,задержка(сек)=89
Mon Feb 16 19:26:50 2026,задержка(сек)=119
Mon Feb 16 19:27:50 2026
Вопрос к Разработчикам. Можете объяснить этот прикол?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 18:30:00
Код
Mon Feb 16 10:27:48 2026,задержка(сек)=60
Mon Feb 16 10:28:18 2026,задержка(сек)=90
Mon Feb 16 10:28:48 2026,задержка(сек)=120
Mon Feb 16 10:29:18 2026,задержка(сек)=150
Mon Feb 16 10:30:18 2026,задержка(сек)=31
Mon Feb 16 10:30:48 2026,задержка(сек)=61
Mon Feb 16 10:31:18 2026,задержка(сек)=91
Mon Feb 16 10:31:48 2026,задержка(сек)=122
Mon Feb 16 11:11:18 2026,задержка(сек)=60
Mon Feb 16 11:11:48 2026,задержка(сек)=90
Mon Feb 16 11:12:18 2026,задержка(сек)=120
Mon Feb 16 14:25:19 2026,задержка(сек)=39
Mon Feb 16 14:25:49 2026,задержка(сек)=69
Mon Feb 16 14:26:19 2026,задержка(сек)=99
Mon Feb 16 14:26:49 2026,задержка(сек)=129
Mon Feb 16 16:43:49 2026,задержка(сек)=32
Mon Feb 16 16:44:19 2026,задержка(сек)=62
Mon Feb 16 16:44:49 2026,задержка(сек)=92
Mon Feb 16 16:45:19 2026,задержка(сек)=122
Mon Feb 16 16:45:49 2026,задержка(сек)=152
Mon Feb 16 19:22:50 2026,задержка(сек)=42
Mon Feb 16 19:23:19 2026,задержка(сек)=72
Mon Feb 16 19:23:50 2026,задержка(сек)=102
Mon Feb 16 19:24:20 2026,задержка(сек)=132
Mon Feb 16 19:24:50 2026,задержка(сек)=162
Mon Feb 16 19:25:50 2026,задержка(сек)=58
Mon Feb 16 19:26:20 2026,задержка(сек)=89
Mon Feb 16 19:26:50 2026,задержка(сек)=119
Mon Feb 16 19:27:50 2026
Гарантируется ли вызов колбэка при получении Квиком новых данных?, Вопросы разработчикам QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 16:09:46
Колбек вызывается перед записью в таблицу сделок ----------------------- Если колбек не вызван, то и записи в таблицу не будет
Гарантируется ли вызов колбэка при получении Квиком новых данных?, Вопросы разработчикам QUIK
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 16:08:49
Цитата
Йцукен написал: В документе "Использование Lua в Рабочем месте QUIK.pdf" на стр. 5-8 приведено описание событийной модели, как одного из подходов написания скриптов Lua в Рабочем месте QUIK. На стр. 8 приведён пример скрипта NumberOfTradesOnCallbacks.lua
Вопросы: 1) Гарантирует ли данный подход, что все данные по сделкам, которые получит терминал с момента запуска скрипта, будут обработаны скриптом в колбэке OnTrade? 2) Может ли быть такое, что данные на рабочее место поступили, а колбэк не был вызван?
1 да 2 нет
Вопрос к Разработчикам. Можете объяснить этот прикол?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 16:07:29
Код
Mon Feb 16 10:27:48 2026,задержка(сек)=60
Mon Feb 16 10:28:18 2026,задержка(сек)=90
Mon Feb 16 10:28:48 2026,задержка(сек)=120
Mon Feb 16 10:29:18 2026,задержка(сек)=150
Mon Feb 16 10:30:18 2026,задержка(сек)=31
Mon Feb 16 10:30:48 2026,задержка(сек)=61
Mon Feb 16 10:31:18 2026,задержка(сек)=91
Mon Feb 16 10:31:48 2026,задержка(сек)=122
Mon Feb 16 11:11:18 2026,задержка(сек)=60
Mon Feb 16 11:11:48 2026,задержка(сек)=90
Mon Feb 16 11:12:18 2026,задержка(сек)=120
Mon Feb 16 14:25:19 2026,задержка(сек)=39
Mon Feb 16 14:25:49 2026,задержка(сек)=69
Mon Feb 16 14:26:19 2026,задержка(сек)=99
Mon Feb 16 14:26:49 2026,задержка(сек)=129
Mon Feb 16 16:43:49 2026,задержка(сек)=32
Mon Feb 16 16:44:19 2026,задержка(сек)=62
Mon Feb 16 16:44:49 2026,задержка(сек)=92
Mon Feb 16 16:45:19 2026,задержка(сек)=122
Mon Feb 16 16:45:49 2026,задержка(сек)=152
Mon Feb 16 17:05:49 2026
Вопрос к Разработчикам. Можете объяснить этот прикол?
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 13:29:06
Код
Mon Feb 16 10:27:48 2026,задержка(сек)=60
Mon Feb 16 10:28:18 2026,задержка(сек)=90
Mon Feb 16 10:28:48 2026,задержка(сек)=120
Mon Feb 16 10:29:18 2026,задержка(сек)=150
Mon Feb 16 10:30:18 2026,задержка(сек)=31
Mon Feb 16 10:30:48 2026,задержка(сек)=61
Mon Feb 16 10:31:18 2026,задержка(сек)=91
Mon Feb 16 10:31:48 2026,задержка(сек)=122
Mon Feb 16 11:11:18 2026,задержка(сек)=60
Mon Feb 16 11:11:48 2026,задержка(сек)=90
Mon Feb 16 11:12:18 2026,задержка(сек)=120
Mon Feb 16 14:25:19 2026,задержка(сек)=39
Mon Feb 16 14:25:49 2026,задержка(сек)=69
Mon Feb 16 14:26:19 2026,задержка(сек)=99
Mon Feb 16 14:26:49 2026,задержка(сек)=129
Mon Feb 16 14:27:19 2026
Варианты построения робота
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 12:03:54
Тема предназначена для начинающих писателей роботов ------------------ Вариантов написания роботов в терминале QUIK на луа множество. Кратко расскажу о них на основе своего опыта. ------------- По функциональному назначению можно разделить роботов на 3 класса. 1) Роботы , которые прогнозируют моменты изменения рынка для изменения позиции.Роботы-советники 2) Роботы, которые совершают транзакции на основе простейших алгоритмов и управляют стоп-заявками. 3) Роботы , которые объединяют функции 1 и 2. --------------- Любого робота можно написать либо в виде скрипта-индикатора,далее робот-индикатор, либо в виде скрипта не индикатора, далее робот-скрипт. Разница в том, что робот на основе индикатора запускается на графике инструмента, которым торгуем, а робот-скрипт, не индикатор, запускается без автоматической привязки к инструменту. ------------------ Робот индикатор самый простой в написании. в нем не надо подписываться на инструмент. В него автоматически поступают данные лишь конкретного инструмента. -------------------- Недостаток его в том, что его надо запускать на графике инструмента и следовательно надо открывать окно с графиком. Но обычно так все и торгуют. --------------- Робот-скрипт является универсальным и позволяет построить рой роботов, которые могут обмениваться данными и проводить расчеты параллельно. ---------------------------------- На этом пока все. Если есть вопросы, то отвечу --------------------- Продолжение следует...
Не приходит полная версия OnTrade
Пользователь
Сообщений: Регистрация: 30.01.2015
16.02.2026 11:31:46
Вообще-то, так как роботы есть разные, то целесообразность использования событий(колбеков) тоже разная. ---------------------- Поэтому сделал обработку для всех событий, а применяю в конкретном роботе то, что имеет смысл "здесь и сейчас". -------------------- Сейчас у меня все очень оптимально. Все события обрабатывает один скрипт Он же выставляет и снимает заявки. Остальные скрипты и приложения занимаются прогнозированием момента изменения позиции по конкретному инструменту Скрипт(приложение) на инструмент или класс.