SciChart® the market leader in Fast WPF Charts, WPF 3D Charts, iOS Chart, Android Chart and JavaScript Chart Components


I’m trying to implement leading indicators. I have OHLC series as main (RenderableSeries[0]) and when I’m adding leading series with future DateTime value they still render as non-leading.

Code snippet:

XyDataSeries<DateTime, double> ser = (XyDataSeries<DateTime, double>) chartControl.RenderableSeries[series.index].DataSeries;

                if (candles.Count <= 0 || ser == null) { return; }

                if (ser.Count == 0)
                { ser.Append(candles[0].BeginTime, candles[0].Close); series.last = 0; }
                else { ser.Update(candles[series.last].BeginTime, candles[series.last].Close); }

                //ChartData.BaseXValues не идут в будущее
                List<DateTime> time = new List<DateTime>();
                List<double> open = new List<double>();
                List<double> close = new List<double>();
                List<double> high = new List<double>();
                List<double> low = new List<double>();

                for (int i = series.last + 1; i < candles.Count && candles[i]!=null; i++)

                if (time.Count > 0)
                    ser.Append(time, close);


Debugger screenshot:

  • You must to post comments

Hi VReuda,

CategoryDateTimeAxis looks at the index of each data-point to determine where to place it. This is by design.

If you wish to have a leading indicator, you can pre-pend the series with Y=double.NaN. We do this in our SciTrader examples to show moving averages for example.

I hope this helps,

  • VRueda
    That works fine. And one more question: how can I change some kind of "max limit" of XAxis VisibleRange? I mean not just changing VisibleRange.Max, but setting the right border offset from the end of the main series. Is there a way to avoid scripting all VisibleRange changes manually?
  • Andrew Burnett-Thompson
    Hi there, There are a few things you can do. You can use Axis.GrowBy which adds a padding to the axis. You can use Axis.AutoRange, which zooms to fit data or leaves this manual You can use SciChartSurface.ViewportManager, which gives full control over the viewport. I hope this helps, Andrew
  • You must to post comments
Showing 1 result
Your Answer

Please first to submit.