Пример #1
0
        public TDistance Distance(double X, double Y)
        {
            TDistance tdistance = new TDistance();
            int       index     = this.GetIndex(new DateTime((long)X));

            if (index == -1)
            {
                return((TDistance)null);
            }
            Quote  quote = this[index];
            double num   = Math.Abs(X - (double)quote.DateTime.Ticks);
            double val1  = Math.Abs(Y - quote.Ask);
            double val2  = Math.Abs(Y - quote.Bid);

            tdistance.dX = num;
            tdistance.dY = Math.Min(val1, val2);
            tdistance.X  = (double)quote.DateTime.Ticks;
            tdistance.Y  = Y;
            if (quote == null)
            {
                return((TDistance)null);
            }
            DateTime      dateTime      = new DateTime((long)tdistance.X);
            StringBuilder stringBuilder = new StringBuilder();

            this.toolTipFormat = "tooltipFormat";
//			stringBuilder.AppendFormat(this.toolTipFormat, "{0}", (object) dateTime.ToString(this.toolTipDateTimeFormat), (object) oK6F3TB73XXXGhdieP.wF6SgrNUO(278), (object) quote.Bid, (object) oK6F3TB73XXXGhdieP.wF6SgrNUO(288), (object) quote.Ask);
            tdistance.ToolTipText = stringBuilder.ToString();
            return(tdistance);
        }
Пример #2
0
        public TDistance Distance(double x, double y)
        {
            TDistance tdistance = new TDistance();
            double    num       = Math.Abs(this.fStopPrice);

            tdistance.X  = x;
            tdistance.Y  = num;
            tdistance.dX = x <(double)this.fCreationTime.Ticks || (this.fStatus != StopStatus.Active || x > (double)Clock.Now.Ticks) && x> (double) this.fCompletionTime.Ticks ? double.MaxValue : 0.0;
            tdistance.dY = Math.Abs(y - tdistance.Y);
            StringBuilder stringBuilder = new StringBuilder();

            if (!this.isFixedPrice)
            {
                if (this.fCreationTime.Second != 0 || this.fCreationTime.Minute != 0 || this.fCreationTime.Hour != 0)
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.fStatus).ToString(), (object)((object)this.fType).ToString(), "", (object)this.fLevel.ToString(this.fPosition.Instrument.PriceDisplay), "", (object)this.fPosition.Instrument.Symbol, (object)num.ToString(this.fPosition.Instrument.PriceDisplay), (object)this.fCreationTime);
                }
                else
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.fStatus).ToString(), (object)((object)this.fType).ToString(), "", (object)this.fLevel.ToString(this.fPosition.Instrument.PriceDisplay), "", (object)this.fPosition.Instrument.Symbol, (object)num.ToString(this.fPosition.Instrument.PriceDisplay), (object)this.fCreationTime.ToShortDateString());
                }
            }
            else if (this.fCreationTime.Second != 0 || this.fCreationTime.Minute != 0 || this.fCreationTime.Hour != 0)
            {
                stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.fStatus).ToString(), (object)((object)this.fType).ToString(), "", (object)this.fStopPrice.ToString(this.fPosition.Instrument.PriceDisplay), "", (object)this.fPosition.Instrument.Symbol, (object)num.ToString(this.fPosition.Instrument.PriceDisplay), (object)this.fCreationTime);
            }
            else
            {
                stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.fStatus).ToString(), (object)((object)this.fType).ToString(), "", (object)this.fStopPrice.ToString(this.fPosition.Instrument.PriceDisplay), "", (object)this.fPosition.Instrument.Symbol, (object)num.ToString(this.fPosition.Instrument.PriceDisplay), (object)this.fCreationTime.ToShortDateString());
            }
            tdistance.ToolTipText = ((object)stringBuilder).ToString();
            return(tdistance);
        }
