public override object GetField(Main.Common.Enums.Fields field)
        {
            ExecutionReportFields xrField = (ExecutionReportFields)field;

            if (xrField == ExecutionReportFields.LastReport)
            {
                return(LastReport);
            }
            else
            {
                return(base.GetField(field));
            }
        }
Exemplo n.º 2
0
        public override object GetField(Fields field)
        {
            ExecutionReportFields xrField = (ExecutionReportFields)field;


            if (xrField == ExecutionReportFields.PosId)
            {
                return(PosId);
            }
            else
            {
                return(ExecReportWrapper.GetField(field));
            }
        }
Exemplo n.º 3
0
        public override object GetField(Enums.Fields.Fields field)
        {
            ExecutionReportFields xrField = (ExecutionReportFields)field;

            if (xrField == ExecutionReportFields.ExecType)
            {
                return(ExecType.Rejected);
            }

            else if (xrField == ExecutionReportFields.OrdStatus)
            {
                return(OrdStatus.Rejected);
            }
            else if (xrField == ExecutionReportFields.OrdRejReason)
            {
                return(ExecutionReportFields.NULL);
            }
            else if (xrField == ExecutionReportFields.LeavesQty)
            {
                return(0);
            }
            else if (xrField == ExecutionReportFields.CumQty)
            {
                return(0);
            }
            else if (xrField == ExecutionReportFields.Text)
            {
                return(Error);
            }
            else if (xrField == ExecutionReportFields.TransactTime)
            {
                return(DateTime.Now);
            }
            else
            {
                return(ExecutionReportFields.NULL);
            }
        }
        public override object GetField(Fields field)
        {
            if (ExecutionReport == null)
            {
                return(ExecutionReportFields.NULL);
            }

            if (field == Fields.KEY)
            {
                return(Key);
            }
            else
            {
                ExecutionReportFields xrField = (ExecutionReportFields)field;

                if (xrField == ExecutionReportFields.OrderID)
                {
                    return(GetOrdId(ExecutionReport, QuickFix.Fields.Tags.OrderID));
                }
                else if (xrField == ExecutionReportFields.ClOrdID)
                {
                    return(GetOrdId(ExecutionReport, QuickFix.Fields.Tags.ClOrdID));
                }
                else if (xrField == ExecutionReportFields.OrigClOrdID)
                {
                    return(GetOrdId(ExecutionReport, QuickFix.Fields.Tags.OrigClOrdID));
                }
                else if (xrField == ExecutionReportFields.ExecType)
                {
                    return(GetExecType(ExecutionReport.GetChar(QuickFix.Fields.Tags.ExecType)));
                }
                else if (xrField == ExecutionReportFields.ExecID)
                {
                    return(ExecutionReport.GetString(QuickFix.Fields.Tags.ExecID));
                }
                else if (xrField == ExecutionReportFields.OrdStatus)
                {
                    return(GetOrdStatus(ExecutionReport.GetChar(QuickFix.Fields.Tags.OrdStatus)));
                }
                else if (xrField == ExecutionReportFields.OrdRejReason)
                {
                    return(FixHelper.GetNullIntFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.OrdRejReason));
                }
                else if (xrField == ExecutionReportFields.LeavesQty)
                {
                    return(ExecutionReport.GetInt(QuickFix.Fields.Tags.LeavesQty));
                }
                else if (xrField == ExecutionReportFields.CumQty)
                {
                    return(ExecutionReport.GetInt(QuickFix.Fields.Tags.CumQty));
                }
                else if (xrField == ExecutionReportFields.AvgPx)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.AvgPx));
                }
                else if (xrField == ExecutionReportFields.Commission)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.Commission));
                }
                else if (xrField == ExecutionReportFields.Text)
                {
                    return(ExecutionReport.GetField(QuickFix.Fields.Tags.Text));
                }
                else if (xrField == ExecutionReportFields.TransactTime)
                {
                    return(DateTime.Now);
                }
                else if (xrField == ExecutionReportFields.LastQty)
                {
                    return(FixHelper.GetNullIntFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.LastQty));
                }
                else if (xrField == ExecutionReportFields.LastPx)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.LastPx));
                }
                else if (xrField == ExecutionReportFields.LastMkt)
                {
                    return(FixHelper.GetNullFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.LastMkt));
                }


                else if (xrField == ExecutionReportFields.Symbol)
                {
                    return(FixHelper.GetNullFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.Symbol));
                }
                else if (xrField == ExecutionReportFields.OrderQty)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.OrderQty));
                }
                else if (xrField == ExecutionReportFields.CashOrderQty)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.CashOrderQty));
                }
                else if (xrField == ExecutionReportFields.OrdType)
                {
                    return(GetOrdType(ExecutionReport.GetChar(QuickFix.Fields.Tags.OrdType)));
                }
                else if (xrField == ExecutionReportFields.Price)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.Price));
                }
                else if (xrField == ExecutionReportFields.StopPx)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.StopPx));
                }
                else if (xrField == ExecutionReportFields.Currency)
                {
                    return(FixHelper.GetNullFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.Currency));
                }
                else if (xrField == ExecutionReportFields.ExpireDate)
                {
                    return(FixHelper.GetDateTimeFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.ExpireDate));
                }
                else if (xrField == ExecutionReportFields.MinQty)
                {
                    return(FixHelper.GetNullDoubleFieldIfSet(ExecutionReport, QuickFix.Fields.Tags.MinQty));
                }
                else if (xrField == ExecutionReportFields.Side)
                {
                    GetSide(ExecutionReport.GetChar(QuickFix.Fields.Tags.Side));
                }
                else if (xrField == ExecutionReportFields.QuantityType)
                {
                    return(QuantityType.SHARES);
                }
                else if (xrField == ExecutionReportFields.PriceType)
                {
                    return(PriceType.FixedAmount);
                }
                else if (xrField == ExecutionReportFields.Account)
                {
                    return(ExecutionReport.GetField(QuickFix.Fields.Tags.Account));
                }
                else if (xrField == ExecutionReportFields.ExecInst)
                {
                    return(ExecutionReport.GetField(QuickFix.Fields.Tags.ExecInst));
                }
            }

            return(ExecutionReportFields.NULL);
        }
        public override object GetField(Main.Common.Enums.Fields field)
        {
            ExecutionReportFields xrField = (ExecutionReportFields)field;

            if (ExecutionReport == null)
            {
                return(ExecutionReportFields.NULL);
            }

            if (xrField == ExecutionReportFields.ExecType)
            {
                return(GetExecTypeFromBitMexStatus(ExecutionReport.ExecType));
            }
            if (xrField == ExecutionReportFields.ExecID)
            {
                return(ExecutionReport.ExecID);
            }
            else if (xrField == ExecutionReportFields.OrdStatus)
            {
                return(GetOrdStatusFromBitMexStatus(ExecutionReport.OrdStatus));
            }
            else if (xrField == ExecutionReportFields.OrdRejReason)
            {
                return(GetOrdRejReasonFromBitMexStatus(ExecutionReport.OrdRejReason));
            }
            else if (xrField == ExecutionReportFields.LeavesQty)
            {
                return(ExecutionReport.LeavesQty);
            }
            else if (xrField == ExecutionReportFields.CumQty)
            {
                return(ExecutionReport.CumQty);
            }
            else if (xrField == ExecutionReportFields.AvgPx)
            {
                return(ExecutionReport.AvgPx);
            }
            else if (xrField == ExecutionReportFields.Commission)
            {
                return(ExecutionReport.Commission);
            }
            else if (xrField == ExecutionReportFields.Text)
            {
                return(ExecutionReport.Text);
            }
            else if (xrField == ExecutionReportFields.TransactTime)
            {
                return(ExecutionReport.TransactTime);
            }
            else if (xrField == ExecutionReportFields.LastQty)
            {
                return(ExecutionReport.LastQty);
            }
            else if (xrField == ExecutionReportFields.LastPx)
            {
                return(ExecutionReport.LastPx);
            }
            else if (xrField == ExecutionReportFields.LastMkt)
            {
                return(ExecutionReport.UnderlyingLastPx);
            }

            if (Order == null)
            {
                return(ExecutionReportFields.NULL);
            }

            if (xrField == ExecutionReportFields.OrderID)
            {
                return(Order.OrderId);
            }
            else if (xrField == ExecutionReportFields.ClOrdID)
            {
                return(Order.ClOrdId);
            }

            else if (xrField == ExecutionReportFields.Symbol)
            {
                return(Order.SymbolPair);
            }
            else if (xrField == ExecutionReportFields.OrderQty)
            {
                return(Order.OrderQty);
            }
            else if (xrField == ExecutionReportFields.CashOrderQty)
            {
                return(ExecutionReportFields.NULL);
            }
            else if (xrField == ExecutionReportFields.OrdType)
            {
                return(Order.OrdType);
            }
            else if (xrField == ExecutionReportFields.Price)
            {
                return(Order.Price);
            }
            else if (xrField == ExecutionReportFields.StopPx)
            {
                return(ExecutionReportFields.NULL);
            }
            else if (xrField == ExecutionReportFields.Currency)
            {
                return(Order.Currency);
            }
            else if (xrField == ExecutionReportFields.ExpireDate)
            {
                return(ExecutionReportFields.NULL);
            }
            else if (xrField == ExecutionReportFields.MinQty)
            {
                return(ExecutionReportFields.NULL);
            }
            else if (xrField == ExecutionReportFields.Side)
            {
                return(Order.Side);
            }
            else if (xrField == ExecutionReportFields.QuantityType)
            {
                return(QuantityType.CURRENCY);//In IB v1.0 we only work with SHARE orders
            }
            else if (xrField == ExecutionReportFields.PriceType)
            {
                return(PriceType.FixedAmount);//In IB v1.0 we only work with FIXED AMMOUNT orders
            }
            else if (xrField == ExecutionReportFields.Account)
            {
                return(Order.Account);//In IB v1.0 we only work with SHARE orders
            }
            return(ExecutionReportFields.NULL);
        }