Here is the code that I need to modify: how can this be done?
#region Variables
double weeklyOpen = 0;
double weeklyHigh = 0;
double weeklyLow = 0;
double weeklyClose = 0;
double prWeeklyOpen = 0;
double prWeeklyHigh = 0;
double prWeeklyLow = 0;
double prWeeklyClose = 0;
DateTime newWeek = DateTime.MinValue;
#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(Color.FromKnownColor(KnownColor.Orange), PlotStyle.Hash, "CurrentWeekOpen"));
Add(new Plot(Color.FromKnownColor(KnownColor.Blue), PlotStyle.Hash, "CurrentWeekHigh"));
Add(new Plot(Color.FromKnownColor(KnownColor.Red), PlotStyle.Hash, "CurrentWeekLow"));
Add(new Plot(Color.FromKnownColor(KnownColor.Green), PlotStyle.Hash, "CurrentWeekClose"));
Overlay = true;
AutoScale = false;
}
/// <summary>
/// Called on each bar update event (incoming tick)
/// </summary>
protected override void OnBarUpdate()
{
if (!Bars.BarsType.IsIntraday)
{
this.DrawTextFixed("err", "PriorWeekOHLC only works on intraday interval", TextPosition.BottomRight);
return;
}
if (newWeek < Time[0])
{
prWeeklyOpen = weeklyOpen;
prWeeklyHigh = weeklyHigh;
prWeeklyLow = weeklyLow;
prWeeklyClose = weeklyClose;
weeklyOpen = Open[0];
weeklyHigh = High[0];
weeklyLow = Low[0];
weeklyClose = Close[0];
newWeek = Time[0].Date.AddDays(7 - (int)Time[0].DayOfWeek);
}
if (prWeeklyOpen != 0)
{
PriorWeekOpen.Set(prWeeklyOpen);
PriorWeekHigh.Set(prWeeklyHigh);
PriorWeekLow.Set(prWeeklyLow);
PriorWeekClose.Set(prWeeklyClose);
}
weeklyHigh = Math.Max(High[0], weeklyHigh);
weeklyLow = Math.Min(Low[0], weeklyLow);
weeklyClose = Close[0];
}
Comment