Пример #3
0
        public TDistance Distance(double X, double Y)
        {
            TDistance tdistance = new TDistance();

            foreach (Trade trade in (DataArray)this)
            {
                double num1 = Math.Abs(X - (double)trade.DateTime.Ticks);
                double num2 = Math.Abs(Y - trade.Price);
                if (num1 < tdistance.dX && num2 < tdistance.dY)
                {
                    tdistance.dX = num1;
                    tdistance.dY = num2;
                    tdistance.X  = (double)trade.DateTime.Ticks;
                    tdistance.Y  = trade.Price;
                }
            }
            if (tdistance.dX == double.MaxValue || tdistance.dY == double.MaxValue)
            {
                return((TDistance)null);
            }
            DateTime      dateTime      = new DateTime((long)tdistance.X);
            StringBuilder stringBuilder = new StringBuilder();

//      stringBuilder.AppendFormat(this.toolTipFormat, (object) oK6F3TB73XXXGhdieP.wF6SgrNUO(60), (object) oK6F3TB73XXXGhdieP.wF6SgrNUO(84), (object) dateTime.ToString(this.toolTipDateTimeFormat), (object) tdistance.Y);
            tdistance.ToolTipText = ((object)stringBuilder).ToString();
            return(tdistance);
        }
Пример #4
0
        public TDistance Distance(double X, double Y)
        {
            TDistance tDistance = new TDistance();
            double    y         = this.fLevel;

            tDistance.X = X;
            tDistance.Y = y;
            if (X >= (double)this.CreationTime.Ticks && ((this.Status == TriggerStatus.Active && X <= (double)Clock.Now.Ticks) || X <= (double)this.CompletionTime.Ticks))
            {
                tDistance.dX = 0.0;
            }
            else
            {
                tDistance.dX = 1.7976931348623157E+308;
            }
            tDistance.dY = Math.Abs(Y - tDistance.Y);
            StringBuilder stringBuilder = new StringBuilder();

            if (this.CreationTime.Second != 0 || this.CreationTime.Minute != 0 || this.CreationTime.Hour != 0)
            {
                stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                {
                    this.fStatus.ToString(),
                    this.fType.ToString(),
                    " Trigger (",
                    this.fLevel.ToString(this.Signal.Instrument.PriceDisplay),
                    "): ",
                    this.fSeries.Name,
                    y.ToString(this.Signal.Instrument.PriceDisplay),
                    this.CreationTime
                });
            }
            else
            {
                stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                {
                    this.fStatus.ToString(),
                    this.fType.ToString(),
                    " Trigger (",
                    this.fLevel.ToString(this.Signal.Instrument.PriceDisplay),
                    "): ",
                    this.fSeries.Name,
                    y.ToString(this.Signal.Instrument.PriceDisplay),
                    this.CreationTime.ToShortDateString()
                });
            }
            tDistance.ToolTipText = stringBuilder.ToString();
            return(tDistance);
        }
Пример #5
0
 public void FormControls(string CLR)
 {
     if (CLR == "CLR")
     {
         Rno.Clear();
         RouteName.Clear();
         FAmount.Clear();
         cmbdestination.Text = "Select";
         cmbstartpoint.Text  = "Select";
         TTime.Clear();
         TDistance.Clear();
         Arrivaltime.Value      = Convert.ToDateTime(DateTime.Now);
         Departuretime.Value    = Convert.ToDateTime(DateTime.Now);
         Rno.Enabled            = false;
         RouteName.Enabled      = false;
         FAmount.Enabled        = false;
         cmbdestination.Enabled = false;
         cmbstartpoint.Enabled  = false;
         Arrivaltime.Enabled    = false;
         Departuretime.Enabled  = false;
         btnsave.Enabled        = false;
         btnedit.Enabled        = false;
         btndelete.Enabled      = false;
         btnadd.Enabled         = true;
         btnfind.Enabled        = true;
         btngenerate.Enabled    = false;
         Left1.Enabled          = false;
         Right1.Enabled         = false;
     }
     if (CLR == "Save")
     {
         RouteName.Enabled      = true;
         FAmount.Enabled        = true;
         cmbdestination.Enabled = true;
         cmbstartpoint.Enabled  = true;
         Arrivaltime.Enabled    = true;
         Departuretime.Enabled  = false;
         RouteName.Focus();
         btnsave.Enabled     = true;
         btnadd.Enabled      = false;
         btnfind.Enabled     = false;
         btndelete.Enabled   = false;
         btnedit.Enabled     = false;
         btngenerate.Enabled = true;
     }
 }
