Exemplo n.º 1
0
        public override void Paint()
        {
            Pen pen1   = new Pen(this.upColor);
            Pen pen2   = new Pen(this.downColor);
            int index1 = this.pGlJXklPGE.GetIndex(this.firstDate);
            int index2 = this.pGlJXklPGE.GetIndex(this.lastDate);

            if (index2 == -1 || index2 == -1)
            {
                return;
            }
            int width = Math.Max(2, (int)this.pad.IntervalWidth);

            for (int index3 = index1; index3 <= index2; ++index3)
            {
                int    num = this.pad.ClientX(this.pGlJXklPGE.GetDateTime(index3));
                PnF    pnF = this.pGlJXklPGE[index3];
                double low = pnF.Low;
                while (low < pnF.High)
                {
                    if (pnF.Kind == PnFKind.Down)
                    {
                        this.pad.Graphics.DrawEllipse(pen1, num - width / 2, this.pad.ClientY(low), width, this.pad.ClientY(low + pnF.BoxSize) - this.pad.ClientY(low));
                    }
                    else
                    {
                        this.pad.Graphics.DrawLine(pen2, num - width / 2, this.pad.ClientY(low), num + width / 2, this.pad.ClientY(low + pnF.BoxSize));
                        this.pad.Graphics.DrawLine(pen2, num + width / 2, this.pad.ClientY(low), num - width / 2, this.pad.ClientY(low + pnF.BoxSize));
                    }
                    low += pnF.BoxSize;
                }
            }
        }
