Синхронизация NewTrades() и CandlesFinished()
обновился до 4.1, переписал тестер, но не пойму как синхронизировать эти события.
Код
var storage = new TradingStorage(new InMemoryStorage())
{
BasePath = HistoryPath.Text
};
_trader = new EmulationTrader(
new[] { security },
new[] { portfolio })
{
MarketTimeChangedInterval = timeFrame,
Storage = storage,
WorkingTime = Exchange.Rts.WorkingTime,
DaysInMemory = 1,
};
_trader.DepthGenerators[security] = new TrendMarketDepthGenerator(security)
{
Interval = TimeSpan.FromSeconds(2),
};
var candleManager = new CandleManager();
var cbs = new TradeStorageCandleBuilderSource { BasePath = HistoryPath.Text, Storage = storage };
var _builder = new TimeFrameCandleBuilder();
_builder.Sources.Add(cbs);
candleManager.Sources.Add(_builder);
candleseries = new CandleSeries(typeof(TimeFrameCandle), security, timeFrame);
candleManager.Start(candleseries, startTime, stopTime);
в стратегии 2 правила:
Код
this
.When(Security.SecurityNewTrades())
.Do(...);
this
.When(_candleManager.Series.ElementAt(0).CandlesFinished())
.Do(...);