Пример #6
0
        public virtual TDistance Distance(double x, double y)
        {
            if (x < 0.0)
            {
                return(null);
            }
            TDistance tdistance = new TDistance();
            int       index1    = this.GetIndex(new DateTime((long)x), EIndexOption.Next);
            int       index2    = this.GetIndex(new DateTime((long)x), EIndexOption.Prev);

            if (index1 != -1)
            {
                DateTime dateTime = this.GetDateTime(index1);
                tdistance.dX = Math.Abs(x - (double)dateTime.Ticks);
                tdistance.dY = Math.Abs(y - this[dateTime]);
                tdistance.X  = (double)dateTime.Ticks;
                tdistance.Y  = this[dateTime];
            }
            if (index2 != -1)
            {
                DateTime dateTime = this.GetDateTime(index2);
                double   num1     = Math.Abs(x - (double)dateTime.Ticks);
                double   num2     = Math.Abs(y - this[dateTime]);
                if (num1 < tdistance.dX && num2 < tdistance.dY)
                {
                    tdistance.dX = num1;
                    tdistance.dY = num2;
                    tdistance.X  = (double)dateTime.Ticks;
                    tdistance.Y  = this[dateTime];
                }
            }
            if (tdistance.dX == double.MaxValue || tdistance.dY == double.MaxValue)
            {
                return(null);
            }
            DateTime      dateTime1     = new DateTime((long)tdistance.X);
            StringBuilder stringBuilder = new StringBuilder();

            if (this.fToolTipFormat != null && this.fToolTipDateTimeFormat != null)
            {
                stringBuilder.AppendFormat(this.fToolTipFormat, (object)this.fName, (object)this.fTitle, (object)dateTime1.ToString(this.fToolTipDateTimeFormat), (object)tdistance.Y);
            }
            tdistance.ToolTipText = ((object)stringBuilder).ToString();
            return(tdistance);
        }
Пример #7
0
        public TDistance Distance(double X, double Y)
        {
            TDistance tdistance = new TDistance();

            tdistance.X  = (double)this.DateTime.Ticks;
            tdistance.Y  = this.Price;
            tdistance.dX = Math.Abs(X - tdistance.X);
            tdistance.dY = Math.Abs(Y - tdistance.Y);
            StringBuilder stringBuilder = new StringBuilder();

            if (this.DateTime.Second != 0 || this.DateTime.Minute != 0 || this.DateTime.Hour != 0)
            {
                stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.Side).ToString(), (object)this.Instrument.Symbol, (object)this.Qty, (object)this.Price, (object)this.DateTime);
            }
            else
            {
                stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.Side).ToString(), (object)this.Instrument.Symbol, (object)this.Qty, (object)this.Price, (object)this.DateTime.ToShortDateString());
            }
            tdistance.ToolTipText = ((object)stringBuilder).ToString();
            return(tdistance);
        }
Пример #8
0
        public TDistance Distance(double x, double y)
        {
            TDistance tdistance = new TDistance();

            tdistance.X  = this.DateTime.Ticks;
            tdistance.Y  = this.Price;
            tdistance.dX = Math.Abs(x - tdistance.X);
            tdistance.dY = Math.Abs(y - tdistance.Y);
            StringBuilder sb = new StringBuilder();

            if (this.DateTime.Second != 0 || this.DateTime.Minute != 0 || this.DateTime.Hour != 0)
            {
                sb.AppendFormat(this.ToolTipFormat, "ffs", (object)((object)this.Side).ToString(), (object)this.Instrument.Symbol, (object)this.Price, (object)this.DateTime, (object)((object)this.Status).ToString());
            }
            else
            {
                sb.AppendFormat(this.ToolTipFormat, "fddsf", this.Side.ToString(), this.Instrument.Symbol, this.Price, (object)this.DateTime.ToShortDateString(), (object)((object)this.Status).ToString());
            }
            tdistance.ToolTipText = sb.ToString();
            return(tdistance);
        }
