コード例 #1
0
ファイル: BarListImpl.cs プロジェクト: w1r2p1/Core-1
        /// <summary>
        /// create barlist from a tik file using given intervals/types
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="uselast"></param>
        /// <param name="usebid"></param>
        /// <param name="intervals"></param>
        /// <param name="types"></param>
        /// <returns></returns>
        public static BarList FromTIK(string filename, bool uselast, bool usebid, int[] intervals, BarInterval[] types)
        {
            _uselast = uselast;
            _usebid  = usebid;
            SecurityImpl s = SecurityImpl.FromTik(filename);

            s.HistSource.GotTick += HistSource_gotTick;
            _fromepf              = new BarListImpl(s.Name, intervals, types);
            while (s.HistSource.NextTick())
            {
                ;
            }
            return(_fromepf);
        }
コード例 #2
0
ファイル: BarListImpl.cs プロジェクト: w1r2p1/Core-1
        /// <summary>
        /// get a barlist from tick data and optionally use bid/ask data to construct bars
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="uselast"></param>
        /// <param name="usebid"></param>
        /// <returns></returns>
        public static BarList FromTIK(string filename, bool uselast, bool usebid)
        {
            _uselast = uselast;
            _usebid  = usebid;
            SecurityImpl s = SecurityImpl.FromTik(filename);

            s.HistSource.GotTick += HistSource_gotTick;
            _fromepf              = new BarListImpl(s.Name);
            while (s.HistSource.NextTick())
            {
                ;
            }
            s.HistSource.Close();
            return(_fromepf);
        }
コード例 #3
0
ファイル: BarListImpl.cs プロジェクト: w1r2p1/Core-1
        /// <summary>
        /// insert a bar at particular place in the list.
        /// REMEMBER YOU MUST REHANDLE GOTNEWBAR EVENT AFTER CALLING THIS.
        /// </summary>
        /// <param name="bl"></param>
        /// <param name="b"></param>
        /// <param name="position"></param>
        /// <returns></returns>
        public static BarListImpl InsertBar(BarList bl, Bar b, int position)
        {
            BarListImpl copy = new BarListImpl(bl.Symbol, bl.CustomIntervals, bl.Intervals);

            // verify bar is valid
            if (!b.IsValid)
            {
                return(copy);
            }
            for (int j = 0; j < bl.CustomIntervals.Length; j++)
            {
                if ((bl.CustomIntervals[j] != b.CustomInterval) && (bl.Intervals[j] != b.BarInterval))
                {
                    continue;
                }
                int count = bl.IntervalCount(b.BarInterval, b.CustomInterval);
                if (count < 0)
                {
                    throw new Exception("bar has interval: " + b.BarInterval + "/" + b.CustomInterval + " not defined in your barlist for: " + bl.Symbol);
                }
                if (count > 0)
                {
                    for (int i = 0; i < count; i++)
                    {
                        if (i == position)
                        {
                            Addbar(copy, b, j);
                        }
                        Addbar(copy, bl[i, b.BarInterval, b.CustomInterval], j);
                    }
                }
                else
                {
                    Addbar(copy, b, j);
                }
            }
            return(copy);
        }
コード例 #4
0
ファイル: BarListImpl.cs プロジェクト: w1r2p1/Core-1
 internal static void Addbar(BarListImpl b, Bar mybar, int instdataidx)
 {
     b._intdata[instdataidx].AddBar(mybar);
 }