示例#1
0
        /// <summary>
        /// ForceCloseReason枚举型转为TThostFtdcForceCloseReasonType枚举型
        /// </summary>
        /// <param name="fcr">ForceCloseReason枚举型</param>
        /// <returns></returns>
        public static TThostFtdcForceCloseReasonType ForceCloseReason_To_TThostFtdcForceCloseReasonType(ForceCloseReason fcr)
        {
            TThostFtdcForceCloseReasonType tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_NotForceClose;

            switch (fcr)
            {
            case ForceCloseReason.NotForceClose:
                break;

            case ForceCloseReason.LackDeposit:
                tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_LackDeposit;
                break;

            case ForceCloseReason.ClientOverPositionLimit:
                tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_ClientOverPositionLimit;
                break;

            case ForceCloseReason.MemberOverPositionLimit:
                tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_MemberOverPositionLimit;
                break;

            case ForceCloseReason.NotMultiple:
                tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_NotMultiple;
                break;

            case ForceCloseReason.Violation:
                tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_Violation;
                break;

            case ForceCloseReason.Other:
                tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_Other;
                break;

            case ForceCloseReason.PersonDeliv:
                tffcrt = TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_PersonDeliv;
                break;

            default:
                break;
            }
            return(tffcrt);
        }
示例#2
0
        /// <summary>
        /// 下预埋单
        /// </summary>
        public void SendParkedOrder(OrderField of)
        {
            //OrderRef如果没有填(null),则为""
            string _orderRef = (of.OrderRef != null ? of.OrderRef : string.Empty);
            //当日有效(默认)
            TThostFtdcTimeConditionType _timeCondition = (of.OrderFieldInstance.TimeCondition == 0 ? TThostFtdcTimeConditionType.THOST_FTDC_TC_GFD : of.OrderFieldInstance.TimeCondition);
            //立即执行
            TThostFtdcContingentConditionType _contingentCondition = (of.OrderFieldInstance.ContingentCondition == 0 ? TThostFtdcContingentConditionType.THOST_FTDC_CC_Immediately : of.OrderFieldInstance.ContingentCondition);
            //是否强平
            TThostFtdcForceCloseReasonType _forceCloseReason = (of.OrderFieldInstance.ForceCloseReason == 0 ? TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_NotForceClose : of.OrderFieldInstance.ForceCloseReason);
            //报单价格类型:默认是限价单
            TThostFtdcOrderPriceTypeType _orderPriceTypeType = (of.OrderFieldInstance.OrderPriceType == 0 ? TThostFtdcOrderPriceTypeType.THOST_FTDC_OPT_LimitPrice : of.OrderFieldInstance.OrderPriceType);
            //任何数量
            TThostFtdcVolumeConditionType _volumeCondition = (of.OrderFieldInstance.VolumeCondition == 0 ? TThostFtdcVolumeConditionType.THOST_FTDC_VC_AV : of.OrderFieldInstance.VolumeCondition);
            //方向
            TThostFtdcDirectionType _directionType = (of.Direction == 0 ? TThostFtdcDirectionType.THOST_FTDC_D_Buy : of.OrderFieldInstance.Direction);

            //默认是投机单:1
            string _combHedgeFlag = (of.CombHedgeFlag == 0 ? "1" : ((int)of.CombHedgeFlag).ToString());

            base.ReqParkedOrderInsert(
                BrokerID: this._broker,
                InvestorID: this._investor,
                InstrumentID: of.InstrumentID,
                OrderRef: _orderRef,
                CombHedgeFlag: _combHedgeFlag,
                CombOffsetFlag: ((int)of.CombOffsetFlag).ToString(),
                Direction: _directionType,
                VolumeTotalOriginal: of.VolumeTotalOriginal,
                ForceCloseReason: _forceCloseReason,
                ContingentCondition: _contingentCondition,
                VolumeCondition: _volumeCondition,
                LimitPrice: of.LimitPrice,
                IsSwapOrder: 0,
                MinVolume: 1,
                UserForceClose: of.UserForceClose,
                TimeCondition: _timeCondition,
                OrderPriceType: _orderPriceTypeType
                );
        }
示例#3
0
        /// <summary>
        /// 将TThostFtdcForceCloseReasonType枚举型转为ForceCloseReasonType枚举型
        /// </summary>
        /// <param name="tfcrt">TThostFtdcForceCloseReasonType枚举型</param>
        /// <returns></returns>
        public static ForceCloseReason TThostFtdcForceCloseReasonType_To_ForceCloseReason(TThostFtdcForceCloseReasonType tfcrt)
        {
            ForceCloseReason fcrt = ForceCloseReason.NotForceClose;

            switch (tfcrt)
            {
            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_NotForceClose:
                //fcrt = ForceCloseReasonType.NotForceClose;
                break;

            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_LackDeposit:
                fcrt = ForceCloseReason.LackDeposit;
                break;

            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_ClientOverPositionLimit:
                fcrt = ForceCloseReason.ClientOverPositionLimit;
                break;

            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_MemberOverPositionLimit:
                fcrt = ForceCloseReason.MemberOverPositionLimit;
                break;

            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_NotMultiple:
                fcrt = ForceCloseReason.NotMultiple;
                break;

            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_Violation:
                fcrt = ForceCloseReason.Violation;
                break;

            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_Other:
                fcrt = ForceCloseReason.Other;
                break;

            case TThostFtdcForceCloseReasonType.THOST_FTDC_FCC_PersonDeliv:
                fcrt = ForceCloseReason.PersonDeliv;
                break;

            default:
                break;
            }
            return(fcrt);
        }