У вас не стоит Flash Player
Настройки
#84663 - Thu Feb 28 2019 11:51 AM Проблемы с процессом оптимизации
Pogorelii1993 Offline
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%. Если оптимизация до часу времени, то все нормально.С настройками в самом ТсЛаб уже экспериментировал.С ПК в других задачах проблем нет.
В чем проблема помогите?

Наверх
#84664 - Thu Feb 28 2019 11:59 AM Re: Проблемы с процессом оптимизации [Re: Pogorelii1993]
sar Offline
Pooh-Bah

Registered: Fri Jan 28 2011
Записи: 1630
ну раз упирается в оперативку значит в алгоритме есть что то прожорливое. нужно чем либо жертвовать. или уменьшить длинну истории или количество проходов
_________________________
Обучение TSLab
https://www.youtube.com/channel/UC_ifEsHB5QTxG7LPr9n7KtA?view_as=subscriber

Наверх
#84665 - Thu Feb 28 2019 12:07 PM Re: Проблемы с процессом оптимизации [Re: sar]
OldMo Offline
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]
Rezident Offline
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]
Pogorelii1993 Offline
stranger

Registered: Sat Nov 10 2018
Записи: 7
Да, через API, ctx.GetData это что?

Наверх
#84668 - Thu Feb 28 2019 01:19 PM Re: Проблемы с процессом оптимизации [Re: Pogorelii1993]
OldMo Offline
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)

Наверх


Moderator:  ViL, sar