Пример #9
0
        public TDistance Distance(double X, double Y)
        {
            TDistance tdistance = new TDistance();
            double    num       = this.J3YAFHAWt0;

            tdistance.X  = X;
            tdistance.Y  = num;
            tdistance.dX = X <(double)this.CreationTime.Ticks || (this.Status != TriggerStatus.Active || X > (double)Clock.Now.Ticks) && X> (double) this.CompletionTime.Ticks ? double.MaxValue : 0.0;
            tdistance.dY = Math.Abs(Y - tdistance.Y);
            StringBuilder stringBuilder = new StringBuilder();

            if (this.CreationTime.Second != 0 || this.CreationTime.Minute != 0 || this.CreationTime.Hour != 0)
            {
                stringBuilder.AppendFormat(this.HKDAVnUw46, (object)((object)this.lh4APrSwVL).ToString(), (object)((object)this.k5kAXvwmyK).ToString(), "", (object)this.J3YAFHAWt0.ToString(this.Signal.Instrument.PriceDisplay), "", (object)this.fISADbUH9Z.Name, (object)num.ToString(this.Signal.Instrument.PriceDisplay), (object)this.CreationTime);
            }
            else
            {
                stringBuilder.AppendFormat(this.HKDAVnUw46, (object)((object)this.lh4APrSwVL).ToString(), (object)((object)this.k5kAXvwmyK).ToString(), "", (object)this.J3YAFHAWt0.ToString(this.Signal.Instrument.PriceDisplay), "", (object)this.fISADbUH9Z.Name, (object)num.ToString(this.Signal.Instrument.PriceDisplay), (object)this.CreationTime.ToShortDateString());
            }
            tdistance.ToolTipText = ((object)stringBuilder).ToString();
            return(tdistance);
        }
Пример #10
0
        public TDistance Distance(double X, double Y)
        {
            Transaction transaction1 = null;
            double      num1         = double.MaxValue;
            TDistance   tdistance    = new TDistance();

            foreach (Transaction transaction2 in this)
            {
                double num2 = Math.Abs(transaction2.DateTime.Ticks - X);
                if (num2 < num1)
                {
                    num1         = num2;
                    transaction1 = transaction2;
                }
            }
            if (transaction1 != null)
            {
                tdistance.X  = transaction1.DateTime.Ticks;
                tdistance.Y  = transaction1.Price;
                tdistance.dX = Math.Abs(X - tdistance.X);
                tdistance.dY = Math.Abs(Y - tdistance.Y);
                StringBuilder stringBuilder = new StringBuilder();
                if (transaction1.DateTime.Second != 0 || transaction1.DateTime.Minute != 0 || transaction1.DateTime.Hour != 0)
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, transaction1.Side.ToString(), transaction1.Instrument.Symbol, (object)transaction1.Qty, (object)transaction1.Price, (object)transaction1.DateTime);
                }
                else
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, transaction1.Side.ToString(), transaction1.Instrument.Symbol, (object)transaction1.Qty, (object)transaction1.Price, (object)transaction1.DateTime.ToShortDateString());
                }
                tdistance.ToolTipText = stringBuilder.ToString();
            }
            else
            {
                tdistance.dX = double.MaxValue;
                tdistance.dY = double.MaxValue;
            }
            return(tdistance);
        }
Пример #11
0
    public TDistance Distance(double X, double Y)
    {
        TDistance tDistance = new TDistance();

        tDistance.X  = (double)this.DateTime.Ticks;
        tDistance.Y  = this.fPrice;
        tDistance.dX = Math.Abs(X - tDistance.X);
        tDistance.dY = Math.Abs(Y - tDistance.Y);
        StringBuilder stringBuilder = new StringBuilder();

        if (this.DateTime.Second != 0 || this.DateTime.Minute != 0 || this.DateTime.Hour != 0)
        {
            stringBuilder.AppendFormat(this.toolTipFormat, new object[]
            {
                "Signal: ",
                this.Side.ToString(),
                this.Instrument.Symbol,
                this.Price,
                this.DateTime,
                this.Status.ToString()
            });
        }
        else
        {
            stringBuilder.AppendFormat(this.toolTipFormat, new object[]
            {
                "Signal: ",
                this.Side.ToString(),
                this.Instrument.Symbol,
                this.Price,
                this.DateTime.ToShortDateString(),
                this.Status.ToString()
            });
        }
        tDistance.ToolTipText = stringBuilder.ToString();
        return(tDistance);
    }
