private void RefreshCharts() { if (Dispatcher.CheckAccess()) { _dataThreadActions.Add(RefreshCharts); return; } this.GuiSync(() => { Chart.ClearAreas(); _areaComb = new ChartArea(); var yAxis = _areaComb.YAxises.First(); yAxis.AutoRange = true; Chart.IsAutoRange = true; Chart.IsAutoScroll = true; Chart.AddArea(_areaComb); var id = (SecurityId)Securities.SelectedItem; _security = new Security { Id = id.ToStringId(), Code = id.SecurityCode, Type = SecurityTypes.Future, PriceStep = id.SecurityCode.StartsWith("RI", StringComparison.InvariantCultureIgnoreCase) ? 10 : id.SecurityCode.Contains("ES") ? 0.25m : 0.01m, Board = ExchangeBoard.Associated }; _securityProvider.Clear(); _securityProvider.Add(_security); _tradeGenerator = new RandomWalkTradeGenerator(id); _tradeGenerator.Init(); _tradeGenerator.Process(_security.ToMessage()); var series = new CandleSeries( SeriesEditor.Settings.CandleType, _security, SeriesEditor.Settings.Arg) { IsCalcVolumeProfile = true }; _candleElement = new ChartCandleElement { FullTitle = "Candles" }; Chart.AddElement(_areaComb, _candleElement, series); }); }
/// <summary> /// Create a copy of <see cref="RandomWalkTradeGenerator"/>. /// </summary> /// <returns>Copy.</returns> public override MarketDataGenerator Clone() { var clone = new RandomWalkTradeGenerator(SecurityId) { GenerateOriginSide = GenerateOriginSide, IdGenerator = IdGenerator }; CopyTo(clone); return(clone); }
private void RefreshCharts() { Chart.ClearAreas(); _areaComb = new ChartArea(); var yAxis = _areaComb.YAxises.First(); yAxis.AutoRange = true; Chart.IsAutoRange = true; Chart.IsAutoScroll = true; Chart.AddArea(_areaComb); _timeframe = TimeSpan.FromMinutes(((ComboBoxItem)Timeframe.SelectedItem).Tag.To <int>()); var id = (SecurityId)Securities.SelectedItem; _security = new Security { Id = id.ToStringId(), PriceStep = id.SecurityCode.StartsWith("RI", StringComparison.InvariantCultureIgnoreCase) ? 10 : id.SecurityCode.Contains("ES") ? 0.25m : 0.01m, Board = ExchangeBoard.Associated }; _tradeGenerator = new RandomWalkTradeGenerator(id); _tradeGenerator.Init(); _tradeGenerator.Process(_security.ToMessage()); var series = new CandleSeries( typeof(TimeFrameCandle), _security, _timeframe); _candleElement = new ChartCandleElement { FullTitle = "Candles" }; Chart.AddElement(_areaComb, _candleElement, series); LoadData(_security); }