7/3/2013 10:36:26 AM R10 0.00694409322078236
7/3/2013 10:36:46 AM R10 0.00694409322078236
7/3/2013 10:36:55 AM R10 -0.0607314622361978<-------
7/3/2013 10:36:55 AM R11 4.48686402428761E-05
7/3/2013 10:37:11 AM R10 4.48686402428761E-05
I hope this makes sense and any help on what is causing this would be appreciated!
This is the code
public class DiffDataSeries : Indicator
{
#region Variables
// Wizard generated variables
private int fast = 12; // Default setting for Fast
private int slow = 26; // Default setting for Slow
private int smooth = 9; // Default setting for Smooth
// User defined variables (add any user defined variables below)
private DataSeries rangediff;
private DataSeries rangediff1; //Added range dataseries
#endregion
/// <summary>
/// This method is used to configure the indicator and is called once before any bar data is loaded.
/// </summary>
protected override void Initialize()
{
Add(new Plot(new Pen(Color.Blue, 5), PlotStyle.Line, "Line1")); //Current chart bar color
Add(new Plot(new Pen(Color.Blue, 8), PlotStyle.Line, "Line2"));// Higher range chart line 1 Plot 1
rangediff=new DataSeries(this);//current chart dataseries
Add(PeriodType.Range, 15);//New Higher range chart
Overlay = false;
CalculateOnBarClose = true;
}
/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
Line2.Set(1); //Added data series 1 horizontal level -color will be changed below
if (rangediff1 == null) //test taken from 'SampleDataSeries'
{
rangediff1= new DataSeries(SMA(BarsArray[1], 50));
}
if (BarsInProgress == 1) //First added 10 range bar timeframe
{
rangediff1.Set(MACD(BarsArray[1], Fast,Slow,Smooth).Diff[0]);//calculte the MACD.Diff and sync to dataseries
Print(Time+" R11 "+rangediff1[0]);//Prints rangediff1 (15bar range MACD.Diff value based on 15 range bar update)
}
if (BarsInProgress == 0) //Current charted range bar timeframe -want to plot MACD.Diff pos/neg Status for 15 range bar timeframe
{
if (rangediff1[0]>0) //if postive MACD.Diff plot green otherwise plot red
{
PlotColors[1][0]=Color.Green;//Plots the 15 range MACD.Diff status (pos/neg) based on every 5 range bar
}
else if (rangediff1[0]<0)
{
PlotColors[1][0]=Color.Red;
}
Print(Time+" R10 "+rangediff1[0]);//Prints rangediff1 (15bar range MACD.Diff value based on current chart bar update)
}
}
Comment