Здравствуйте, подскажите, пожалуйста,
создаю:
Код
...
Trader = new EmulationTrader(
new[] { security },
new[] { portfolio })
{
StartTime = _rangeTime.StartTime,
StopTime = _rangeTime.StopTime,
MarketTimeChangedInterval = timeFrame,
Storage = storage,
WorkingTime = Exchange.Rts.WorkingTime,
BufferSize = 100000000,
};
var candleManager = new CandleManager(new SyncTraderCandleSource(Trader));
candleManager.RegisterTimeFrameCandles(security, timeFrame);
...
передаю в стратегию, в стратегии подписываюсь на событие окончания формирования свечек
Код
...
_candleManager.CandlesFinished += OnCandlesFinished;
при тестировании получаю:
серебро, золото в 1 секунду приходят десятки свечек (все замечатьльно)
0.01460785 [7744] SA Стратегия запущена.
1.01266527 [7744] SA Time 15.12.2009 10:30:00
1.32536006 [7744] SA Time 15.12.2009 11:00:00
1.40875268 [7744] SA Time 15.12.2009 11:30:00
1.50156999 [7744] SA Time 15.12.2009 12:00:00
1.68105543 [7744] SA Time 15.12.2009 12:30:00
1.74173212 [7744] SA Time 15.12.2009 13:30:00
1.92636836 [7744] SA Time 15.12.2009 15:30:00
1.99092543 [7744] SA Time 15.12.2009 16:00:00
2.07673168 [7744] SA Time 15.12.2009 16:30:00
2.20514417 [7744] SA Time 15.12.2009 17:00:00
2.31050301 [7744] SA Time 15.12.2009 17:30:00
2.44161773 [7744] SA Time 15.12.2009 18:00:00
при тестировании индекса РТС в 20 (+/-) секунд приходит одна свечка
0.01460947 [3400] SA Стратегия запущена.
19.86399269 [3400] SA 40, Time 14.12.2009 19:00:00
41.78348541 [3400] SA 40, Time 14.12.2009 19:30:00
58.73326874 [3400] SA 40, Time 14.12.2009 20:00:00
73.32785034 [3400] SA 40, Time 14.12.2009 20:30:00
93.57959747 [3400] SA 40, Time 14.12.2009 21:00:00
121.92475891 [3400] SA 40, Time 14.12.2009 21:30:00
156.52507019 [3400] SA 40, Time 14.12.2009 22:00:00
174.81349182 [3400] SA 40, Time 14.12.2009 22:30:00
205.17909241 [3400] SA 40, Time 14.12.2009 23:00:00
итог: 9 тридцати минутных свеч, программа 1.5Мб исключение System.OutOfMemoryException
при тестировании контрактов LKOH после построения 25 свеч за 500 секунд (1 свеча 20 секунд) процесс пошел более быстрее.
0.01644796 [5828] SA Стратегия запущена.
3.07521367 [5828] SA 32, Time 14.12.2009 19:00:00
4.38461351 [5828] SA 32, Time 14.12.2009 19:30:00
6.77292013 [5828] SA 32, Time 14.12.2009 20:00:00
8.60875511 [5828] SA 32, Time 14.12.2009 20:30:00
9.16585255 [5828] SA 32, Time 14.12.2009 21:00:00
10.07854939 [5828] SA 32, Time 14.12.2009 21:30:00
11.40424538 [5828] SA 32, Time 14.12.2009 22:00:00
12.46323681 [5828] SA 32, Time 14.12.2009 22:30:00
18.28660583 [5828] SA 32, Time 14.12.2009 23:00:00
21.89432526 [5828] SA 32, Time 14.12.2009 23:30:00
53.01043701 [5828] SA 32, Time 15.12.2009 10:30:00
119.58635712 [5828] SA 32, Time 15.12.2009 11:00:00
185.16238403 [5828] SA 32, Time 15.12.2009 11:30:00
267.20208740 [5828] SA 32, Time 15.12.2009 12:00:00
303.97787476 [5828] SA 32, Time 15.12.2009 12:30:00
348.32104492 [5828] SA 32, Time 15.12.2009 13:00:00
369.00817871 [5828] SA 32, Time 15.12.2009 13:30:00
390.65640259 [5828] SA 32, Time 15.12.2009 14:00:00
414.89291382 [5828] SA 32, Time 15.12.2009 14:30:00
444.07022095 [5828] SA 32, Time 15.12.2009 15:00:00
473.62747192 [5828] SA 32, Time 15.12.2009 15:30:00
497.20465088 [5828] SA 32, Time 15.12.2009 16:00:00
500.43054199 [5828] SA 32, Time 15.12.2009 16:30:00
503.46044922 [5828] SA 32, Time 15.12.2009 17:00:00
506.67254639 [5828] SA 32, Time 15.12.2009 17:30:00
Понимаю, последние инструменты имеют гораздо большый объем сделок.
Подскажите, пожалуйста, каким образом увеличить скорость тестирования (использовать другой подход построения свеч?).