Роджер (веселый).
Роджер (веселый). личный блог
17 декабря 2020, 01:15

Компьютер и скорость работы Quik.

Относительно давно был здесь топик, где автор рассказывал, как победил зависания квика, установив дополнительный вентилятор охлаждения на ноут, и он по своим наблюдениям сделал вывод, что Quik сильно напрягает и разогревает процессор.
 Достоверность его выводов, я сегодня подтвердил опытным путем.  В комнате сделал перестановку и убрал системный блок в угол, поставив рядом с батареей. И получился он у меня зажат между стеной и столом, и другой стеной сзади.  Причем зазоры я ему оставил между стенами не менее 10 см для вентиляции.
 Включил робота в отладочном режиме, поставил ему мониторинг всего четырех пар инструментов, так как волновала не производительность, а проверялся на логические ошибки и пошел домашними делами заниматься.
 Причем робот для расчета берет данные из стакана котировок и для заказа данных я использую функцию Subscribe_Level_II_Quotes(CLASS_CODE[i], SEC_CODE[i]). Так как преследую цель минимум различных манипуляций с квиком, когда работает робот, и не хочу открывать стаканы руками. Заметил такую вещь, что когда ставишь роботу мониторинг с выше 30 пар инструментов, то он в 30% и более не видит стаканов. Тогда я написал резервный вариант, если нужные данные не были получены из стакана из за  отсутствия, то он начинает их рассчитывать приближено, через данные от функции getParamEx. И каждые сто тысяч циклов робот выводит сообщение, в котором показывает в процентах сколько расчетов он совершил используя резервный вариант получения данных. 
 Опытным путем я выявил, что Quik не всегда выполняет функцию Subscribe_Level_II_Quotes, а иногда ее игнорирует и что на это влияет, толком не мог понять. И если открыть окна 30-40 стаканов руками, то квик либо зависает из за низкой скорости интернета, либо работает робот без резервного варианта получения данных, так как данные стаканов всегда доступны. Вот получается такая хитрая функция Subscribe_Level_II_Quotes, она вроде заказывает данные стакана по инструменту, но иногда не заказывает и какие факторы на это влияют не понятно.
 Ну вот работает мой робот, никаких я ему стаканов в Quik не открывал, все он сделал программно. Время на 100000 циклов у него было около 6 мин. и все данные он получал из стакана. Подхожу я к компьютеру минут через 50 и вижу, что на четыре инструмента он уже 80% получает данные по резервному варианту, то есть данные стакана ему не доступны. А время цикла увеличилось и я даже после 20 мин не вижу окончания 100000 тыс. циклов. Даже мышка тупит, не всегда есть ответ на нажатие лев. клавиши. Засовываю руку в угол,  там не воздух, а кипяток.  Вытащил системник из угла, взял фен и давай холодным  воздухом дуть внутрь решетки, на вход охл. процессора. Уже через 10 минут, опять ушло на 0 резервное получение данных, а цикл вернулся к 6 минутам. Вот как то так. Подумал, что для корректной работы нужно поставить принудительную еще вентиляцию, а то сеть позволяет, сервер позволяет, а компьютер не выдерживает нагрузки.
