Реальный период расчета скриптов, написанных на QPILE

Страницы: 1
RSS
Реальный период расчета скриптов, написанных на QPILE, Реальный период расчета скриптов, написанных на QPILE
 
Здравствуйте.
Почему так происходит?
Реальное время РАСЧЕТА СКРИПТОВ, написанных на QPILE, изменяется в течение торгового дня, а так же в течение торговой недели.
Торгуют: 5 терминалов QUIK, 5 счетов, у двух брокеров. Количество скриптов разное, от двух до тридцати.
Период расчета выставлен 1сек. у всех скриптов. Торгуются фьючерсы на Московской бирже.
Время наблюдения с 2011 года. За это время обновлялись терминалы и операционная система, менялось количество и содержание скриптов.
Скрипты начинают пересчитываться медленно, а к концу сессии убыстряются в 2-5 раз, в понедельник пересчитываются медленней, чем в пятницу.
Время расчета варьируется: от 30сек. до 3сек. (в терминале более 30 скриптов), от 4сек. до 1,1сек. (в терминале 2 скрипта).
Компьютер перезагружается каждый вечер.
Спасибо за QUIK. Жду ответа.
 
Здравствуйте, Анатолий.
Цитата
Период расчета выставлен 1сек. у всех скриптов.
Для скриптов с большим количеством вычислений период расчета рекомендуется устанавливать не менее 5-10 секунд. Вполне вероятно, что скрипты не успевают выполнить расчет за 1 секунду утром, после начала торговой сессии, так как большинство данных приходится пересчитывать заново из-за сброса глобальных переменных (например, при расчете клиентского портфеля).
Именно этот эффект Вы наблюдаете в начале сессии, а к концу сессии некоторые данные уже рассчитаны, поэтому происходит ускорение работы скриптов:
Цитата
Скрипты начинают пересчитываться медленно, а к концу сессии убыстряются в  2-5 раз, в понедельник пересчитываются медленней, чем в пятницу.
Повысить быстродействие может переход с QPile на Lua скрипты. Рассмотрите данный вариант.
QUIK clients support
 
Здравствуйте.
Цитата
Цитата
Alexander Kopyatkevich написал:
Для скриптов с большим количеством вычислений период расчета рекомендуется устанавливать не менее 5-10 секунд. Вполне вероятно, что скрипты не успевают выполнить расчет за 1 секунду утром, после начала торговой сессии, так как большинство данных приходится пересчитывать заново из-за сброса глобальных переменных (например, при расчете клиентского портфеля).
Как я это понимаю:
-Сам расчет скриптов происходит за десятые или сотые доли секунды (это легко определить).
-Реальный период ПЕРЕрасчета скрипта, даже если он один в терминале, только может приблизиться к этой одной секунде (время расчета + 1сек.).


Моя ситуация:
-Скрипты все приблизительно одинаковые
-Размер менее 1000 строк
-Никаких особо сложных расчетов: считывание данных из графика, таблиц, сравнение этих данных
-Период расчета выставлен 1сек. у всех скриптов
-Терминалы стартуют командой info.exe -clear.


Реальное время ПЕРЕрасчета СКРИПТОВ изменяется в течение торгового дня, а так же в течение торговой недели.
Приведу пример изменения периода ПЕРЕрасчета (в терминале торгуют 27 скриптов).
Понедельник, 13 мая 2019г.:
-Начало сессии, 10:05, РЕАЛЬНЫЙ период ПЕРЕрасчета приблизительно 26сек.
-Конец сессии, 23:45, РЕАЛЬНЫЙ период ПЕРЕрасчета приблизительно 3,5сек.
Пятница, 17 мая 2019г.:
-Начало сессии, 10:05, РЕАЛЬНЫЙ период ПЕРЕрасчета приблизительно 14сек.
-Конец сессии, 23:45, РЕАЛЬНЫЙ период ПЕРЕрасчета приблизительно 2,5сек.
Такое происходит ежедневно, еженедельно. Если запустить терминал, который не работал весь день, в 23:45 период ПЕРЕрасчета будет минимальным для этого дня недели, т.е. в этом случае приблизительно 3 сек.

Наблюдал ли, кто-нибудь что-то подобное. Поделитесь, пожалуйста.


Цитата
Alexander Kopyatkevich написал:
Повысить быстродействие может переход с QPile на Lua скрипты. Рассмотрите данный вариант.
Чтобы перевести в QPile алгоритмы, наработанные в TSLab (спасибо разработчикам этого софта), мне понадобилось несколько месяцев (это было в 2011г.). Для перехода на Lua, скорее всего, потребуется усилий не меньше (да и результат не предсказуем).


Поведение QUIK, описанное выше, для моей торговли особо не критично. Хочется понять, ПОЧЕМУ так.


Спасибо за QUIK. Спасибо Всем. Жду умных мыслей.
 
Цитата
Анатолий написал:
Период расчета выставлен 1сек. у всех скриптов

Для начала, период в настройках это время между окончанием предыдущего расчета скрипта и началом нового расчета.
Например если сам скрипт у Вас отрабатывает за 5 сек, то значит между запуском первой итерации и второй будет 5+1=6 сек.

Далее, если есть проблема с кодом, без самого кода разобраться не представляется возможным, как бы подробно Вы всё не описывали.

И наконец, QPILE мы уже давно не развиваем и развивать не будем, сейчас он существует только для поддержки обратной совместимости.
Рекомендуем перейти на более современный язык QLUA.
Да сложно, да долго, но это того стоит.
Страницы: 1
Читают тему (гостей: 2)
Наверх