Кластерные блоки. Как работает кеширование.
Как работает кеширование кластерных блоков. Расчёт кластерных блоков для прошлого, происходит единожды. Расчёты кешируются в файл в папке на одном уровне с папкой логов программы(Инструменты - Папка с логами), в папке CachedTradeHistograms При повторных обращениях, считываются результаты из файла. Если в настройках программы установлено расписание перезагрузки, кешевые файлы будут разбиты на дни. Если был пропуск в данных, например, отсутствие интернета, в файлах пропущенных данных может не оказаться. Кеш файл не перезаписывается, поэтому, если нужно пересчитать статистику за какой-то день, кешевый файл нужно удалить(перенести в другое место, при выключенной программе). При новом запросе, будет создан новый файл с пересчетом кластера за данный день.
Если изменить кластер, то первый раз скрипт очень долго считается, иногда больше, чем 40 сек (Параметр по умолчанию. Файл - Настройки программы - Оптимизация скрипта - Остановить скрипт после). После этого первого пересчета, работает нормально. Почему именно так работает? В скрипте установлен основной интервал, кеширование насчитывает кластер на каждую свечу, запоминает в памяти и сохраняет на диск. Кластеры на таймфреймы насчитываются из интервальных закешированных интервальных кластеров. При последующих запусках программы, насчитанный кеш для интервальных кластеров читается с диска. Меняем, например, интервал скрипта или шаг цены кластеров - насчитывается новый кеш. Если в скрипте история большая, для данного компьютера, то изменение параметров кластерного кубика может привести к сообщению "Скрипт остановлен, после 40 секунд исполнения". Что можно сделать: - Увеличить время работы скрипта, в настройках программы. - Уменьшить загружаемую в скрипт историю. (В свойствах скрипта параметры МаксБаров или МаксДней) При проведении бек-теста скрипта с кластерными индикаторами программа через некоторое время выключается. Какое может быть решение данной проблемы? - Если программа запущена в 64-битном режиме, то есть два варианта 1. снижение количества объема сделок, за счет уменьшения количества загружаемых баров 2. увеличение ресурсов компьютера. Если в 32-тном, вариант один: Включить программу в 64х битном режиме.