Пример #12
0
 public bool Add(TItem item, TDistance distance)
 {
     if (queue.Count >= MaxCount)
     {
         // If the distance of this item is less than the distance of the last item
         // in our neighbour list then pop that neighbour off and push this one on
         // otherwise don't even bother adding this item
         if (distance.CompareTo(queue.GetHighestPriority()) < 0)
         {
             queue.Dequeue();
             queue.Enqueue(item, distance);
             return(true);
         }
         else
         {
             return(false);
         }
     }
     else
     {
         queue.Enqueue(item, distance);
         return(true);
     }
 }
 public VertexWithDistanceAndEdge(TVertexId vertex, TDistance distance, TEdgeId edge)
 {
     this.Vertex   = vertex;
     this.Distance = distance;
     this.Edge     = edge;
 }
Пример #14
0
        public TDistance Distance(double X, double Y)
        {
            DateTime  now       = Clock.Now;
            TDistance tDistance = new TDistance();
            double    num       = Math.Abs(this.order.Price);

            tDistance.X = X;
            tDistance.Y = num;
            FIXExecutionReport fIXExecutionReport = null;

            if (this.order.Reports.Count != 0)
            {
                fIXExecutionReport = this.order.Reports[this.order.Reports.Count - 1];
            }
            if (fIXExecutionReport == null)
            {
                return(null);
            }
            if (this.order.OrdType == OrdType.Market && this.order.OrdStatus != OrdStatus.Filled)
            {
                return(null);
            }
            StringBuilder stringBuilder = null;

            if (this.order.OrdType == OrdType.Market)
            {
                tDistance.X   = (double)fIXExecutionReport.TransactTime.Ticks;
                tDistance.Y   = fIXExecutionReport.Price;
                tDistance.dX  = Math.Abs(X - tDistance.X);
                tDistance.dY  = Math.Abs(Y - tDistance.Y);
                stringBuilder = new StringBuilder();
                if (fIXExecutionReport.TransactTime.Second != 0 || fIXExecutionReport.TransactTime.Minute != 0 || fIXExecutionReport.TransactTime.Hour != 0)
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                    {
                        this.order.OrdStatus.ToString(),
                        this.order.Side.ToString(),
                        this.order.Instrument.Symbol,
                        this.order.OrderQty,
                        "Market ",
                        this.order.AvgPx,
                        fIXExecutionReport.TransactTime
                    });
                }
                else
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                    {
                        this.order.OrdStatus.ToString(),
                        this.order.Side.ToString(),
                        this.order.Instrument.Symbol,
                        this.order.OrderQty,
                        "Market ",
                        this.order.AvgPx,
                        fIXExecutionReport.TransactTime.ToShortDateString()
                    });
                }
            }
            if (this.order.OrdType == OrdType.Stop || this.order.OrdType == OrdType.StopLimit)
            {
                num         = Math.Abs(this.order.StopPx);
                tDistance.X = X;
                tDistance.Y = num;
                DateTime transactTime = this.order.Reports[0].TransactTime;
                if (X >= (double)transactTime.Ticks && ((this.order.OrdStatus != OrdStatus.Filled && this.order.OrdStatus != OrdStatus.Cancelled && this.order.OrdStatus != OrdStatus.Rejected && X <= (double)now.Ticks) || X <= (double)fIXExecutionReport.TransactTime.Ticks))
                {
                    tDistance.dX = 0.0;
                }
                else
                {
                    tDistance.dX = 1.7976931348623157E+308;
                }
                tDistance.dY  = Math.Abs(Y - tDistance.Y);
                stringBuilder = new StringBuilder();
                if (transactTime.Second != 0 || transactTime.Minute != 0 || transactTime.Hour != 0)
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                    {
                        this.order.OrdStatus.ToString(),
                        this.order.Side.ToString(),
                        this.order.Instrument.Symbol,
                        this.order.OrderQty,
                        "Stop At ",
                        num,
                        fIXExecutionReport.TransactTime
                    });
                }
                else
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                    {
                        this.order.OrdStatus.ToString(),
                        this.order.Side.ToString(),
                        this.order.Instrument.Symbol,
                        this.order.OrderQty,
                        "Stop At ",
                        num,
                        fIXExecutionReport.TransactTime.ToShortDateString()
                    });
                }
            }
            if (this.order.OrdType == OrdType.Limit || this.order.OrdType == OrdType.StopLimit)
            {
                num         = Math.Abs(this.order.Price);
                tDistance.X = X;
                tDistance.Y = num;
                DateTime transactTime2 = this.order.Reports[0].TransactTime;
                if (X >= (double)transactTime2.Ticks && ((this.order.OrdStatus != OrdStatus.Filled && this.order.OrdStatus != OrdStatus.Cancelled && this.order.OrdStatus != OrdStatus.Rejected && X <= (double)now.Ticks) || X <= (double)fIXExecutionReport.TransactTime.Ticks))
                {
                    tDistance.dX = 0.0;
                }
                else
                {
                    tDistance.dX = 1.7976931348623157E+308;
                }
                if (tDistance.dY > Math.Abs(Y - tDistance.Y))
                {
                    tDistance.dY  = Math.Abs(Y - tDistance.Y);
                    stringBuilder = new StringBuilder();
                    if (transactTime2.Second != 0 || transactTime2.Minute != 0 || transactTime2.Hour != 0)
                    {
                        stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                        {
                            this.order.OrdStatus.ToString(),
                            this.order.Side.ToString(),
                            this.order.Instrument.Symbol,
                            this.order.OrderQty,
                            "Limit At ",
                            num,
                            fIXExecutionReport.TransactTime
                        });
                    }
                    else
                    {
                        stringBuilder.AppendFormat(this.toolTipFormat, new object[]
                        {
                            this.order.OrdStatus.ToString(),
                            this.order.Side.ToString(),
                            this.order.Instrument.Symbol,
                            this.order.OrderQty,
                            "Limit At ",
                            num,
                            fIXExecutionReport.TransactTime.ToShortDateString()
                        });
                    }
                }
            }
            if (stringBuilder != null)
            {
                tDistance.ToolTipText = stringBuilder.ToString();
            }
            return(tDistance);
        }