29 Комментариев
  • VpnS
    17 декабря 2020, 01:35
    на ноуте робота гонять самое то 
  • Макс Обухов
    17 декабря 2020, 02:32
    вроде же в квике можно выводить все потоки через ODBC напрямую в базу данных, зачем вообще встраиваться в его код с помощью lua, кроме как заявки выставлять?
      • Макс Обухов
        17 декабря 2020, 04:58
        Роджер (веселый)., ODBC — это просто. По сути это коннектор к базе данных. Ставите себе какой нибудь mysql, создаете таблички, настраиваете подключение и вуаля. Делается ну за пару часов. А дальше любым скриптовым языком хоть lua работаете с базой, а в квик только сигналы отправляете купить/продать/заявка и т.п. Преимущество в том, что для таких задач нормальная БД гораздо лучше подходит, нежели весьма убогий и тормозной внутренний мир квика
  • Алексей Никитин
    17 декабря 2020, 02:55
    arqatech.com/ru/support/files/quik-workstation/
    Самую новую ставьте 8.11


    Температура проца  легко мониторится  https://www.hwinfo.com/
    Проц ниже 70 градусов,  это холодный  проц!
    Проц 70-90 градусов горячий, выше  90 градусов бывает при разгоне,  там и 110 можно увидеть.
    Не надо фанатеть по охлаждению, сделайте  обычное недорогое хорошее охлаждение. Никакое  охлаждение не сделает ваш комп в разы  мощнее,  а софт безглюковым.
    И помните,  новая компутерка, 6 ядер рязани, 16 оперативы ddr4 3200,  1 терабайт М2  стоит всего  50 к  рублей.
    • iddqd3n
      17 декабря 2020, 08:08
      Алексей Никитин, квик однопоточный :) Нужен процессор с максимальной частотой на одно ядро (желательно без буста), в этом плане интелы помощнее были, когда я последний раз смотрел.


  • Алексей Никитин
    17 декабря 2020, 04:00
    А зачем вам 30 -40  стаканов ?  вероятно вам  нужнен только бид офер,  а  его легко взять из таблицы  котировок, и  это  не создает дикой  нагрузки  как  стаканы 
      • Алексей Никитин
        17 декабря 2020, 04:43
        Роджер (веселый)., мде! квик конечно по прежнему грусть!
  • Value
    17 декабря 2020, 05:52
    Жутко тормозной.
  • 𝗙𝗼𝗿𝘁𝘂𝗻𝗮
    17 декабря 2020, 08:42
    У меня может быть открыто 4-5 терминалов, и всё работает норм. Но стоит запустить Квик и всё… ноут тормозит донельзя…
    • asfa
      18 декабря 2020, 07:43
      𝗙𝗼𝗿𝘁𝘂𝗻𝗮, каких терминалов?
  • Vkt
    17 декабря 2020, 09:11
    Где-нибудь в циклах опроса стаканов используется функция sleep?
    Если нет, то попробуйте вставить. Должно разгрузить процессор.

  • Аксенов Руслан
    17 декабря 2020, 09:12
    Я на ноуте увеличил задние ножки, приклеил вырезанные из резины толщиной 5 мм. к штатным.
    Ноут греться стал заметно меньше.
  • П М
    17 декабря 2020, 09:40
    1. попробуй действительно делать sleep паузы между опросом котировок,
    2. попробуй как это будет отрабатывать если окошко квика минимизировать
      • П М
        18 декабря 2020, 06:09
        Роджер (веселый)., Зависит от способа работы с катком, например если параллельная работа нескольких функций у вас с выбором результата той что быстрее ответит, то может быть Квик замедляется, но отвечает, но выбирается более быстрый ответ и от этого кажется что Квик вообще не ответил на медленный запрос.
        А если медленно отвечающую функцию нагружать запросами, у нее скопится очередь запросов и станет только хуже со временем ответов, вот я о чем
  • iddqd3n
    17 декабря 2020, 10:01
    Вижу предложения по уменьшению опросов стаканов… А зачем их вообще опрашивать, там же колбэк есть? Т.о. если стакан не меняется, функция не срабатывает вообще.
  • Glago
    17 декабря 2020, 10:35
    при принудительном нагревании процессора возрастают течки тока, что может привести к необратимой потери части работающих ячеек.
    вообще не пойму а квик многопоточное приложение? как-то смотрел нагрузку проца и там одно ядро загружено по полной, а остальные пять сочкуют)
    • Rostislav Kudryashov
      17 декабря 2020, 11:18
      Glago, каждая функция main() в скрипте QLua создаёт отдельный поток. Функции обратного вызова (OnAllTrade() и т.п.) работают в главном потоке.
      • Glago
        17 декабря 2020, 11:20
        Rostislav Kudryashov, вы не поняли, имелись ввиду ядра многоядерного процессора
    • iddqd3n
      17 декабря 2020, 16:27
      Glago, квик однопоточный. Дополнительные потоки только под скрипты создаются, но это именно отдельный поток или суррогат внутри луа — я не в курсе.
  • Врач-бондиатОр
    17 декабря 2020, 20:28
    задайте вопрос на форуме арки — там полно программеров тусит, может что дельное посоветуют
  • investor.jr
    18 декабря 2020, 00:20
    И как, помогают эти роботы? Много денег приносят? :)
      • Technotrade
        19 декабря 2020, 19:08
        Роджер (веселый)., тоже думал что за херня, у меня комп достаточно мощный, за 300К брал, и одновременно запущены четыре торговых терминала всегда от разных брокеров, притом два из них квика. И вот недавно на квик один навешал 3-4 робота, да так что комп просто по ощущениям превратился в пентиум 1 или 2 ))) Мышка даже стала лагать. Сами роботы притом работают исправно, но все остальное начинает жестко подвисать. Вот сижу думаю что надо взять либо бук какой, либо второй комп под роботов, так как основной комп не должен быть так перегружен. Это просто писец какой-то.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн