A DataSeries is the basic data structure that represents a historical series. One of their key characteristics is that all DataSeries contain the same number of values as bars in the chart (when synchronized).
However, sometimes there can be a need to plot discontinuous indicators where certain timestamps do not have a value associated with the Y coordinate.
With Wealth-Lab .NET you can do it, here's a code snippet.
using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using WealthLab;
using WealthLab.Indicators;
namespace WealthLab.Strategies
{
public class MyStrategy : WealthScript
{
protected override void Execute()
{
// Color Bars of the indicator based on oversold/overbought levels
DataSeries rsi = RSI.Series( Close, 14 );
ChartPane rsiPane = CreatePane( 60, true, true );
PlotSeries( rsiPane, rsi, Color.Gray, WealthLab.LineStyle.Solid, 2 );
for(int bar = 50; bar < Bars.Count; bar++)
{
if ( rsi[bar] > 70 ) SetSeriesBarColor( bar, rsi, Color.Red ); else
if ( rsi[bar] < 30 ) SetSeriesBarColor( bar, rsi, Color.Blue ); else
SetSeriesBarColor( bar, rsi, Color.Transparent );
}
}
}
}
Notice the setting of bar series color to
Color.Transparent. What we did was simply hiding a
null value from being plotted - leaving white space on the chart instead.