void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { lock (Locker) { IBars bars = data.GetBars(data.GetSymbol(textBox1.Text), data.GetScale(ScaleEnum.tick, 1)); int tickNum = bars.Count; int secNum = tickNum / 4 + 1; TimeFor timeFor = (TimeFor)(tickNum % 4); float price = 0; switch (timeFor) { case TimeFor.Open: price = secNum + 2; break; case TimeFor.Low: price = secNum + 1; break; case TimeFor.High: price = secNum + 4; break; case TimeFor.Close: price = secNum + 3; break; } // DateTime dt = new DateTime(2010,11,12,15,0,0) + new TimeSpan(secNum * 10000000); DateTime dt = startDT + new TimeSpan(secNum * 10000000); OpenWealth.Simple.Tick t = new OpenWealth.Simple.Tick(dt, tickNum, price, 1); bars.Add(dataProvider, t); } }
static void NewTick(object sender, System.Timers.ElapsedEventArgs e) { double price; switch (timeFor) { case TimeFor.Open: price = secNum + 2; timeFor = TimeFor.Low; bars.Add(new DateTime(2010, 10, 10, 0, 0, secNum), price, price, price, price, 1); break; case TimeFor.Low: price = secNum + 1; timeFor = TimeFor.High; bars.Low[secNum] = price; bars.Close[secNum] = price; bars.Volume[secNum] = 2; break; case TimeFor.High: price = secNum + 4; timeFor = TimeFor.Close; bars.High[secNum] = price; bars.Close[secNum] = price; bars.Volume[secNum] = 3; break; case TimeFor.Close: price = secNum + 3; timeFor = TimeFor.Open; bars.Close[secNum] = price; bars.Volume[secNum] = 4; ++secNum; break; } if (NewBarEvent != null) { NewBarEvent(null, new BarEventArgs(bars.Count - 1)); } }
static void NewTick(object sender, System.Timers.ElapsedEventArgs e) { double price; switch (timeFor) { case TimeFor.Open: price = secNum + 2; timeFor = TimeFor.Low; bars.Add(new DateTime(2010, 10, 10, 0, 0, secNum), price, price, price, price, 1); break; case TimeFor.Low: price = secNum + 1; timeFor = TimeFor.High; bars.Low[secNum] = price; bars.Close[secNum] = price; bars.Volume[secNum] = 2; break; case TimeFor.High: price = secNum + 4; timeFor = TimeFor.Close; bars.High[secNum] = price; bars.Close[secNum] = price; bars.Volume[secNum] = 3; break; case TimeFor.Close: price = secNum + 3; timeFor = TimeFor.Open; bars.Close[secNum] = price; bars.Volume[secNum] = 4; ++secNum; break; } if (NewBarEvent != null) NewBarEvent(null, new BarEventArgs(bars.Count-1)); }