请教下单模块

Discussion in 'CTP' started by skyline, Jun 8, 2011.

  1. 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);
    }
     
  2. google了下,应该是ORDER_REF的问题,我试试看

    jovebird
    Moderator

    Join Date: 2009-06-03
    Location: shanghai
    Posts: 124

    客户端只要保证orderref字段递增就行,递增幅度可以取任意整数值,且不要求每次的递增幅度相同。
     
  3. int iResult = pTraderUserApi->ReqOrderInsert(&req, ++iTraderSpiRequestID);
    需要返回时间呀
     
  4. 好像返回时间可以忽略不计,我增加ORDER_REF之后两个单子连续调用也没问题。