Exemplo n.º 2
0
        public double OpenM(DateTime dateTime)
        {
            DateTime dateTime1 = new DateTime(dateTime.Year, dateTime.Month, 1);

            dateTime = dateTime1;
            int index = this.GetIndex(dateTime);

            if (index == -1)
            {
                index = this.GetIndex(dateTime, EIndexOption.Next);
            }
            if (index == -1)
            {
                return(-1.0);
            }
            PnF      pnF       = this[index];
            DateTime dateTime2 = this.GetDateTime(index);

            if (dateTime2.Year == dateTime1.Year && dateTime2.Month == dateTime1.Month)
            {
                return(pnF.Open);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 3
0
        public double OpenY(DateTime dateTime)
        {
            DateTime dateTime1 = new DateTime(dateTime.Year, 1, 1);

            dateTime = dateTime1;
            int index = this.GetIndex(dateTime);

            if (index == -1)
            {
                index = this.GetIndex(dateTime, EIndexOption.Next);
            }
            if (index == -1)
            {
                return(-1.0);
            }
            PnF pnF = this[index];

            if (this.GetDateTime(index).Year == dateTime1.Year)
            {
                return(pnF.Open);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 4
0
        public double CloseM(DateTime dateTime)
        {
            DateTime dateTime1 = new DateTime(dateTime.Year, dateTime.Month, 1);

            dateTime = dateTime1.AddMonths(1);
            int index = this.GetIndex(dateTime) - 1;

            if (index == -2)
            {
                index = this.GetIndex(dateTime, EIndexOption.Prev);
            }
            if (index == -1)
            {
                return(-1.0);
            }
            PnF      pnF       = this[index];
            DateTime dateTime2 = this.GetDateTime(index);

            if (dateTime2.Year == dateTime1.Year && dateTime2.Month == dateTime1.Month)
            {
                return(pnF.Close);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 5
0
        public double OpenW(DateTime dateTime)
        {
            DateTime dateTime1 = new DateTime(dateTime.Year, dateTime.Month, dateTime.Day);

            dateTime = dateTime1.AddDays((double)-(int)dateTime1.DayOfWeek);
            int index = this.GetIndex(dateTime);

            if (index == -1)
            {
                index = this.GetIndex(dateTime, EIndexOption.Next);
            }
            if (index == -1)
            {
                return(-1.0);
            }
            PnF      pnF       = this[index];
            DateTime dateTime2 = this.GetDateTime(index);

            if (((!(dateTime1 <= dateTime2) ? 0 : ((DayOfWeek) new DateTime(dateTime1.Year, dateTime1.Month, dateTime1.Day).Subtract(dateTime2).Days <= dateTime1.DayOfWeek ? 1 : 0)) | (!(dateTime1 > dateTime2) ? 0 : ((DayOfWeek) new DateTime(dateTime2.Year, dateTime2.Month, dateTime2.Day).Subtract(dateTime1).Days <= 7 - dateTime1.DayOfWeek ? 1 : 0))) != 0)
            {
                return(pnF.Open);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 6
0
        public double CloseY(DateTime dateTime)
        {
            DateTime dateTime1 = new DateTime(dateTime.Year, 1, 1);

            dateTime = dateTime1.AddYears(1);
            int index = this.GetIndex(dateTime) - 1;

            if (index == -2)
            {
                index = this.GetIndex(dateTime, EIndexOption.Prev);
            }
            if (index == -1)
            {
                return(-1.0);
            }
            PnF pnF = this[index];

            if (this.GetDateTime(index).Year == dateTime1.Year)
            {
                return(pnF.Close);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 7
0
        public double LowestLow()
        {
            PnF pnF = this.LowestLowPnF();

            if (pnF != null)
            {
                return(pnF.Low);
            }
            else
            {
                return(double.NaN);
            }
        }
Exemplo n.º 8
0
        public double HighestHigh()
        {
            PnF pnF = this.HighestHighPnF();

            if (pnF != null)
            {
                return(pnF.High);
            }
            else
            {
                return(double.NaN);
            }
        }
Exemplo n.º 9
0
        public double LowestLow(DateTime dateTime1, DateTime dateTime2)
        {
            PnF pnF = this.LowestLowPnF(dateTime1, dateTime2);

            if (pnF != null)
            {
                return(pnF.Low);
            }
            else
            {
                return(double.NaN);
            }
        }
Exemplo n.º 10
0
        public double HighestHigh(DateTime dateTime1, DateTime dateTime2)
        {
            PnF pnF = this.HighestHighPnF(dateTime1, dateTime2);

            if (pnF != null)
            {
                return(pnF.High);
            }
            else
            {
                return(double.NaN);
            }
        }
Exemplo n.º 11
0
        public double LowestLow(int index1, int index2)
        {
            PnF pnF = this.LowestLowPnF(index1, index2);

            if (pnF != null)
            {
                return(pnF.Low);
            }
            else
            {
                return(double.NaN);
            }
        }
Exemplo n.º 12
0
        public double HighestHigh(int index1, int index2)
        {
            PnF pnF = this.HighestHighPnF(index1, index2);

            if (pnF != null)
            {
                return(pnF.High);
            }
            else
            {
                return(double.NaN);
            }
        }
Exemplo n.º 13
0
        public double HighW(DateTime dateTime)
        {
            DateTime DateTime1 = dateTime.AddDays((double)(7 - dateTime.DayOfWeek)).Subtract(new TimeSpan(7, 0, 0, 0));
            DateTime DateTime2 = dateTime.AddDays((double)(7 - dateTime.DayOfWeek)).Subtract(new TimeSpan(1L));
            PnF      pnF       = this.HighestHighPnF(DateTime1, DateTime2);

            if (pnF.DateTime >= DateTime1 && pnF.DateTime <= DateTime2)
            {
                return(pnF.High);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 14
0
        public double HighY(DateTime dateTime)
        {
            DateTime DateTime1 = new DateTime(dateTime.Year, 1, 1);
            DateTime DateTime2 = new DateTime(dateTime.Year, 1, 1).AddYears(1).Subtract(new TimeSpan(1L));
            PnF      pnF       = this.HighestHighPnF(DateTime1, DateTime2);

            if (pnF.DateTime >= DateTime1 && pnF.DateTime <= DateTime2)
            {
                return(pnF.High);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 15
0
        public double LowM(DateTime dateTime)
        {
            DateTime DateTime1 = new DateTime(dateTime.Year, dateTime.Month, 1);
            DateTime DateTime2 = new DateTime(dateTime.Year, dateTime.Month, 1).AddMonths(1).Subtract(new TimeSpan(1L));
            PnF      pnF       = this.LowestLowPnF(DateTime1, DateTime2);

            if (pnF.DateTime >= DateTime1 && pnF.DateTime <= DateTime2)
            {
                return(pnF.Low);
            }
            else
            {
                return(-1.0);
            }
        }
Exemplo n.º 16
0
        public override Distance Distance(int x, double y)
        {
            Distance distance = new Distance();
            PnF      pnF      = this.pGlJXklPGE[this.pad.GetDateTime(x)];

            distance.DX = 0.0;
            if (y >= pnF.Low && y <= pnF.High)
            {
                distance.DY = 0.0;
            }
            if (distance.DX == double.MaxValue || distance.DY == double.MaxValue)
            {
                return((Distance)null);
            }
            StringBuilder stringBuilder = new StringBuilder();

            stringBuilder.AppendFormat(this.ToolTipFormat, this.barSeries.Name, this.barSeries.Title, (object)pnF.DateTime.ToString(this.barSeries.ToolTipDateTimeFormat), (object)pnF.High, (object)pnF.Low, (object)pnF.Open, (object)pnF.Close, (object)pnF.Volume);
            distance.ToolTipText = stringBuilder.ToString();
            return(distance);
        }
Exemplo n.º 17
0
        public PnF LowestLowPnF(int Index1, int Index2)
        {
//      if (this.Count <= 0)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(13058));
//      if (Index1 > Index2)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(13150));
//      if (Index1 < 0 || Index1 > this.Count - 1)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(13222));
//      if (Index2 < 0 || Index2 > this.Count - 1)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(13270));
            PnF pnF = this[Index1];

            for (int index = Index1 + 1; index <= Index2; ++index)
            {
                if (this[index].Low < pnF.Low)
                {
                    pnF = this[index];
                }
            }
            return(pnF);
        }
Exemplo n.º 18
0
        public PnF HighestHighPnF(int Index1, int Index2)
        {
//      if (this.Count <= 0)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(12794));
//      if (Index1 > Index2)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(12890));
//      if (Index1 < 0 || Index1 > this.Count - 1)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(12962));
//      if (Index2 < 0 || Index2 > this.Count - 1)
//        throw new ApplicationException(oK6F3TB73XXXGhdieP.wF6SgrNUO(13010));
            PnF pnF = this[Index1];

            for (int index = Index1 + 1; index <= Index2; ++index)
            {
                if (this[index].High > pnF.High)
                {
                    pnF = this[index];
                }
            }
            return(pnF);
        }
Exemplo n.º 19
0
 public void Add(PnF pnF)
 {
     this.fArray[pnF.DateTime] = pnF;
     this.EmitItemAdded(pnF.DateTime);
 }
Exemplo n.º 20
0
 public double LowW(PnF pnF)
 {
     return(this.LowW(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day)));
 }
Exemplo n.º 21
0
 public bool Contains(PnF pnF)
 {
     return(base.Contains(pnF.DateTime));
 }
Exemplo n.º 22
0
 public double OpenY(PnF pnF)
 {
     return(this.OpenY(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day)));
 }
Exemplo n.º 23
0
 public double OpenY(PnF pnF, int yearsAgo)
 {
     return(this.OpenY(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day).AddDays((double)-yearsAgo)));
 }
Exemplo n.º 24
0
 public double OpenM(PnF pnF, int monthsAgo)
 {
     return(this.OpenM(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day).AddMonths(-monthsAgo)));
 }
Exemplo n.º 25
0
 public double OpenW(PnF pnF, int weeksAgo)
 {
     return(this.OpenW(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day).AddDays((double)(-weeksAgo * 7))));
 }
Exemplo n.º 26
0
 public double HighD(PnF pnF)
 {
     return(this.HighD(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day)));
 }
Exemplo n.º 27
0
 public double CloseM(PnF pnF)
 {
     return(this.CloseM(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day)));
 }
Exemplo n.º 28
0
 public double CloseD(PnF pnF, int daysAgo)
 {
     return(this.CloseD(new DateTime(pnF.DateTime.Year, pnF.DateTime.Month, pnF.DateTime.Day).AddDays((double)-daysAgo)));
 }
Exemplo n.º 29
0
 public void Remove(PnF pnF)
 {
     this.fArray.Remove(pnF.DateTime);
 }