Пример #15
0
        public TDistance Distance(double X, double Y)
        {
            DateTime  now       = Clock.Now;
            TDistance tdistance = new TDistance();
            double    num1      = Math.Abs(((FIXNewOrderSingle)this.order).Price);

            tdistance.X = X;
            tdistance.Y = num1;
            FIXExecutionReport fixExecutionReport = (FIXExecutionReport)null;

            if (this.order.Reports.Count != 0)
            {
                fixExecutionReport = (FIXExecutionReport)this.order.Reports[this.order.Reports.Count - 1];
            }
            if (fixExecutionReport == null)
            {
                return((TDistance)null);
            }
            if (((NewOrderSingle)this.order).OrdType == OrdType.Market && this.order.OrdStatus != OrdStatus.Filled)
            {
                return((TDistance)null);
            }
            StringBuilder stringBuilder = (StringBuilder)null;

            if (((NewOrderSingle)this.order).OrdType == OrdType.Market)
            {
                tdistance.X   = (double)fixExecutionReport.TransactTime.Ticks;
                tdistance.Y   = fixExecutionReport.Price;
                tdistance.dX  = Math.Abs(X - tdistance.X);
                tdistance.dY  = Math.Abs(Y - tdistance.Y);
                stringBuilder = new StringBuilder();
                if (fixExecutionReport.TransactTime.Second != 0 || fixExecutionReport.TransactTime.Minute != 0 || fixExecutionReport.TransactTime.Hour != 0)
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.order.OrdStatus).ToString(), (object)((object)((NewOrderSingle)this.order).Side).ToString(), (object)this.order.Instrument.Symbol, (object)((FIXNewOrderSingle)this.order).OrderQty, (object)"Market ", (object)this.order.AvgPx, (object)fixExecutionReport.TransactTime);
                }
                else
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.order.OrdStatus).ToString(), (object)((object)((NewOrderSingle)this.order).Side).ToString(), (object)this.order.Instrument.Symbol, (object)((FIXNewOrderSingle)this.order).OrderQty, (object)"Market ", (object)this.order.AvgPx, (object)fixExecutionReport.TransactTime.ToShortDateString());
                }
            }
            if (((NewOrderSingle)this.order).OrdType == OrdType.Stop || ((NewOrderSingle)this.order).OrdType == OrdType.StopLimit)
            {
                double num2 = Math.Abs(((FIXNewOrderSingle)this.order).StopPx);
                tdistance.X = X;
                tdistance.Y = num2;
                DateTime transactTime = this.order.Reports[0].TransactTime;
                tdistance.dX  = X <(double)transactTime.Ticks || (this.order.OrdStatus == OrdStatus.Filled || this.order.OrdStatus == OrdStatus.Cancelled || (this.order.OrdStatus == OrdStatus.Rejected || X > (double)now.Ticks)) && X> (double) fixExecutionReport.TransactTime.Ticks ? double.MaxValue : 0.0;
                tdistance.dY  = Math.Abs(Y - tdistance.Y);
                stringBuilder = new StringBuilder();
                if (transactTime.Second != 0 || transactTime.Minute != 0 || transactTime.Hour != 0)
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.order.OrdStatus).ToString(), (object)((object)((NewOrderSingle)this.order).Side).ToString(), (object)this.order.Instrument.Symbol, (object)((FIXNewOrderSingle)this.order).OrderQty, (object)"Stop At ", (object)num2, (object)fixExecutionReport.TransactTime);
                }
                else
                {
                    stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.order.OrdStatus).ToString(), (object)((object)((NewOrderSingle)this.order).Side).ToString(), (object)this.order.Instrument.Symbol, (object)((FIXNewOrderSingle)this.order).OrderQty, (object)"Stop At ", (object)num2, (object)fixExecutionReport.TransactTime.ToShortDateString());
                }
            }
            if (((NewOrderSingle)this.order).OrdType == OrdType.Limit || ((NewOrderSingle)this.order).OrdType == OrdType.StopLimit)
            {
                double num2 = Math.Abs(((FIXNewOrderSingle)this.order).Price);
                tdistance.X = X;
                tdistance.Y = num2;
                DateTime transactTime = this.order.Reports[0].TransactTime;
                tdistance.dX = X <(double)transactTime.Ticks || (this.order.OrdStatus == OrdStatus.Filled || this.order.OrdStatus == OrdStatus.Cancelled || (this.order.OrdStatus == OrdStatus.Rejected || X > (double)now.Ticks)) && X> (double) fixExecutionReport.TransactTime.Ticks ? double.MaxValue : 0.0;
                if (tdistance.dY > Math.Abs(Y - tdistance.Y))
                {
                    tdistance.dY  = Math.Abs(Y - tdistance.Y);
                    stringBuilder = new StringBuilder();
                    if (transactTime.Second != 0 || transactTime.Minute != 0 || transactTime.Hour != 0)
                    {
                        stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.order.OrdStatus).ToString(), (object)((object)((NewOrderSingle)this.order).Side).ToString(), (object)this.order.Instrument.Symbol, (object)((FIXNewOrderSingle)this.order).OrderQty, (object)"Limit At ", (object)num2, (object)fixExecutionReport.TransactTime);
                    }
                    else
                    {
                        stringBuilder.AppendFormat(this.toolTipFormat, (object)((object)this.order.OrdStatus).ToString(), (object)((object)((NewOrderSingle)this.order).Side).ToString(), (object)this.order.Instrument.Symbol, (object)((FIXNewOrderSingle)this.order).OrderQty, (object)"Limit At ", (object)num2, (object)fixExecutionReport.TransactTime.ToShortDateString());
                    }
                }
            }
            if (stringBuilder != null)
            {
                tdistance.ToolTipText = ((object)stringBuilder).ToString();
            }
            return(tdistance);
        }
Пример #16
0
 public VertexInfo(TDistance heuristicDistanceToTarget)
 {
     this.HeuristicDistanceToTarget = heuristicDistanceToTarget;
 }
Пример #17
0
 internal KNNSearchResult(int id, TItem item, TDistance distance)
 {
     Id       = id;
     Item     = item;
     Distance = distance;
 }