Перезаказ данных QUIK 8.8

Страницы: 1
RSS
Перезаказ данных QUIK 8.8
 
В терминале версии 8.8 вызываем пункт меню "Перезаказ данных", отмечаем галочку "Архив данных для построения графиков". После перезагрузки терминала кажется, что архив не был очищен (в QLua-скриптах количество свечей в datasource-объектах заметно больше 3000 свечей).

Если же руками почистить папки archive и archive\bak, то количество свечей становится 3000.

Почему так?
 
Цитата
_sk_ написал:
В терминале версии 8.8 вызываем пункт меню "Перезаказ данных", отмечаем галочку "Архив данных для построения графиков". После перезагрузки терминала кажется, что архив не был очищен (в QLua-скриптах количество свечей в datasource-объектах заметно больше 3000 свечей).

Если же руками почистить папки archive и archive\bak, то количество свечей становится 3000.

Почему так?
Добрый день.

Большее количество свечей это свечи, которые вы накопили локально, при перезаказе архивов они не удаляются.
Логика работы функции "перезаказа архивов графиков" следующая:

1. При перезаказе архивов со свечами перед заказом архива свечей, архивы перемещаются в каталог BAK, после этого на сервер отправляется запрос на получение свечей, начиная со следующей даты и времени от записанных в архиве даты и времени склейки. Если склейки не было, заказываются все имеющиеся свечи.
2. При получении с сервера архива свечей полученный архив склеивается с архивом из подкаталога BAK каталога ARCHIVE таким образом, что в архив из BAK добавляются только новые свечи, а те свечи, которые существуют в обоих архивах в архиве из BAK обновляются на полученные с сервера, файл с архивом свечей из подкаталога BAK удаляется, а в каталоге ARCHIVE помещается файл с актуальным архивом свечей (т.е. с учетом добавленных и измененных свечей). Таким образом, теперь накопленные пользователем архивы (терминал умеет хранить локально до 65 000 свечек) при перезаказе архива графиков не пропадают.
 
Спасибо за разъяснение.
 
Есть косвенные признаки того, что в терминале 8.8.4.3 (и, возможно, других версий) могут получаться "битые" графики при склейке 3000 свечей, которые выдаёт сервер, и архива свечей, накопленных в терминале.

Проявляется это как ошибки в скриптах при работе с данными, получаемыми из объектов DataSource. Выходят сообщения типа
Код
attempt to perform arithmetic on a nil value (field '?')
хотя код до этого нормально работал несколько дней.

Как стабильно воспроизвести ошибку я не знаю. Помогает закрытие терминала, удаление dat-файлов из папкок archive и archive\bak, повторный запуск терминала. История сбросится до 3000 свечей в этом случае.

Перезаказ данных с указанием всех галочек не помогает.

Может, у кого-то ещё есть похожие симптомы.
 
Цитата
_sk_ написал:
Есть косвенные признаки того, что в терминале 8.8.4.3 (и, возможно, других версий) могут получаться "битые" графики при склейке 3000 свечей, которые выдаёт сервер, и архива свечей, накопленных в терминале.

Проявляется это как ошибки в скриптах при работе с данными, получаемыми из объектов DataSource. Выходят сообщения типа
Код
  attempt to perform arithmetic on a  nil  value (field  '?' )  
хотя код до этого нормально работал несколько дней.

Как стабильно воспроизвести ошибку я не знаю. Помогает закрытие терминала, удаление dat-файлов из папкок archive и archive\bak, повторный запуск терминала. История сбросится до 3000 свечей в этом случае.

Перезаказ данных с указанием всех галочек не помогает.

Может, у кого-то ещё есть похожие симптомы.
Здравствуйте!

Предоставьте пожалуйста полный код скрипта чтобы мы попробовали воспроизвести проблему у себя.
 
Повторю, что я сам не знаю, как стабильно воспроизвести ошибку. Поэтому высылать код скрипта не имеет смысла.

В дополнение могу лишь свои домыслы высказать. Терминал несколько раз аварийно завершал свою работу с дампами памяти (вам отосланы). Вполне возможно, что в эти моменты были испорчены данные по графикам. После перезаказа данных и отработки логики, описанной вами выше в теме, "битая" часть графиков ушла в архив. Пока она не будет удалена руками или по превышению 65 тыс. свечей, будет проявляться описанная мною выше проблема.

Резюмируя гипотезу: из-за ошибки в другом месте (аварийные завершения работы терминала) получаются "битые" графики, которые потом портят нормальную работу.

Как справиться с проблемой я описал выше.
 
Действительно, если терминал совершал аварийное отключение в момент сохранения графиков, с ними могло произойти что угодно.

Для анализа данной ситуации, просим вас сделать следующее - при следующей встрече с данной ошибкой, перед удалением чего-либо, заархивируйте папку с Рабочим местом QUIK и отправьте на почту нашей поддержки (quiksupport@arqatech.com) с полным описанием проблемы. Также, все таки просим приложить к письму скрипт, который эту ошибку встречает.

Поскольку, опять же, поведение программы в момент аварийного отключения - процесс неконтролируемый, заведомо можем предположить, что единственный выход из подобной ситуации - добавить в скрипт проверку, учитывающую то, что данные могут прийти битыми.
Страницы: 1
Читают тему
Наверх