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