I am instantiating the object once the CurrentBar data has been processed as follows:
protected override void OnBarUpdate()
{
if( CurrentBar < Count - 2) {return;}
if(!once)
{
once=true;
spot=DrawDot("spot",false,Time[0],High[0],Color.Blue);
Print("INITIAL spot.Y: "+spot.Y.ToString()+" spot.Time: "+spot.Time.ToString()+" spot.Color: "+spot.Color.ToString());
}
}
private void PMLBD(object s, System.Windows.Forms.MouseEventArgs e)
{
ptM.X=e.X; ptM.Y=e.Y;
double price = GetValueByY(ptM.Y);//where I am capturing the price
DateTime time = GetTimeByX(ptM.X);//where I am capturing the time
Print("spot.Y: "+spot.Y.ToString()+" spot.Time: "+spot.Time.ToString()+" spot.Color: "+spot.Color.ToString());
spot.Y=Instrument.MasterInstrument.Round2TickSize(price);
spot.Time=time;
Print("price: "+price.ToString()+" time: "+time.ToString());
Print("");
ChartControl.Refresh();
}

Comment