protected override void OnStarted() { _series = new CandleSeries(typeof(TimeFrameCandle), Security, TimeFrame); _shortSma.Length = ShortSmaPeriod; _longSma.Length = LongSmaPeriod; if (_area == null) { _area = new ChartArea(); _area.Elements.Add(new ChartCandleElement()); _area.Elements.Add(new ChartIndicatorElement { Color = Colors.Green, StrokeThickness = 1 }); _area.Elements.Add(new ChartIndicatorElement { Color = Colors.Red, StrokeThickness = 1 }); _area.Elements.Add(new ChartTradeElement()); new ChartAddAreaCommand(_area).Process(this); } this .WhenNewMyTrades() .Do(trades => { foreach (var myTrade in trades) { new ChartDrawCommand(myTrade.Trade.Time, new Dictionary <IChartElement, object> { { _area.Elements[3], myTrade } }).Process(this); } }) .Apply(this); _series .WhenCandles() .Do(Process) .Apply(this); this.GetCandleManager().Start(_series); Security .WhenMarketDepthChanged(SafeGetConnector()) .Do(md => new UpdateMarketDepthCommand(md).Process(this)) .Apply(this); SafeGetConnector().RegisterMarketDepth(Security); base.OnStarted(); }