Синхронное тестирование на истории двух разных TimeFrameCandle
Здравствуйте.
Скачал при помощи гидры свечки 5-минутки и часовики.
Попробовал загрузить разными HistoryEmulationConnector в разные графики - все работает.
Теперь пробую через один HistoryEmulationConnector загрузить оба набора свечей.
Пробовал и через один CandleManager и через разные, но подключенные к одному HistoryEmulationConnector.
Выскакивает одна и та-же ошибка - "An item with the same key has already been added."
Ругается на выделенную строку.
Причем в Series у СandleManager этот _series60m успевает добавиться.
Хочется понять я странного хочу или есть возможность синхронной симуляции двух разных TimeFrameCandle для одного инструмента.
Заранее спасибо за ответ.
Код
connector.NewSecurities += securities =>
{
if (securities.All(s => s != security))
return;
// start strategy before emulation started
strategy.Start();
candleManager.Start(_series5m);
candleManager.Start(_series60m); <-------------------------------- Проблема тут
// start historical data loading when connection established successfully and all data subscribed
connector.Start();
};
StackTrace:
Код
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Ecng.Collections.SynchronizedDictionary`2.Add(TKey key, TValue value)
at StockSharp.Algo.Testing.HistoryEmulationConnector.StockSharp.Algo.Candles.IExternalCandleSource.SubscribeCandles(CandleSeries series, DateTimeOffset from, DateTimeOffset to)
at StockSharp.Algo.Candles.CandleManager.ExternalCandleSource.StockSharp.Algo.Candles.ICandleSource<StockSharp.Algo.Candles.Candle>.Start(CandleSeries series, DateTimeOffset from, DateTimeOffset to)
at StockSharp.Algo.Candles.CandleSourceEnumerator`2.Start()
at StockSharp.Algo.Candles.CandleManager.Start(CandleSeries series, DateTimeOffset from, DateTimeOffset to)
at StockSharp.Algo.Candles.CandleHelper.Start(ICandleManager manager, CandleSeries series)
at SimpleStrategy.MainWindow.<>c__DisplayClass19_0.<Window_Loaded>b__0(IEnumerable`1 securities) in C:\Users\xxxxxxx\Stock\Stage\SimpleStrategy\SimpleStrategy\MainWindow.xaml.cs:line 258
at Ecng.Common.DelegateHelper.SafeInvoke[T](Action`1 handler, T arg)
at StockSharp.Algo.Connector.GetSecurity(String id, Func`2 changeSecurity)
at StockSharp.Algo.Connector.ProcessSecurityMessage(SecurityMessage message)
at StockSharp.Algo.Connector.OnProcessMessage(Message message)