#84663 - Thu Feb 28 2019 11:51 AM
Проблемы с процессом оптимизации
|
stranger
Registered: Sat Nov 10 2018
Записи: 7
|
Похожей темы не нашел, поэтому создал новую, извиняюсь. Проблема следующего характера, имеется стационарный ПК i7 7700, 24гига оперативки, твердотельный жёсткий, видеокарта geforse gtx 1060(хотя видюха то тут и не нужна).
Оптимизация скрипта при небольших прогонах проходит нормально, но как только ставлю оптимизацию больше чем на 2 часа (ориентировочное время выдает сам ТсЛаб) реальное время составляет около 5 часов,а то и больше и растет в прогрессии (первые процентов 60-70 пролетают как положено,),хотел поставить на 4 часа на ночь,реальное время составило около 14 часов, причем последние 6-7 процентов шли около 8 часов. При оптимизации в таких случаях программа тупо не отвечает и зависает минут по 10-15, отвисает секунд на 10 и опять зависает минут на 15. Оперативу жрет всю, процессор тоже на 80-100%. Если оптимизация до часу времени, то все нормально.С настройками в самом ТсЛаб уже экспериментировал.С ПК в других задачах проблем нет. В чем проблема помогите?
|
Наверх
|
|
|
|
#84665 - Thu Feb 28 2019 12:07 PM
Re: Проблемы с процессом оптимизации
[Re: sar]
|
member
Registered: Wed Feb 08 2017
Записи: 194
|
Если через api работаете, то ctx.GetData, возможно, поможет. Есть ли такое в кубиках не знаю
Отредактировано OldMo (Thu Feb 28 2019 12:08 PM)
|
Наверх
|
|
|
|
#84666 - Thu Feb 28 2019 12:12 PM
Re: Проблемы с процессом оптимизации
[Re: sar]
|
old hand
Registered: Wed Oct 12 2011
Записи: 742
Loc: Россия
|
Если процесс протекает ровно так , как у Вас описано, то это значит, что 60-70% от числа проходов выполняются как и задумано- через ОЗУ, а после его заполнения обмен резами расчётов идёт через жесткий диск, кусками, частями лишь бы "досчитать". В вашем случае нужно не время оптимизации закладывать, а число проходов регулировать, так чтобы размера ОЗУ хватило. Начните с малого числа, посмотрите какие результаты по параметрам выдает, определите возможность сокращения числа перебора параметров и тогда будет понятно, что из них лишнее и от чего можно отказаться. Оптимизировать всё и вся не самый разумный подход в алготрейдинге.
Отредактировано Rezident (Thu Feb 28 2019 12:13 PM)
|
Наверх
|
|
|
|
#84667 - Thu Feb 28 2019 12:18 PM
Re: Проблемы с процессом оптимизации
[Re: OldMo]
|
stranger
Registered: Sat Nov 10 2018
Записи: 7
|
Да, через API, ctx.GetData это что?
|
Наверх
|
|
|
|
#84668 - Thu Feb 28 2019 01:19 PM
Re: Проблемы с процессом оптимизации
[Re: Pogorelii1993]
|
member
Registered: Wed Feb 08 2017
Записи: 194
|
Функция сохраняющая данные в кеш во время оптимизации. Чтобы не считать одно и тоже тысячи раз. Пример: public OptimProperty EmaPeriod = new OptimProperty(20, 20, 200, 20); var ema = ctx.GetData("ema", new[] {EmaPeriod.ToString()}, () => Series.EMA(sec.ClosePrices, EmaPeriod));
без GetData ема рассчитывается при каждом проходе скрипта. С использованием GetData ема рассчитывается для каждого значения параметра один раз, кешируется, а затем при необходимости берется из кеша.
Что при этом происходит с оперативной памятью, я точно не знаю, но работу оптимизации это ускорит точно. С параметрами только аккуратнее. Если с ними напутать то, естественно, будет неверное значение из кеша загружаться.
Отредактировано OldMo (Thu Feb 28 2019 01:23 PM)
|
Наверх
|
|
|
|
|
|