Chart 4.2.3.8 - отображение свечей и индикаторов в разных ChartArea
							
							
						 
						
						
						
						
	
			Добрый вечер!
Столкнулся с проблемой временной шкалой при отображении графиков и индикаторов.
Создаю 3 ChartArea на графике CandlesChart
- candlesDealsArea для отображения свечей и собственных сделок
- indicatorOneArea для отображения индикатора "Один"
- indicatorTwoArea для отображения индикатора "Два"
Код
			
		var candlesDealsArea = new ChartArea();
		var indicatorOneArea = new ChartArea();
		var indicatorTwoArea = new ChartArea();
		_candlesElem = new ChartCandleElement();
		candlesDealsArea.Elements.Add(_candlesElem);
		_myTradesElem = new ChartTradeElement();
		candlesDealsArea.Elements.Add(_myTradesElem);
		_indicatorOneElem = new ChartIndicatorElement { Indicator = IndicatorOne };
		indicatorOneArea.Elements.Add(_indicatorOneElem);
		_indicatorTwoElem = new ChartIndicatorElement { Indicator = IndicatorTwo };
		indicatorTwoArea.Elements.Add(_indicatorTwoElem);
		CandlesChart.Areas.Add(candlesDealsArea);
		CandlesChart.Areas.Add(indicatorOneArea);
		CandlesChart.Areas.Add(indicatorTwoArea);
 Далее, если я рисую свечи и значения индикаторов следующим образом, то все работает отлично - все графики отображаются синхронно по временной оси (x-axis):
Код
		strategy.NewCandle += (candle) =>
		{
			private var chartDict = new Dictionary<IChartElement, object>
			{
				{_candlesElem, currentCandle},
				{_indicatorOneElem, new ChartIndicatorValue(IndicatorOne, IIndicatorOneValue) },
				{_indicatorTwoElem, new ChartIndicatorValue(IndicatorTwo, IIndicatorTwoValue) },
			};
			CandlesChart.GuiAsync(() => CandlesChart.ProcessValues(candle.OpenTime, chartDict));
        }
		strategy.NewMyTrades += (myTrades) =>
		{
			foreach (var myTrade in myTrades)
			{
				var chartDict = new Dictionary<IChartElement, object>
				{
					{_myTradesElem, myTrade}
				};
                CandlesChart.GuiAsync(() => CandlesChart.ProcessValues(myTrade.Trade.Time, chartDict));
			}
		};
 Но, мне необходимо обновлять значения индикаторов чаще, чем рисуются свечи, поэтому для меня схема выше не подходит (разве что рисовать свечи чаще).
Поэтому я хочу сделать например вот так:
Код
				strategy.NewCandle += (candle) =>
				{
					var chartDict = new Dictionary<IChartElement, object>
					{
						{_candlesElem, currentCandle},
					};
                                        
					CandlesChart.GuiAsync(() => CandlesChart.ProcessValues(candle.OpenTime, chartDict));
                                
				}
				strategy.NewTrade += (trade) =>
				{
					var chartDict = new Dictionary<IChartElement, object>
					{
						{_indicatorOneElem, new ChartIndicatorValue(IndicatorOne, IIndicatorOneValue) },
					};
                                        
					CandlesChart.GuiAsync(() => CandlesChart.ProcessValues(trade.Time, chartDict));
				}
				strategy.PositionChanged += () =>
				{
					var chartDict = new Dictionary<IChartElement, object>
					{
						{_indicatorTwoElem, new ChartIndicatorValue(IndicatorTwo, IIndicatorTwoValue) },
					};
					CandlesChart.GuiAsync(() => CandlesChart.ProcessValues(strategy.CurrentTime, chartDict));
				}
				strategy.NewMyTrades += (myTrades) =>
				{
					foreach (var myTrade in myTrades)
					{
						var chartDict = new Dictionary<IChartElement, object>
						{
							{_myTradesElem, myTrade}
						};
                                                
						CandlesChart.GuiAsync(() => CandlesChart.ProcessValues(myTrade.Trade.Time, chartDict));
					}
				};
 тут возникает проблема - у каждого графика своя временная ось (кроме собственных сделок, т.к. они отображаются в одной области со свечами), что неудобно так как хочется знать значения того или иного индикатора во время определенной свечи.
Вопрос - как сделать одну временную ось и при этом обновлять элементы НЕ одновременно?
Вопрос 2 - есть ли реализованная возможность рисовать Тиковые сделки?
Спасибо!