Ejemplo n.º 1
0
        /// <summary>
        /// Apply order details
        /// </summary>
        /// <param name="message"></param>
        /// <returns></returns>
        public bool ApplyOrderDetails(FIXMessage message)
        {
            bool bRetVal = true;

            //add details

            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESTickerMnemonic,m_sESTickerMnemonic);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESTickerSymbol,m_sESTickerSymbol);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESExchange, ESExchange);
            message.set_AsNumber(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESPriceFormatCode,m_lESPriceFormatCode);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagSecurityExchange, SecurityExchange);
            message.set_AsNumber(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagPutOrCall, m_nOptionType);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagSecurityType, CommodityType);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagSymbol,m_sSymbol);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESStrategyCode,m_sStrategyCode);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagSecurityID,m_sSecurityID);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagIDSource,m_sIDSource);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagCFICode,m_sCFICode);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagCurrency,m_sCurrency);
            message.set_AsNumber(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESDecimalPlaces,m_nESDecimalPlaces);
            message.set_AsDouble(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESUnitTickValue,m_dUnitTickValue);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESCombinedCommodityCode, m_sCombinedCommodityCode);
            message.set_AsString(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESClearingHouse, m_sClearingHouse);
            message.set_AsDouble(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESCompositeDelta, m_dCompositeDelta);
            message.set_AsDouble(MESSAGEFIX3Lib.FIXTagConstants.esFIXTagESShortOptAdjust, m_dESShortOptAdjust);

            ApplyRiskArray(message);

            return bRetVal;
        }
Ejemplo n.º 2
0
        //TODO: [16/04/07] YKC - Hack as i donot care about order types etc
        /// <summary>
        /// Generate a fix message
        /// </summary>
        /// <param name="MsgType"></param>
        /// <returns></returns>
        public FIXMessage CreateFixMessage(MESSAGEFIX3Lib.FIXMsgConstants MsgType)
        {
            FIXMessage message = new FIXMessage();
            if (Instrument != null)
            {
                message.MsgType = MsgType;
                Instrument.ApplyOrderDetails(message);

                AddConstants(message);
                //Add order details
                if (m_dPrice.HasValue)
                    message.set_AsDouble(FIXTagConstants.esFIXTagPrice, m_dPrice.Value);
                message.set_AsNumber(FIXTagConstants.esFIXTagOrderQty, (int)m_nOrderQty);

                message.set_AsString(FIXTagConstants.esFIXTagSide, m_sSide);
                message.set_AsString(FIXTagConstants.esFIXTagTimeInForce, GetFIXTimeInForce());
                message.set_AsString(FIXTagConstants.esFIXTagOrdType, GetFIXOrderType());
                if (m_iAccountID.HasValue)
                    message.set_AsNumber(FIXTagConstants.esFIXTagESAccountID, (int)m_iAccountID.Value);

                return message;
            }
            return null;
        }