Утечка памяти


Утечка памяти
Atom
2/6/2012


При запуске EmulationTrader на сохраненных из квика тиках приложение потребляет очень много памяти, даже без генерации свечек и тестирования стратегии. Следующий код потребляет на пике более 800 мб, при этом после его завершения объем выделенной памяти остается на уровне около 500 мб. Если подключить генерацию свечек, то памяти моего ПК не хватает на тестирование. Подскажите, где копать?

Code

var storage = new TradingStorage(new InMemoryStorage())
			{
				BasePath = @"K:\ТРЭЙДИНГ\Данные из квика",
			};

			var startTime = ((DateTime)this.datePicker1.SelectedDate).Date;
			var stopTime = ((DateTime)this.datePicker2.SelectedDate).Date + new TimeSpan(18, 55, 0);
			
			var securitybase = (Security)this.cb_sec.SelectedItem;

			var security = new Security
			{
				Id = securitybase.Id,
				Class = securitybase.Class,
				Code = securitybase.Code,
				MinStepSize = securitybase.MinStepSize,
				Decimals = securitybase.Decimals,
				Exchange = securitybase.Exchange,
			};

			// тестовый портфель
			var portfolio = new Portfolio { Name = "test account" };

			var trader = new EmulationTrader(
					new[] { security },
					new[] { portfolio },
					storage)
			{
				// параметр влияет на занимаемую память.
				// в случае достаточно количества памяти на компьютере рекомендуется его увеличить
				DaysInMemory = 1,
				MarketTimeChangedInterval = TimeSpan.FromHours(1),
				Storage = storage,
				WorkingTime = Exchange.Rts.WorkingTime
			};


			trader.Connect();
			trader.StartExport();
			trader.Start(startTime, stopTime);



Thanks:


Mikhail Sukhov

Avatar
Date: 2/7/2012
Reply


InsiderHSE Go to
Следующий код потребляет на пике более 800 мб, при этом после его завершения объем выделенной памяти остается на уровне около 500 мб.


Версия? Протестировать на этом коде как есть, без каких либо стратегий?

Тестер кушает памяти очень много. Со стаканами еще больше.
Thanks:

Church

Avatar
Date: 2/7/2012
Reply


Да, для работы с тиками хотя бы за год мне пришлось воткнуть 16гб.
И все же, я думаю, для тех кто тестирует страты в S# пригодилась бы команда эмулятору dispose'ить трейды, из которых уже сформированы свечки.
Thanks:

Mikhail Sukhov

Avatar
Date: 2/7/2012
Reply


Church Go to
Да, для работы с тиками хотя бы за год мне пришлось воткнуть 16гб.
И все же, я думаю, для тех кто тестирует страты в S# пригодилась бы команда эмулятору dispose'ить трейды, из которых уже сформированы свечки.


Тики сейчас (в 4.0) даже нигде не сохраняются, кроме Candle Container, из которого тики периодически удаляются. В самом EmulationTrader кэшируется разве что заявки и сделки, но это суммарно копейки.
Thanks:


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

loading
clippy