Thanks
DaveN
// Wizard generated variables
private int period = 14;
private DataSeries HMASeries;
private DataSeries HMA_DiffSeries;
// private DataSeries Diff_AvgSeries;
// User defined variables (add any user defined variables below)
private double DynamicR = 0;
private double DynamicS = 0;
private double SR_Diff = 0;
// private double DiffAvg = 0;
private double HH = 0;
private double LL = 0;
private int barcounter = 0;
#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.Black,3), PlotStyle.Bar, "RTM"));
Add(new Plot(new Pen(Color.Magenta,2), PlotStyle.Line, "RTM_Avg"));
HMASeries = new DataSeries(this);
HMA_DiffSeries = new DataSeries(this);
// Diff_AvgSeries = new DataSeries(this);
CalculateOnBarClose = true;
Overlay = false;
PriceTypeSupported = false;
PaintPriceMarkers = true;
AutoScale = false;
BarsRequired = 14;
}
/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
HMASeries.Set(HMA(period)[0]);
if ( CurrentBar < 2 ) return;
{
HH = High[Bars.HighestBar(10)];
if (HMASeries[1] > HMASeries[2] && HMASeries[0] < HMASeries[1])
DynamicR=HH;
LL = Low[Bars.LowestBar(10)];
if(HMASeries[1]< HMASeries[2] && HMASeries[0] > HMASeries[1])
DynamicS=LL;
}
if ( CurrentBar < period) return;
SR_Diff = (DynamicR - DynamicS);
HMA_DiffSeries.Set(SR_Diff);
RTM.Set(SR_Diff);
// RTM_Avg.Set(SMA(SR_Diff(), period)[0]);
//
// Diff_AvgSeries.Set(SMA(SR_Diff, period)[0]);
}
#region Properties
[Browsable(false)] // this line prevents the data series from being displayed in the indicator properties dialog, do not remove
[XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove
public DataSeries RTM
{
get { return Values[0]; }
}
// [Browsable(false)] // this line prevents the data series from being displayed in the indicator properties dialog, do not remove
// [XmlIgnore()] // this line ensures that the indicator can be saved/recovered as part of a chart template, do not remove
// public DataSeries RTM_Avg
// {
// get { return Values[1]; }
// }
[Description("Numbers of bars used for calculations")]
[Category("Parameters")]
public int Period
{
get { return period; }
set { period = Math.Max(1, value); }
}
#endregion
Comment