Example #1
0
        // добавляет новый уровень, проверят чтобы не было дублей
        private int AddLevel(int Bar, double Price1, double Price2)
        {
            trueLevel tl;

            for (int i = 0; i < Levels.Count; i++)
            {
                if (Levels[i].Bar == Bar)
                {
                    return(0);
                }
            }

            tl = new trueLevel(Bar, Price1, Price2);
            Levels.Add(tl);
            return(tl.ID);
        }
Example #2
0
        public int GetActualSortedLevels(ref trueLevel[] l)
        {
            Update();
            int i = 0, j = 0;

            if (Levels.Count > 0)
            {
                l = new trueLevel[Levels.Count];
                int c = 0;
                for (i = 0; i < Levels.Count; i++)
                {
                    if (Levels[i].isActual())
                    {
                        l[c] = Levels[i];
                        c++;
                    }
                }
                Array.Resize <trueLevel>(ref l, c);
                //sort the array by Level2 price
                Array.Sort <trueLevel>(l, CompareLevels);
                return(c);
            }
            return(0);
        }
Example #3
0
        private static int CompareLevels(trueLevel x, trueLevel y)
        {
            int i = Math.Sign(x.PriceLevel2 - y.PriceLevel2);

            return(i);
        }