Удаление неиспользуемых свечей из CandleSeries


Удаление неиспользуемых свечей из CandleSeries
Atom
5/31/2013


Попробовал начать использовать в своей стратегии CandleManager и CandleSeries.
Время тестирования увеличилось в несколько раз. Памяти 32ГБ уже не хватает.
Предполагаю, что память расходуется на хранение свечей (у меня таймфрейм 1 сек на данных за 9 месяцев).
В CandleSeries мне нужны свечи только за последнюю минуту.
Подскажите, есть ли способ удалять ненужные свечи из CandleSeries?
Инициализирую так:



Thanks:


Иван З.

Avatar
Date: 5/31/2013
Reply


В днях это так выглядит:
Code
_candleManager.Container.CandlesKeepTime = TimeSpan.FromDays(2);

В минутах это наверное будет выглядеть так:
Code
_candleManager.Container.CandlesKeepTime = TimeSpan.FromMinutes(1);

Попробуйте я не проверял.
Thanks: vk37

vk37

Avatar
Date: 5/31/2013
Reply


Не помогло. Пока не знаю что делать. То ли разбираться в кодах стокшарпа, то ли свой CandleManager реализовывать.
Thanks:

Иван З.

Avatar
Date: 5/31/2013
Reply


А что не получилось то?
Я взял тики создал из них свечки по 1 секунде, установил
Code
_candleManager.Container.CandlesKeepTime = TimeSpan.FromMinutes(1);

сохраняю свечи серрии в коллекцию
Code
var W = candleSeries.GetCandles<Candle>().ToList();

каждый шаг смотрю, что с коллекцией, больше 60 свечей не показывает, и по времени они нормальные.
Или вы что то другое рассчитывали получить?

Thanks:

vk37

Avatar
Date: 5/31/2013
Reply


Иван З. Go to
А что не получилось то?
Я взял тики создал из них свечки по 1 секунде, установил
Code
_candleManager.Container.CandlesKeepTime = TimeSpan.FromMinutes(1);

сохраняю свечи серрии в коллекцию
Code
var W = candleSeries.GetCandles<Candle>().ToList();

каждый шаг смотрю, что с коллекцией, больше 60 свечей не показывает, и по времени они нормальные.
Или вы что то другое рассчитывали получить?



Ограничение по количеству свечей работает. По прежнему большой расход памяти: 32ГБ потребляются полностью и, после того как 32ГБ исчерпаны, тестирование происходит очень медленно. Использую в тестировании BasketTrader. Включаю в него 10 экземпляров EmulationTrader. Тестирую период в 9 месяцев. Свечи строю двух таймфреймов: в несколько секунд и несколько минут.
Thanks:

Moadip

Avatar
Date: 5/31/2013
Reply


Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа этого.
Чтобы посмотреть куда память утекает.
На форуме уже поднимался этот вопрос и не раз, что течет.
Вроде фиксили, но возможно недофиксили.[laugh]
Thanks:

Иван З.

Avatar
Date: 5/31/2013
Reply


Тесту приходится перебирать все тики, за 9 месяцев. Их сколько? И сколько обычный foreach их перебирать будет?
Thanks:

vk37

Avatar
Date: 5/31/2013
Reply


Moadip Go to
Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа этого.
Чтобы посмотреть куда память утекает.
На форуме уже поднимался этот вопрос и не раз, что течет.
Вроде фиксили, но возможно недофиксили.[laugh]


Думал уже над этим. И профилировщик именно этот поставил. Я так понимаю, что чтобы что-то увидеть в профилировщике, нужны *.pdb файлы от стокшарп сборок. У меня их нет. Если только компилировать по открытым исходникам. Но они устаревшей версии. Пока не заморачивался с этим.
Thanks:

vk37

Avatar
Date: 5/31/2013
Reply


Иван З. Go to
Тесту приходится перебирать все тики, за 9 месяцев. Их сколько? И сколько обычный foreach их перебирать будет?

Свечи строятся на основе MarketDepth. Может еще в этом проблема.

Thanks:

vk37

Avatar
Date: 6/3/2013
Reply


Moadip Go to
Прежде чем изобретать велосипед, неплохо бы погонять под профилировщиком типа этого.
Чтобы посмотреть куда память утекает.
На форуме уже поднимался этот вопрос и не раз, что течет.
Вроде фиксили, но возможно недофиксили.[laugh]

Память стала утекать, когда логику работы стратегии перестроил с использованием CandleManager и индикаторов (до этого без них обходился). Следующую модификацию стратегии стелал без CandleManager, но с индикаторами. И память все равно в моем случае утекала. Сейчас сделал свою упрощенную реализацию индикатора без реализации IIndicator. С памятью стало все нормально. В моем случае проблема с утечкой памяти была в использовании индикатора SimpleMovingAverage.
Thanks:

Mikhail Sukhov

Avatar
Date: 6/4/2013
Reply


IIndicatorContainer
Thanks:


Attach files by dragging & dropping, , or pasting from the clipboard.

loading
clippy