У вас не стоит Flash Player
Настройки
#73440 - Tue Sep 29 2015 09:04 AM Очистить кэш данных
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Каким образом можно удалить данные из кэша после того, как они стали не нужны?
Т.е., допустим имеем скрипт с тремя параметрами оптимизации. По второму и третьему параметру вычисляется индикатор, полученные значения кэшируются и используются при переборе по первому и второму параметру. Когда третий параметр меняется, кэшированные данные становятся не нужны, и необходимо освободить оперативную память.

Code:
public OptimProperty K = new OptimProperty(1, 1, 10, 1);
public OptimProperty Param2 = new OptimProperty(10, 10, 100, 1);
public OptimProperty Param3 = new OptimProperty(10, 10, 100, 1);

public void Execute(IContext context, ISecurity source) {
  IList<double> Ind = context.GetData("Ind", new string[] {Param2.ToString()+'_'+Param3.ToString()}, () => CalcInd(source, Param2, Param3));


Отредактировано CyberTrader (Tue Sep 29 2015 09:49 AM)

Наверх
#73441 - Tue Sep 29 2015 09:12 AM Re: Очистить кэш данных [Re: CyberTrader]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
с чего вы решили что они больше не нужны? ваш третий меняется и снова повторяются те же значение параметров 1 и 2 и снова их нужно вычислять.
_________________________
__


Наверх
#73443 - Tue Sep 29 2015 09:48 AM Re: Очистить кэш данных [Re: CyberTrader]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Originally Posted By: CyberTrader
По второму и третьему параметру вычисляется индикатор
(Немного изменил названия параметров, чтобы не было путаницы.)
Когда меняется третий параметр (Param3), предыдущий набор Param2+Param3 уже более не повторится.


Отредактировано CyberTrader (Tue Sep 29 2015 09:52 AM)

Наверх
#73447 - Tue Sep 29 2015 02:26 PM Re: Очистить кэш данных [Re: CyberTrader]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
никак не почистить. если памяти будет не хватать тслаб сам начнет чистить кэш, как я помню. Руками этого не сделать.
_________________________
__


Наверх
#73493 - Wed Sep 30 2015 08:21 AM Re: Очистить кэш данных [Re: ra81]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Originally Posted By: ra81
никак не почистить. если памяти будет не хватать тслаб сам начнет чистить кэш, как я помню.
Не, сам он ничего не чистит.


Отредактировано CyberTrader (Wed Sep 30 2015 08:21 AM)

Наверх
#73494 - Wed Sep 30 2015 08:22 AM Re: Очистить кэш данных [Re: CyberTrader]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
что значит не чистит? Давайте уже точнее ваши настройки кэша и так далее и что происходит. А то пока мы тут гадаем.
_________________________
__


Наверх
#73509 - Wed Sep 30 2015 06:58 PM Re: Очистить кэш данных [Re: ra81]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Настройки оптимизации:


В системе 16 Гб памяти. Системой и др. процессами было занято около 3-4 Гб.
Поставил на ночь скрипт с большим количеством проходов с тремя параметрами оптимизации, как в примере выше.
К утру TSLab выжрал всю память и выкинул сообщение о нехватке памяти.
Я освободил ещё 1-2 Гб, закрыл системные сообщения, но активировать TSLab не получилось: он что-то там себе считал в фоне, но окно приложения не появлялось. Только иконка на панели, да процесс в диспетчере... Как-то так...


Отредактировано CyberTrader (Wed Sep 30 2015 07:01 PM)

Наверх
#73558 - Thu Oct 01 2015 06:07 PM Re: Очистить кэш данных [Re: CyberTrader]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Так, что там с очисткой кэша? Нет информации?

Наверх
#73561 - Thu Oct 01 2015 07:06 PM Re: Очистить кэш данных [Re: CyberTrader]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Originally Posted By: CyberTrader
Так, что там с очисткой кэша? Нет информации?

Результаты оптимизации потребляют память. 1 строка приблизительно 1 кб. Вот и считайте что у вас выходит. Это уже не может быть зачищено, оно и жрет память.
_________________________
__


Наверх
#73563 - Thu Oct 01 2015 07:52 PM Re: Очистить кэш данных [Re: ra81]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Originally Posted By: ra81
Результаты оптимизации потребляют память. 1 строка приблизительно 1 кб. Вот и считайте что у вас выходит. Это уже не может быть зачищено, оно и жрет память.
Т.е., все результаты хранятся в памяти? Плохо. А такое ощущение, что результаты скидываются в хранилище, и при просмотре вкладки с результатами считываются оттуда: уж очень сильно тормозит эта вкладка даже если ничего не рассчитывается.
Лучше бы, действительно сохранял сразу в файл или БД: всё равно для комфортного просмотра результатов оптимизации приходится использовать другие средства.

В v.2 такая же беда?


Отредактировано CyberTrader (Thu Oct 01 2015 07:53 PM)

Наверх
#73564 - Thu Oct 01 2015 08:50 PM Re: Очистить кэш данных [Re: CyberTrader]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
тормозит потому что есть файл подкачки и часть грузится оттуда а это медленно.
Просто зачем столько пересчетов делать? Мильоны и мильярды? В этом нет смысла.

в 2 версии не скажу.
_________________________
__


Наверх
#73565 - Thu Oct 01 2015 09:22 PM Re: Очистить кэш данных [Re: ra81]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Originally Posted By: ra81
тормозит потому что есть файл подкачки и часть грузится оттуда а это медленно.
У меня нет файла подкачки smile
А страница результатов тормозит, даже если там всего несколько сот записей.


Отредактировано CyberTrader (Thu Oct 01 2015 09:23 PM)

Наверх
#73567 - Thu Oct 01 2015 10:02 PM Re: Очистить кэш данных [Re: ra81]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Originally Posted By: ra81
Просто зачем столько пересчетов делать? Мильоны и мильярды? В этом нет смысла.
Смысл есть: три параметра по 100 шагов - уже миллион проходов. При большем количестве параметров и пересчётов будет больше.
Выход - увеличивать шаг изменения параметров.
Но, согласитесь, отсутствие возможности задавать нелинейное изменение параметров - это большое упущение со стороны разработчиков.
К примеру: min = 10, max = 100. Чтобы уменьшить количество проходов, задаём шаг = 5. Получаем 19 проходов. Но при минимальном значении 10 шаг в 5 пунктов - это 50% к предыдущему значению!
Другой вариант: использовать переменный шаг, например в процентах от предыдущего значения параметра. Для данного примера диапазон 10-100 будет пройден за 19 шагов при шаге в 13,65%.
Согласитесь, второй вариант выгоднее.
Данный подход можно осуществить через API, перебирая параметры с минимальным шагом, но с ростом значения параметра пропуская часть расчётов. Но в этом случае в таблицу результатов попадут все результаты, просто часть из них будет с нулями.
Отсюда - и "мильоны пересчетов".


Отредактировано CyberTrader (Thu Oct 01 2015 10:04 PM)

Наверх
#73573 - Fri Oct 02 2015 05:48 AM Re: Очистить кэш данных [Re: CyberTrader]
ra81 Offline
Carpal Tunnel

Registered: Thu Sep 27 2012
Записи: 2860
Напишите свой оптимизатор smile. Он будет перебирать так как вам угодно. Это реально не сложно.

А то что у вас десять параметров и все хочется перебрать, это нереально просто. Даже мегагенетический оптимизатор даст на выходе ерунду. Либо локальный экстремум либо еще что, потому что такое число параметров обязательно даст изрытый ландшафт и не будет одной выпуклой поверхности. Будет много их. Изучайте сетку параметров убирайте левые или фиксируйте их.
_________________________
__


Наверх
#73575 - Fri Oct 02 2015 09:05 AM Re: Очистить кэш данных [Re: ra81]
CyberTrader Offline
stranger

Registered: Tue Jul 07 2015
Записи: 24
Originally Posted By: ra81
А то что у вас десять параметров и все хочется перебрать, это нереально просто.
Пошёл уже флуд. Я писал о десяти параметрах?

Originally Posted By: ra81
Даже мегагенетический оптимизатор даст на выходе ерунду. Либо локальный экстремум либо еще что, потому что такое число параметров обязательно даст изрытый ландшафт и не будет одной выпуклой поверхности. Будет много их. Изучайте сетку параметров убирайте левые или фиксируйте их.
В TSLab можно построить поверхность по результатам оптимизации? Не нашёл такого функционала.

Originally Posted By: ra81
Напишите свой оптимизатор
Где можно взять пример кода оптимизатора?


Отредактировано CyberTrader (Fri Oct 02 2015 09:24 AM)

Наверх


Moderator:  ViL, sar