/// <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); }
/// <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 ); }
/// <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); }