Пример #1
0
        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);
            }
        }
Пример #2
0
        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));
            }
        }
Пример #3
0
        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));
        }