img

Charts history management

Для управления базой данных (БД) графической истории, создаваемой на компьютере пользователя, реализованы следующуие возможности:

  • В контекстном меню графика функция «Refresh» («Обновить») - удаляется из БД все данные этого окна графика (инструмент + временной_интервал) и загрузка заново данных с сервера, необходимых для этого окна и других окон, открытых по этому же инструменту+временному интервалу; при этом текущие настройки каждого обновляемого окна сохраняются.
  • В ветви «Настройки»/»Терминал» в закладке «Miscellaneous» («Разное») есть раздел «Charts history» («Графическая история») с полями:
  • «Charts history depth [Bar]» («Глубина графической истории, бары») - Задаем максимальную глубину графической истории для пары (инструмент + временной_интервал); допускается ввод произвольного числового значения (значение должно быть >= 100) или
    • «500» («500»)
    • «2000» («2000»)
    • «10000» («10000»)
    • «100000» («100000»)
    • «Unlimited» («Неограничено»)
  • «Reduce history» («Производить урезание») - определяем в какой момент производится урезание графической истории. Если выбран один из автоматических режимов (после отключения/перед соединением), то урезание будет производиться только при явном (ручном) выполнении операции пользователем (закрытие программы или явный Disconnect), а во время реконнекта (потеря и автоматическое восстановление связи) урезание БД производиться не будет:
    • «After disconnecting» («После отключения от сервера»)
    • «Before connecting» («Перед соединением с сервером»)
    • «Manually only» («Только вручную») : урезание автоматически не производится, но может быть выполнено вручную (до заданной выше глубины).
  • Кнопка «Reduce history depth to preset value» («Урезать графическую историю до заданной глубины») - Урезаем графическую историю до заданной выше глубины вручную. Если глубина не ограничена («Unlimited»), то кнопка заблокирована.
  • Кнопка «Delete all history» («Удалить всю историю») - пересоздаем файл БД, и загружаем заново минимально необходимые данные для открытых окон графиков.

Во время урезания БД графической истории по нескольким инструментам или по всей БД появляется диалог (при обновлении данных одного окна графика диалог не появляется):

  • «History reducing...» («Производится урезание графической истории...»);
  • Progress Bar;
  • Кнопка «Cancel («Прервать»): Позволяет прервать процесс.

При автоматическом урезании истории диалог с прогресс-баром выводится, если процесс урезания продолжается более 5 секунд.

Механизм автоматического урезания истории служит главным образом для того, чтобы ограничить чрезмерное и бесполезное разрастание БД графической истории. Во время урезания глубины истории до заданного значения, размер БД может и не уменьшиться. Удаление (точее - пересоздание графической БД) служит в первую очередь именно для уменьшения размера файла БД, поэтому эта операция должна удалять файл и создавать его заново.

Возможна ситуация, когда для некоторых пар {инструмент + временной_интервал} потребуется сохранение большей глубины графической истории, чем задано в настройках. Необходимость в этом возникает, если для каких-либо окон графиков в их текущем виде требуется большая, чем задана в настройках, глубина графической истории. Например, пользователь ограничил глубину истории значением 500 баров, при этом у него открыто окно графика, сдвинутое назад на 5000 баров и отключен автосдвиг, или, например, в каком-либо окне имеется графический объект, точки привязки которого отстают от текущего времени более чем на 500 баров и т.д... Во всех подобных случаях глубина графической истории должна сохраняться в объеме, необходимом для окна графика, чтобы избежать удаления и подкачки одних и тех же данных при каждом соединении.