SendOrder(INSTRUMENT2, THOST_FTDC_D_Buy, THOST_FTDC_OF_Open, INSTRUMENT2_ASK1+1, 1); 调用一次没问题,多调用几次就出错,为什么? void SendOrder(TThostFtdcInstrumentIDType Instrument, TThostFtdcDirectionType DIRECTION, TThostFtdcOffsetFlagType OffsetFlag, TThostFtdcPriceType Price, int Volume) { CThostFtdcInputOrderField req; memset(&req, 0, sizeof(req)); ///经纪公司代码 strcpy_s(req.BrokerID, BROKER_ID); ///投资者代码 strcpy_s(req.InvestorID, INVESTOR_ID); ///合约代码 strcpy_s(req.InstrumentID, Instrument); ///报单引用 strcpy_s(req.OrderRef, ORDER_REF); ///用户代码 // TThostFtdcUserIDType UserID; ///报单价格条件: 限价 req.OrderPriceType = THOST_FTDC_OPT_LimitPrice; ///买卖方向: req.Direction = DIRECTION;//-- ///组合开平标志: 开仓 req.CombOffsetFlag[0] = OffsetFlag;//-- ///组合投机套保标志 req.CombHedgeFlag[0] = THOST_FTDC_HF_Speculation; ///价格 req.LimitPrice = Price; ///数量: 1 req.VolumeTotalOriginal = Volume;//-- ///有效期类型: 当日有效 req.TimeCondition = THOST_FTDC_TC_GFD; ///GTD日期 // TThostFtdcDateType GTDDate; ///成交量类型: 任何数量 req.VolumeCondition = THOST_FTDC_VC_AV; ///最小成交量: 1 req.MinVolume = 1; ///触发条件: 立即 req.ContingentCondition = THOST_FTDC_CC_Immediately; ///止损价 // TThostFtdcPriceType StopPrice; ///强平原因: 非强平 req.ForceCloseReason = THOST_FTDC_FCC_NotForceClose; ///自动挂起标志: 否 req.IsAutoSuspend = 0; ///业务单元 // TThostFtdcBusinessUnitType BusinessUnit; ///请求编号 // TThostFtdcRequestIDType RequestID; ///用户强评标志: 否 req.UserForceClose = 0; int iResult = pTraderUserApi->ReqOrderInsert(&req, ++iTraderSpiRequestID); }
google了下,应该是ORDER_REF的问题,我试试看 jovebird Moderator Join Date: 2009-06-03 Location: shanghai Posts: 124 客户端只要保证orderref字段递增就行,递增幅度可以取任意整数值,且不要求每次的递增幅度相同。